Ansible Playbooks

Zweck: Das Infrastruktur-Repository setzt Ansible Playbooks für Konfigurationsmanagement und Deployment ein — wiederholbar, versioniert und auf die Ferrosoft Infrastruktur zugeschnitten.

Zielgruppe: Administrator mit SSH-Zugriff auf den Root-Account

Vorbedingungen

  • SSH-Zugriff auf die Zielmaschine ist vorhanden.
  • Der SSH-Schlüssel ist im SSH-Agent geladen.

Verfügbare Playbooks

  • bootstrap.yml: Setzt Zeitzone und Lokalisierung, konfiguriert SSH, sudo, Firewall, etckeeper und Systemdienste, installiert Basispakete.
  • update-os.yml: Spielt Betriebssystem-Updates ein und richtet unbeaufsichtigte Aktualisierungen ein.
  • reboot.yml: Startet den Server neu. Nach update-os.yml obligatorisch — Kernel-Updates werden erst nach einem Reboot aktiv.
  • platform.yml: Deployt die Ferrosoft Plattform (Emiflow): kopiert Konfigurationsdateien auf den Server und startet alle Dienste, einschließlich Datenbank und Webserver.

Wrapper-Skript für ansible-playbook

Das Skript ansible/ansible-playbook im Infrastruktur-Repository ist ein Wrapper um das echte ansible-playbook. Es nimmt das zusätzliche Argument --host entgegen, über das der Ziel-Hostname übergeben wird. Alle weiteren Argumente werden unverändert durchgereicht. Das korrekte --vault-id-Argument wird automatisch gesetzt.

Playbooks ausführen

  1. SSH-Schlüssel in den Agent laden, falls noch nicht geschehen:

    ssh-add
    
  2. Im Infrastruktur-Repository ins Unterverzeichnis ansible wechseln:

    cd ansible
    
  3. Gewünschte Playbooks ausführen. Ersetzen Sie xxx durch den Hostnamen der Zielmaschine:

    uv run ./ansible-playbook --host "xxx" playbooks/bootstrap.yml