This commit is contained in:
DerLinkman
2026-10-17 17:16:53 +02:00
parent ceda1ae4a6
commit 7abcd14c94
11 changed files with 93 additions and 25 deletions
+30 -2
View File
@@ -33,13 +33,41 @@ gestartet werden können.
### Docker-Ausführungsumgebung
Damit Playbooks nicht lokal installiert werden müssen, liefert das Repository
ein fertiges Docker-Image. `execute.sh` erstellt ein IPv6-fähiges Bridge-Netzwerk,
startet einen interaktiven Container und mountet das Repository nach `/ansible`:
ein fertiges Docker-Image. Das Image lässt sich vom Repository-Verzeichnis aus
bauen:
```bash
docker build -t ansible:deb13 docker/
```
`execute.sh` erstellt ein IPv6-fähiges Bridge-Netzwerk, startet einen interaktiven
Container und mountet das Repository nach `/ansible`. Das lokale SSH-Verzeichnis
`~/.ssh` des aufrufenden Benutzers wird schreibgeschützt nach `/root/.ssh`
eingebunden. Damit verwendet SSH im Container deine lokalen Standard-Keys
(z. B. `id_ed25519` oder `id_rsa`) und eine vorhandene SSH-Konfiguration:
```bash
./execute.sh
```
Ein anderes lokales Schlüsselverzeichnis kann über `SSH_KEY_DIR` angegeben
werden (Standard: `$HOME/.ssh`). Das Verzeichnis muss vorhanden und lesbar sein:
```bash
SSH_KEY_DIR=/pfad/zu/ssh ./execute.sh
```
Bei einem abweichenden Key-Dateinamen gibst du im Container beispielsweise
`--private-key /root/.ssh/mein_key` beim Ansible-Aufruf an. Pfade in deiner
SSH-Konfiguration müssen im Container erreichbar sein, z. B.
`IdentityFile ~/.ssh/mein_key`. Für passwortgeschützte Keys kannst du im
Container einen SSH-Agent starten und den Key laden:
```bash
eval "$(ssh-agent -s)"
ssh-add /root/.ssh/id_ed25519
```
Im Container stehen Aliase wie `ap` (ansible-playbook), `ag` (ansible-galaxy)
und `av` (ansible-vault) zur Verfügung. Das Image wird über
`docker/Dockerfile` gebaut, die benötigten Collections werden beim Build