You've already forked ansible-role-act-runner
2.0 KiB
2.0 KiB
inclusion
| inclusion |
|---|
| always |
Ansible Best Practices für Act Runner Role
Allgemeine Prinzipien
Idempotenz
- Alle Tasks müssen idempotent sein - mehrfache Ausführung führt zum gleichen Ergebnis
- Verwende
changed_whenundfailed_whenfür präzise Zustandskontrolle - Nutze
createsParameter bei command/shell Tasks wo möglich
Variablen und Namenskonventionen
- Alle Variablen beginnen mit
act_runner_als Präfix - Verwende aussagekräftige Namen:
act_runner_config_filestattconfig_file - Dokumentiere alle Variablen mit
## @paramKommentaren - Setze sinnvolle Defaults in
defaults/main.yaml
Plattform-Unterstützung
- Verwende OS-spezifische Variablen in
vars/Verzeichnis - Nutze
ansible_factsfür Plattform-Erkennung - Teste auf allen unterstützten Distributionen
Task-Organisation
Struktur
- name: Beschreibender Task-Name
ansible.builtin.module_name:
parameter: value
register: variable_name
when: condition
notify: handler_name
Fehlerbehandlung
- Verwende
failed_whenfür spezifische Fehlerbedingungen - Registriere wichtige Outputs mit
register - Nutze
assertfür Eingabevalidierung
Handler
- Ein Handler pro Service-Aktion
- Verwende
systemdModul für Service-Management - Handler sollten idempotent sein
Sicherheit
Berechtigungen
- Setze explizite Dateiberechtigungen (
mode) - Verwende dedizierte Benutzer/Gruppen
- Minimiere privilegierte Operationen
Secrets
- Keine Secrets in Defaults oder Variablen
- Verwende Ansible Vault für sensible Daten
- Dokumentiere erforderliche Secrets klar
Testing und Qualität
Lint-Regeln
- Befolge
.ansible-lintKonfiguration für Ansible Dateien. - Verwende FQCN (Fully Qualified Collection Names)
- Keine deprecated Module verwenden
- Befolge
.markdownliny.yamlKonfiguration für Markdown Dateien.
Dokumentation
- Jeder Task braucht einen aussagekräftigen Namen
- Dokumentiere komplexe Logik mit Kommentaren
- README automatisch aus Variablen generieren