commit 3509e8d8bb8bf472bd5ae7005a195986dbb19c23 Author: cynfo3000 Date: Sun Feb 22 20:00:56 2026 +0000 Initial: Salt Minion Installationsskript - install-minion.sh: Automatische Minion-Installation mit Kundennummer - Keine sensiblen Daten (keine internen IPs, keine Credentials) diff --git a/README.md b/README.md new file mode 100644 index 0000000..16b45b8 --- /dev/null +++ b/README.md @@ -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 +``` + +### 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. diff --git a/install-minion.sh b/install-minion.sh new file mode 100644 index 0000000..9f017b6 --- /dev/null +++ b/install-minion.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# Salt Minion Installation fuer cynfo-Kundenserver +# Verwendung: bash install-minion.sh +# 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 " + 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."