Zum Inhalt

DevOps

Dieser Bereich beschreibt den Betrieb der Open Data Infrastruktur (ODI): wie die Umgebungen aufgebaut sind und wie Code-Änderungen automatisiert bis in den laufenden Cluster gelangen.

Architektur-Überblick

Das Gesamtbild zeigt den Weg einer Code-Änderung – von den Service-Repos über CI/CD und die Container-Registry bis zum GitOps-Rollout in die gespiegelten Umgebungen Stage und Produktion, getragen von der IONOS-Cloud-Infrastruktur.

Ein Klick auf die Grafik öffnet sie groß und zoombar.

  • Quellcode (openCode). Die odi-*-Service-Repos und das Doku-Repo; manuell ist nur der git push auf main.
  • ① CI (GitLab). Pro Repo eine .gitlab-ci.yml: bump-version (→ -dev-N) und build-image mit Kaniko. Das Muster liegt zentral in odi-ci-templates.
  • ② Container-Registry (IONOS). Getrennte Stage- und Prod-Registry; Stage nutzt bewegliche …-dev-N-Tags, Produktion feste Release-Tags.
  • ③ GitOps (Flux). ImageRepository + ImagePolicy erkennen neue Images, ImageUpdateAutomation schreibt den Tag ins Manifest zurück, die Kustomization rollt ihn in den Cluster aus – ohne manuellen Deploy-Schritt.
  • Umgebungen. Stage ist ein 1:1-Spiegel der Produktion; beide laufen als Kubernetes-Cluster und werden per Flux abgeglichen.
  • Betrieb & Sicherheit. Observability (Grafana/Loki, VictoriaMetrics), out-of-band verwaltete Secrets, Keycloak (IAM) und TLS/Ingress.
  • Cloud-Infrastruktur (opencode.de + IONOS). GitLab, GitLab-Workers und GitLab-Pages bei opencode.de; Managed Kubernetes (Stage & Prod, je eigener Nodepool) und die Container-Registries bei IONOS.
Frühere Versionen (v2, v1)

ODI – DevOps & Betrieb v2 (technisch)

ODI – DevOps & Betrieb v2 (fachlich)

ODI – DevOps & Betrieb v1 (technisch)

ODI – DevOps & Betrieb v1 (fachlich)

Inhalt dieses Bereichs

  • Umgebungen: Stage & Produktion – Aufbau der beiden Umgebungen: Die Stage als 1:1-Spiegel der Produktion, umgebungsspezifische Unterschiede (Domains, Registry, Image-Tags, eigene Infrastruktur) sowie der Umgang mit Secrets.

  • CI/CD- & Flux-Pipeline – Der Weg vom Code zum Container: GitLab-CI (Build & Push mit Kaniko), Flux Image-Automation und der GitOps-Rollout – vollautomatisch, manuell ist nur der Code-Commit.

  • Geteilte CI-Templates – Das zentrale Repository odi-ci-templates: die Node-/Python-Pipeline-Vorlagen, ihre Einbindung per include und eine Auflistung der Projekte, die sie nutzen.