Initial: Salt Minion Installationsskript
- install-minion.sh: Automatische Minion-Installation mit Kundennummer - Keine sensiblen Daten (keine internen IPs, keine Credentials)
This commit is contained in:
commit
3509e8d8bb
27
README.md
Normal file
27
README.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# cynfo Salt Minion Setup
|
||||||
|
|
||||||
|
Installationsskript fuer Salt Minions in cynfo-Kundenumgebungen.
|
||||||
|
|
||||||
|
## Verwendung
|
||||||
|
|
||||||
|
Als root auf dem Zielserver ausfuehren:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -skO https://git.cynfo.net/christian/salt-public/raw/branch/main/install-minion.sh
|
||||||
|
bash install-minion.sh <KUNDENNUMMER>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Parameter
|
||||||
|
|
||||||
|
- **KUNDENNUMMER** — cynfo Kundennummer (z.B. K100163)
|
||||||
|
|
||||||
|
### Was passiert
|
||||||
|
|
||||||
|
1. Salt Minion wird installiert (Debian/Ubuntu)
|
||||||
|
2. Salt Master wird konfiguriert
|
||||||
|
3. Kundennummer wird als Salt Grain gesetzt
|
||||||
|
4. Minion wird gestartet
|
||||||
|
|
||||||
|
### Danach
|
||||||
|
|
||||||
|
Key-Akzeptanz durch den Administrator auf dem Salt Master.
|
||||||
64
install-minion.sh
Normal file
64
install-minion.sh
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Salt Minion Installation fuer cynfo-Kundenserver
|
||||||
|
# Verwendung: bash install-minion.sh <KUNDENNUMMER>
|
||||||
|
# Beispiel: bash install-minion.sh K100163
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
KUNDE=$1
|
||||||
|
SALT_MASTER="salt.cynfo.net"
|
||||||
|
|
||||||
|
if [ -z "$KUNDE" ]; then
|
||||||
|
echo "Fehler: Kundennummer angeben!"
|
||||||
|
echo "Verwendung: bash install-minion.sh <KUNDENNUMMER>"
|
||||||
|
echo "Beispiel: bash install-minion.sh K100163"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "=== Salt Minion Installation ==="
|
||||||
|
echo "Kunde: $KUNDE"
|
||||||
|
echo "Salt Master: $SALT_MASTER"
|
||||||
|
echo "Hostname: $(hostname)"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Detect OS
|
||||||
|
if [ -f /etc/debian_version ]; then
|
||||||
|
OS="debian"
|
||||||
|
echo "OS: Debian/Ubuntu erkannt"
|
||||||
|
elif [ -f /etc/redhat-release ]; then
|
||||||
|
OS="rhel"
|
||||||
|
echo "OS: RHEL/CentOS erkannt"
|
||||||
|
else
|
||||||
|
echo "Fehler: Unbekanntes OS"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install Salt Minion
|
||||||
|
if [ "$OS" = "debian" ]; then
|
||||||
|
apt-get install -y gnupg2 curl >/dev/null 2>&1
|
||||||
|
curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public | gpg --dearmor -o /etc/apt/keyrings/salt-archive-keyring.gpg
|
||||||
|
echo 'deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg] https://packages.broadcom.com/artifactory/saltproject-deb/ stable main' > /etc/apt/sources.list.d/salt.list
|
||||||
|
apt-get update >/dev/null 2>&1
|
||||||
|
apt-get install -y salt-minion
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Configure Master
|
||||||
|
cat > /etc/salt/minion.d/master.conf << EOF
|
||||||
|
master: $SALT_MASTER
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Set Grains (Kundennummer)
|
||||||
|
cat > /etc/salt/grains << EOF
|
||||||
|
kunde: $KUNDE
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Restart Minion
|
||||||
|
systemctl enable salt-minion
|
||||||
|
systemctl restart salt-minion
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Fertig ==="
|
||||||
|
echo "Minion installiert und gestartet."
|
||||||
|
echo "Grain 'kunde: $KUNDE' gesetzt."
|
||||||
|
echo ""
|
||||||
|
echo "Naechster Schritt: Salt Master kontaktieren fuer Key-Akzeptanz."
|
||||||
Loading…
x
Reference in New Issue
Block a user