Randbedingungen sind Vorgaben, die die Architektur nicht frei wählen kann. Sie kommen aus dem politischen Auftrag, aus dem Betriebsmodell von Dataport oder aus technischen Standards, die die Verwaltung verbindlich vorschreibt.
IONOS Managed Kubernetes (EU-souverän, kein US-Hyperscaler). Daneben Managed PostgreSQL, Managed S3-Objektspeicher und NFS-Fileservice, ebenfalls bei IONOS.
Containerisierung
Alle Dienste laufen als Docker-Container. Lokale Entwicklung ist per Docker Compose in odi-docker-compose-deployment möglich.
GitOps / Deployment
FluxCD überwacht die Container-Registries und gleicht den Cluster-Zustand kontinuierlich gegen die Manifeste in odi-kubernetes-stage bzw. odi-kubernetes-prod ab.
CI/CD
GitLab CI auf openCode; gemeinsame Templates in odi-ci-templates; Images werden mit Kaniko (ohne Docker-Daemon) gebaut.
Metadaten-Standard
DCAT-AP ist verbindlich – alle veröffentlichten Datensätze müssen DCAT-AP-konforme Metadaten tragen (Lizenz, Publisher, Kategorie, Raumbezug).
Identität
Keycloak als OAuth 2.0 / OIDC-Provider; Realm open-data-infrastruktur. Keycloak ist seinerseits per Federated Identity an den Dataport Identity Provider (ebenfalls Keycloak) angebunden.
Schema-Standard
Frictionless Table Schema als Strukturbeschreibung für tabellarische Datensätze.
Geo-Standard
OGC WFS und WMS für Vektordaten; OGC SensorThings API für Echtzeitdaten.
Gesamter Quellcode unter EUPL-1.2 auf openCode. Alle Repositories sind öffentlich zugänglich.
Auftraggeber / Betreiber
Land Schleswig-Holstein ist Auftraggeber; Dataport AöR entwickelt und betreibt die Plattform.
Dokumentationssprache
Deutsch. Die technische Dokumentation unter docs.odi.schleswig-holstein.de ist vollständig auf Deutsch. READMEs in den Service-Repos sind teilweise zweisprachig (DE/EN).
Stage als Preproduktion
Die Stage-Umgebung (odi-stage.schleswig-holstein.de) ist ein 1:1-Spiegel der Produktion (odi.schleswig-holstein.de). Geänderte Konfigurationswerte (Domain, Registry, Datenbank-Host) werden explizit als Platzhalter markiert.
Secrets-Verwaltung
Secrets werden nicht im Git verwaltet. Sie werden out-of-band per kubectl erzeugt. Skripte und Vorlagen liegen im Stage-Repo unter secrets/.
Gemeinsame CI-Templates
Das Repository odi-ci-templates enthält die geteilten GitLab-CI-Pipeline-Vorlagen (node-dev-build, python-dev-build, node-release-build, python-release-build), die alle odi-*-Service-Repos per include einbinden.
Die ODI ist das technische Umsetzungsinstrument des DNG. Anforderungen aus dem DNG – insbesondere maschinenlesbare Bereitstellung, DCAT-AP-Konformität und offene Lizenzen – sind als Architekturprinzipien verankert. Siehe DNG-Bereich.
Lizenz
EUPL-1.2. Die Lizenz erlaubt Weiterverwendung, Änderung und Verteilung, verpflichtet aber zur Offenlegung von Derivaten unter kompatibler Lizenz.
Datenschutz
Die Plattform verarbeitet ausschließlich Open Data – keine personenbezogenen Datensätze. Zugangsdaten (Keycloak-Credentials, Tokens) werden nicht im Git geführt.
Datensouveränität
Betrieb ausschließlich bei EU-ansässigen Anbietern (IONOS); keine Datenübermittlung an US-Dienste.