salt-bootstrap/strap.sh

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."