-`infra-int01`: interne Reverse-Proxy- und technische Infra-Dienste
-`mon01`: Monitoring und Logging
- weitere VMs: Apps, Media, Home Assistant, Mail
Das bedeutet:
- Auf `dev-int01` werden Compose-Dateien, Konfigurationen und Doku erstellt.
- Diese Inhalte werden in Forgejo versioniert.
- Andere VMs wie `infra-int01` oder `mon01` holen sich diese Inhalte spaeter per `git pull` und setzen sie lokal um.
## Grundprinzip
`dev-int01` ist die Quelle fuer deklarative Infrastrukturdateien.
Der gewuenschte Ablauf ist:
1. In `code-server` an einer lokalen Arbeitskopie arbeiten
2. Aenderungen in Git committen
3. Nach Forgejo pushen
4. Auf Ziel-VMs wie `infra-int01` oder `mon01` das Repository klonen oder aktualisieren
5. Dort mit `docker compose up -d` oder aehnlichen Befehlen ausrollen
Damit gilt:
-`code-server` = Editor und Arbeitsumgebung
- Forgejo = zentrales Git-Remote
- Ziel-VMs = Laufzeit- und Deployment-Ziele
## Nutzen von `dev-int01`
Die VM bringt mehrere Vorteile:
- zentrale Pflege von Infrastrukturdateien
- nachvollziehbare Aenderungen ueber Git-Historie
- reproduzierbare Deployments
- Trennung zwischen Entwicklung und produktivem Betrieb
- einfache Zusammenarbeit zwischen Editor, Git und Zielsystemen
Dadurch werden Aenderungen nicht "direkt auf Produktivsystemen zusammengeklickt", sondern zuerst sauber erfasst, versioniert und dann ausgerollt.
## Zusammenspiel von Forgejo, code-server und Infrastruktur
### Forgejo
Forgejo ist der interne Git-Server.
Dort liegen die Repositories fuer:
- VM-Konfigurationen
- Docker-Compose-Dateien
- nginx-/Proxy-Konfigurationen
- Monitoring-Konfigurationen
- Dokumentation
- Deploy-/Hilfsskripte
### code-server
`code-server` ist die Entwicklungsumgebung im Browser.
Dort werden lokale Arbeitskopien von Repositories geoeffnet und bearbeitet. `code-server` speichert selbst nicht "anstelle von Git", sondern arbeitet mit normalen lokalen Git-Repositories.
### Infrastruktur-VMs
VMs wie `infra-int01` und `mon01` verwenden die in Forgejo versionierten Dateien als Quelle fuer ihre Konfiguration.