Anpassung für vault hinzugefügt

This commit is contained in:
2026-10-05 11:54:31 +02:00
parent 5fbd0c1a61
commit 3ceae1bf83
10 changed files with 248 additions and 77 deletions
+29 -23
View File
@@ -9,23 +9,25 @@ lauffähigen Beispiel-Projekt. Alles in Python generiert und reproduzierbar.
```
ansible_präsentation/
├── ansible_praesentation.pptx # Die fertige Präsentation (21 Folien, 16:9)
├── create_presentation.py # Python-Skript, das die .pptx erzeugt
├── handout.md # Handout (Markdown-Quelle)
├── handout.docx # Handout (druckbar/editierbar, für OnlyOffice)
├── create_presentation.py # Python-Skript, das die .pptx erzeugt
├── README.md # Diese Übersicht
├── Dokumentation/
│ ├── ansible_praesentation.pptx # Die fertige Präsentation (23 Folien, 16:9)
│ ├── handout.md # Handout (Markdown-Quelle)
│ └── handout.docx # Handout (druckbar/editierbar, für OnlyOffice)
├── assets/
│ ├── ansible_mark_red.png # Ansible-Logo (rot) — Quelle: Wikimedia Commons
│ ├── ansible_mark_white.png # Ansible-Logo (weiß)
│ ├── ansible_logo.svg # Logo-Quelldatei (SVG)
│ └── architektur.png # Architektur-Diagramm (automatisch erzeugt)
└── Beispiel/ # Lauffähiges Beispiel-Playbook (siehe unten)
│ ├── ansible_mark_red.png # Ansible-Logo (rot) — Quelle: Wikimedia Commons
│ ├── ansible_mark_white.png # Ansible-Logo (weiß)
│ ├── ansible_logo.svg # Logo-Quelldatei (SVG)
│ └── architektur.png # Architektur-Diagramm (automatisch erzeugt)
└── Beispiel/ # Lauffähiges Beispiel-Playbook (siehe unten)
```
---
## 1. Die Präsentation (`ansible_praesentation.pptx`)
21 Folien, 16:9, in den Ansible-Brandfarben (Rot `#EE0000`, Anthrazit `#1A1918`).
23 Folien, 16:9, in den Ansible-Brandfarben (Rot `#EE0000`, Anthrazit `#1A1918`).
| # | Titel | Inhalt |
|---|-------|--------|
@@ -42,14 +44,16 @@ ansible_präsentation/
| 11 | Jinja2 | `{{ variable }}`, Filter, `.j2`-Templates |
| 12 | Gather Facts | Facts auslesen, Custom Facts, `gather_facts` |
| 13 | Variablen & Präzedenz | Quellen + Reihenfolge (wer gewinnt) |
| 14 | FQCN (Definition) | `namespace.collection.modul` |
| 15 | FQCN (Praxis) | Beispiele + Warum |
| 16 | Collections | Was sie sind (6 Bestandteile) |
| 17 | Collections nutzen | Galaxy, Installation, Struktur |
| 18 | Rollen (Konzept) | Wiederverwendbarkeit, Kapselung |
| 19 | Rollen (Struktur) | `roles/webserver/` Verzeichnisbaum |
| 20 | Praxisbeispiel | Playbook mit Rolle + Variablen |
| 21 | Zusammenfassung | Key-Takeaways + Quellen |
| 14 | Ansible Vault (Konzept) | AES-256, `$ANSIBLE_VAULT`-Header, sicher in Git |
| 15 | Ansible Vault (Praxis) | `encrypt_string` (!vault-Variable) + ganze Datei (`create`/`encrypt`/`view`/`edit`/`decrypt`), `--ask-vault-pass` |
| 16 | FQCN (Definition) | `namespace.collection.modul` |
| 17 | FQCN (Praxis) | Beispiele + Warum |
| 18 | Collections | Was sie sind (6 Bestandteile) |
| 19 | Collections nutzen | Galaxy, Installation, Struktur |
| 20 | Rollen (Konzept) | Wiederverwendbarkeit, Kapselung |
| 21 | Rollen (Struktur) | `roles/webserver/` Verzeichnisbaum |
| 22 | Praxisbeispiel | Playbook mit Rolle + Variablen |
| 23 | Zusammenfassung | Key-Takeaways + Quellen |
**Design-Hinweis:** Die Präsentation nutzt die Schriftarten **Carlito** (Body)
und **DejaVu Sans Mono** (Code), da Calibri/Consolas auf Linux oft fehlen und
@@ -87,13 +91,15 @@ Kompakte Referenz mit:
3. Jinja2 (Variablen auflösen, Filter, `.j2`)
4. Gather Facts
5. Wo Variablen definiert werden
6. Variablen-Präzedenz (Auflösungs-Reihenfolge)
7. Module & FQCN
8. ansible.cfg (Suchreihenfolge + Parameter)
9. Vollständiges Beispiel
6. Ansible Vault (Variable per `!vault` + ganze Datei)
7. Variablen-Präzedenz (Auflösungs-Reihenfolge)
8. Module & FQCN
9. ansible.cfg (Suchreihenfolge + Parameter)
10. Vollständiges Beispiel
Das `.docx` wird aus dem `.md` per pandoc erzeugt:
```bash
cd Dokumentation
pandoc handout.md -o handout.docx
```
@@ -116,7 +122,7 @@ Die Struktur zeigt:
- `roles/webserver/` mit tasks, handlers, templates, defaults, vars, meta
- Variablen-Präzedenz: `defaults` (80) → `host_vars` (8080) → `-e` (gewinnt)
- Jinja2-Templates (`nginx.conf.j2`, `index.html.j2` mit Schleife + Filter)
- Facts (`ansible_distribution`, `ansible_hostname`, …)
- Facts (`ansible_facts['distribution']`, `ansible_facts['hostname']`, …)
- FQCN (`ansible.builtin.*`)
- `connection: local` — läuft direkt auf dem Rechner, kein SSH (localhost ist kein echter Host)