No description
Find a file
Stefan Lindecke 99a23e7c22 roles/instances: umfassende Erweiterung und Modernisierung
- Erweiterte Defaults: Neue konfigurierbare Variablen für PHP-FPM, Pfade,
  MySQL-Einstellungen, Log-Rotation und Features
- Variablen statt hardcodierte Werte: Alle Templates und Tasks verwenden
  nun konfigurierbare Variablen mit sinnvollen Defaults
- Neue Features: Log-Rotation, Cron-Verwaltung, Monitoring-Endpoints,
  SSL-Vorbereitung
- Code-Modernisierung: loop statt with_items, loop_control für bessere
  Ausgaben, Handler-Fixes (php-fpm reload)
- Bug-Fixes: charset -> encoding in mysql_db, Template-Fehler behoben
- Dokumentation: README.md mit vollständiger Variablen-Dokumentation

Breaking Changes: Keine - vollständig abwärtskompatibel
Impact: Neue Features können optional per Feature-Flags aktiviert werden
2025-12-20 15:19:37 +01:00
.ansible Add AGENTS.md and commit pending changes 2025-11-21 13:18:41 +01:00
host_vars roles/provisioning: Umfassende Verbesserungen und Sicherheitshärtung 2025-11-21 17:36:01 +01:00
inventory roles/instances: umfassende Erweiterung und Modernisierung 2025-12-20 15:19:37 +01:00
molecule/_commons initial 2025-05-21 13:10:32 +02:00
roles roles/instances: umfassende Erweiterung und Modernisierung 2025-12-20 15:19:37 +01:00
scripts Add scripts/render_instances.py to render server/instance overview as SVG or HTML without external deps 2025-11-21 15:18:16 +01:00
sshKeys updates 2025-07-02 11:28:12 +02:00
vendor/roles/powerdns.pdns initial 2025-05-21 13:10:32 +02:00
.gitignore Update provisioning role: Caddy configuration, deprecation fixes, webserver group conditions 2025-12-20 13:43:54 +01:00
AGENTS.md Docs: document unified instances + server aliases and Vault workflow (locations, key pattern, run commands) 2025-11-21 15:15:51 +01:00
ansible.cfg Add updates role with hosts file generation and DNSControl updates 2025-12-20 12:47:00 +01:00
create_instances.yml roles/provisioning: Umstellung auf Traefik und Apache 2025-11-21 17:14:27 +01:00
mail-config.yml initial 2025-05-21 13:10:32 +02:00
postfix_setup.yml initial 2025-05-21 13:10:32 +02:00
README.md roles/provisioning: Umstellung auf Traefik und Apache 2025-11-21 17:14:27 +01:00
server-install.yml roles/provisioning: Umfassende Verbesserungen und Sicherheitshärtung 2025-11-21 17:36:01 +01:00
server-uninstall.yml initial 2025-05-21 13:10:32 +02:00
server-update.yml Add updates role with hosts file generation and DNSControl updates 2025-12-20 12:47:00 +01:00
share_sshkeys.yml initial 2025-05-21 13:10:32 +02:00
unattendes.yml roles/provisioning: Umstellung auf Traefik und Apache 2025-11-21 17:14:27 +01:00

Ansible Server Repository

This repository manages server instances and roles using a unified configuration.

Quick start

  • Define server aliases and host mapping in inventory/vars/servers.yml.
  • Add instances to inventory/instance_vars/instances.yml with server: <alias> and reference passwords as {{ mysql_passwords['user__domain'] }}.
  • Store MySQL passwords in the vaulted file inventory/group_vars/all/mysql_passwords.yml using the key pattern username__domain.

Run

  • All hosts: ansible-playbook -i inventory/hosts create_instances.yml --check --diff
  • With Vault prompt: --ask-vault-pass or with file: --vault-password-file .vault_pass.txt
  • Limit to one host: -l sv01.server.ktrion.de

Key files

  • create_instances.yml filters instances per host by resolved alias.
  • inventory/vars/servers.yml holds aliases and FQDN mappings.
  • inventory/instance_vars/instances.yml is the single source of instances.
  • inventory/group_vars/all/mysql_passwords.yml contains vaulted MySQL passwords.

Contributing

  • Keep playbooks idempotent and use FQCN modules (ansible.builtin.*).
  • Validate with --check --diff; lint with ansible-lint and yamllint if available.