45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Define the Salt Master address
|
|
SALT_MASTER="ingress.nixc.us"
|
|
|
|
# Step 1: Ensure /etc/salt/minion.d/ directory exists
|
|
echo "Ensuring /etc/salt/minion.d/ directory exists..."
|
|
mkdir -p /etc/salt/minion.d
|
|
|
|
# Step 2: Add configuration for the master in minion.d
|
|
echo "Adding master configuration to /etc/salt/minion.d/master.conf..."
|
|
cat <<EOF > /etc/salt/minion.d/master.conf
|
|
master: $SALT_MASTER
|
|
EOF
|
|
|
|
# Add additional configuration files as needed
|
|
echo "Adding custom configurations..."
|
|
cat <<EOF > /etc/salt/minion.d/custom.conf
|
|
# Example custom configuration
|
|
grains:
|
|
roles:
|
|
- webserver
|
|
EOF
|
|
|
|
# Step 3: Download the Salt Bootstrap Script
|
|
echo "Downloading Salt Bootstrap Script..."
|
|
curl -L https://github.com/saltstack/salt-bootstrap/releases/latest/download/bootstrap-salt.sh -o /tmp/install_salt.sh
|
|
|
|
# Step 4: Make the script executable
|
|
chmod +x /tmp/install_salt.sh
|
|
|
|
# Step 5: Run the Bootstrap Script with specified options
|
|
echo "Installing Salt Minion and configuring master..."
|
|
sh /tmp/install_salt.sh -A "$SALT_MASTER" -P -x python3 stable
|
|
|
|
# Step 6: Restart the Salt Minion service
|
|
echo "Restarting Salt Minion service..."
|
|
systemctl restart salt-minion
|
|
|
|
# Step 7: Check Salt Minion service status
|
|
echo "Checking Salt Minion service status..."
|
|
systemctl status salt-minion --no-pager
|
|
|
|
# Script completed
|
|
echo "Salt Minion setup completed." |