Ansible Provisioner: Vagrant (DE)
Ziel
Ansible vom Host aus als Vagrant-Provisioner.
Ansible Provisioner ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
Dateien
Vagrantfile: deklarativer Vertrag für Box, Provider, Netzwerk, Sync und Provisioningscripts/provision.sh: idempotenter Beispiel-Provisionerscripts/verify.sh: lokale Prüfungen im Lab-Kontextconfig/box-policy.yaml: Box- und Provider-Policybaseline.json: maschinenlesbare Erwartung für Review und CIrun.sh: nicht-destruktiver Runner ohne VM-Start
Ablauf
./run.sh
find work/evidence -maxdepth 1 -type f -print
Reviewpunkte
- Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Welche Ports, privaten Netze oder öffentlichen Netze werden geöffnet?
- Welche Dateien werden zwischen Host und Gast synchronisiert?
- Welche Provisioner laufen mit root-Rechten und sind sie idempotent?
- Welche Plugins sind nötig und wie werden sie versioniert?
- Welche Host-Ressourcen belegt die Umgebung bei vagrant up?
- Wie sieht der Recovery-Pfad bei beschädigter VM, Box-Regression oder SSH-Fehler aus?
Vagrantfile-Ausschnitt
Vagrant.configure("2") do |config|
config.vm.box = ENV.fetch("VAGRANT_WORKSHOP_BOX", "bento/ubuntu-24.04")
config.vm.network "forwarded_port", guest: 8080, host: 18080, host_ip: "127.0.0.1"
config.vm.provision "shell", path: "scripts/provision.sh", privileged: false
end
Sicherheitsnotizen
- Die Beispielbox ist ein austauschbarer Laborwert. Für echte Teams muss eine gepflegte Box mit Version, Quelle und Freigabe dokumentiert werden.
host_ip: "127.0.0.1"verhindert, dass Portweiterleitungen ungeprüft im LAN sichtbar werden.- Synced folders dürfen keine SSH-Schlüssel, Tokens,
.env-Dateien oder Kundendaten enthalten. - Provisioner müssen wiederholbar sein; einmalige Shell-Hacks sind kein Betriebsstandard.
Aufgaben
Aufgabe 01: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 02: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 03: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 04: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 05: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 06: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 07: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 08: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 09: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 10: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 11: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 12: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 13: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 14: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 15: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 16: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 17: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 18: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 19: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 20: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 21: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 22: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 23: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 24: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 25: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 26: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 27: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 28: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 29: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 30: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 31: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 32: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 33: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 34: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 35: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 36: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 37: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 38: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 39: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 40: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 41: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 42: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Aufgabe 43: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Prüfe, wo dieses Muster im Beispiel umgesetzt oder bewusst dokumentiert ist.
- Führe
./run.shaus und öffne die Evidence-Dateien. - Notiere eine Verbesserung am
Vagrantfileoder an der Policy. - Begründe, ob die Änderung vor
vagrant upreviewed werden muss.
Praxisanhang: Ansible Provisioner Detailkarten
Die folgenden Karten sind als Wiederholungs-, Review- und Coachingmaterial gedacht. Jede Karte hat einen klaren Vagrant-Bezug und kann als kurze Übung, Pairing-Frage oder Pull-Request-Kommentar genutzt werden.
Karte 001: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Kontext: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant init— erstellt ein initiales Vagrantfile für eine Box. - Reviewfrage: Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 002: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Kontext: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant validate— prüft die Vagrantfile-Struktur, ohne eine VM zu starten. - Reviewfrage: Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 003: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Kontext: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant up— erstellt und startet die konfigurierte Umgebung. - Reviewfrage: Welche Ports, privaten Netze oder öffentlichen Netze werden geöffnet?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 004: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Kontext: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant status— zeigt den lokalen VM-Zustand. - Reviewfrage: Welche Dateien werden zwischen Host und Gast synchronisiert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 005: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Kontext: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant ssh— öffnet eine SSH-Sitzung zum Gast. - Reviewfrage: Welche Provisioner laufen mit root-Rechten und sind sie idempotent?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 006: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Kontext: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant ssh-config— zeigt die konkrete SSH-Konfiguration. - Reviewfrage: Welche Plugins sind nötig und wie werden sie versioniert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 007: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Kontext: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant provision— führt Provisioner erneut aus. - Reviewfrage: Welche Host-Ressourcen belegt die Umgebung bei vagrant up?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 008: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Kontext: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant reload— startet eine VM neu und liest Konfigurationsänderungen. - Reviewfrage: Wie sieht der Recovery-Pfad bei beschädigter VM, Box-Regression oder SSH-Fehler aus?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 009: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Kontext: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant halt— fährt eine VM kontrolliert herunter. - Reviewfrage: Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 010: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Kontext: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant destroy— löscht die VM-Ressourcen nach Bestätigung. - Reviewfrage: Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 011: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Kontext: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant box list— listet lokal installierte Boxen. - Reviewfrage: Welche Ports, privaten Netze oder öffentlichen Netze werden geöffnet?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 012: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Kontext: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant box update— prüft und lädt Box-Updates. - Reviewfrage: Welche Dateien werden zwischen Host und Gast synchronisiert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 013: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Kontext: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant plugin list— zeigt installierte Plugins. - Reviewfrage: Welche Provisioner laufen mit root-Rechten und sind sie idempotent?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 014: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Kontext: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant snapshot save— legt einen Snapshot an, falls der Provider es unterstützt. - Reviewfrage: Welche Plugins sind nötig und wie werden sie versioniert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 015: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Kontext: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant init— erstellt ein initiales Vagrantfile für eine Box. - Reviewfrage: Welche Host-Ressourcen belegt die Umgebung bei vagrant up?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 016: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Kontext: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant validate— prüft die Vagrantfile-Struktur, ohne eine VM zu starten. - Reviewfrage: Wie sieht der Recovery-Pfad bei beschädigter VM, Box-Regression oder SSH-Fehler aus?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 017: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Kontext: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant up— erstellt und startet die konfigurierte Umgebung. - Reviewfrage: Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 018: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Kontext: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant status— zeigt den lokalen VM-Zustand. - Reviewfrage: Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 019: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Kontext: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant ssh— öffnet eine SSH-Sitzung zum Gast. - Reviewfrage: Welche Ports, privaten Netze oder öffentlichen Netze werden geöffnet?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 020: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Kontext: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant ssh-config— zeigt die konkrete SSH-Konfiguration. - Reviewfrage: Welche Dateien werden zwischen Host und Gast synchronisiert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 021: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Kontext: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant provision— führt Provisioner erneut aus. - Reviewfrage: Welche Provisioner laufen mit root-Rechten und sind sie idempotent?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 022: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Kontext: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant reload— startet eine VM neu und liest Konfigurationsänderungen. - Reviewfrage: Welche Plugins sind nötig und wie werden sie versioniert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 023: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Kontext: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant halt— fährt eine VM kontrolliert herunter. - Reviewfrage: Welche Host-Ressourcen belegt die Umgebung bei vagrant up?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 024: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Kontext: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant destroy— löscht die VM-Ressourcen nach Bestätigung. - Reviewfrage: Wie sieht der Recovery-Pfad bei beschädigter VM, Box-Regression oder SSH-Fehler aus?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 025: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Kontext: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant box list— listet lokal installierte Boxen. - Reviewfrage: Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 026: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Kontext: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant box update— prüft und lädt Box-Updates. - Reviewfrage: Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 027: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Kontext: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant plugin list— zeigt installierte Plugins. - Reviewfrage: Welche Ports, privaten Netze oder öffentlichen Netze werden geöffnet?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 028: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Kontext: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant snapshot save— legt einen Snapshot an, falls der Provider es unterstützt. - Reviewfrage: Welche Dateien werden zwischen Host und Gast synchronisiert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 029: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Kontext: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant init— erstellt ein initiales Vagrantfile für eine Box. - Reviewfrage: Welche Provisioner laufen mit root-Rechten und sind sie idempotent?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 030: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Kontext: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant validate— prüft die Vagrantfile-Struktur, ohne eine VM zu starten. - Reviewfrage: Welche Plugins sind nötig und wie werden sie versioniert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 031: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Kontext: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant up— erstellt und startet die konfigurierte Umgebung. - Reviewfrage: Welche Host-Ressourcen belegt die Umgebung bei vagrant up?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 032: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Kontext: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant status— zeigt den lokalen VM-Zustand. - Reviewfrage: Wie sieht der Recovery-Pfad bei beschädigter VM, Box-Regression oder SSH-Fehler aus?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 033: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt
- Kontext: Provider-Annahmen explizit dokumentieren, besonders VirtualBox, Docker, Hyper-V, VMware und libvirt ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant ssh— öffnet eine SSH-Sitzung zum Gast. - Reviewfrage: Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 034: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben
- Kontext: Ports standardmäßig an 127.0.0.1 binden und öffentliche Netze separat freigeben ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant ssh-config— zeigt die konkrete SSH-Konfiguration. - Reviewfrage: Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 035: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten
- Kontext: Provisioner idempotent schreiben und Paketinstallationen reproduzierbar halten ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant provision— führt Provisioner erneut aus. - Reviewfrage: Welche Ports, privaten Netze oder öffentlichen Netze werden geöffnet?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 036: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren
- Kontext: Synced folders auf minimale Pfade begrenzen und keine Secrets synchronisieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant reload— startet eine VM neu und liest Konfigurationsänderungen. - Reviewfrage: Welche Dateien werden zwischen Host und Gast synchronisiert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 037: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen
- Kontext: Box-Updates kontrolliert testen statt ungeprüft in Team-Labs auszurollen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant halt— fährt eine VM kontrolliert herunter. - Reviewfrage: Welche Provisioner laufen mit root-Rechten und sind sie idempotent?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 038: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren
- Kontext: Plugins als Code-Lieferkette behandeln und Versionen dokumentieren ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant destroy— löscht die VM-Ressourcen nach Bestätigung. - Reviewfrage: Welche Plugins sind nötig und wie werden sie versioniert?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 039: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden
- Kontext: Snapshots nur als Laborhilfe verstehen und nicht als Backup-Ersatz verwenden ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant box list— listet lokal installierte Boxen. - Reviewfrage: Welche Host-Ressourcen belegt die Umgebung bei vagrant up?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 040: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen
- Kontext: Fehlerbehebung mit vagrant status, ssh-config, port, provision und provider-spezifischen Logs beginnen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant box update— prüft und lädt Box-Updates. - Reviewfrage: Wie sieht der Recovery-Pfad bei beschädigter VM, Box-Regression oder SSH-Fehler aus?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 041: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen
- Kontext: Box-Quelle im HCP Vagrant Registry oder in einer internen Registry prüfen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant plugin list— zeigt installierte Plugins. - Reviewfrage: Welche Box wird verwendet, wer pflegt sie und welche Version ist freigegeben?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.
Karte 042: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen
- Kontext: Vagrantfile versionieren und Änderungen wie Infrastrukturcode reviewen ist im Vagrant-Kontext immer Teil eines lokalen Infrastrukturvertrags. Ein Vagrantfile beschreibt nicht nur eine VM, sondern auch Provider-Annahmen, Box-Herkunft, Netzwerke, Synchronisation, Provisioning und den erlaubten Arbeitsbereich auf dem Host. Änderungen müssen deshalb wie Infrastrukturcode bewertet werden: reproduzierbar, reviewbar, rückbaubar und ohne versteckte Secrets.
- Prüfbefehl:
vagrant snapshot save— legt einen Snapshot an, falls der Provider es unterstützt. - Reviewfrage: Welcher Provider wird vorausgesetzt und welche Host-Berechtigungen braucht er?
- Nachweis: Halte Vagrantfile-Ausschnitt, erwarteten Zustand, tatsächliche Ausgabe und Rollback-Entscheidung fest.
- Risiko: Dokumentiere, ob Host-Ressourcen, Netzwerkexposition, Secrets, Box-Vertrauen oder Plugin-Lieferkette betroffen sind.