Markdown

Entwicklungsumgebung

Mit Umgebungsvariablen arbeiten

Die Plattform schreibt die generierten Env-Dateien, eigene Werte gehören in die Custom-Dateien, und das Deployment auf Dev und Prod konfigurierst du im Repository gitops-configuration.

Auf dieser Seite

Die Dateien im Verzeichnis env/

Das Verzeichnis env/ in App- und Backend-Repositories enthält Dateien nach dem Muster <umgebung>.<art>.env mit den Umgebungen local, dev, prod und shared (alle Umgebungen) und der Art generated oder custom.

Datei Wer sie pflegt Inhalt
local.generated.env Plattform URLs und Werte für die lokale Entwicklung
local.custom.env du eigene Werte für die lokale Entwicklung
dev.generated.env, prod.generated.env Plattform Werte je Umgebung, etwa die Backend-URL auf Dev oder Prod
dev.custom.env, prod.custom.env du eigene Werte je Umgebung
shared.generated.env Plattform Werte für alle Umgebungen, etwa Sentry-DSN und Bundle-IDs
shared.custom.env du eigene Werte für alle Umgebungen

Die generierten Dateien überschreibt die Plattform bei jeder Konfigurationsänderung, deshalb bearbeitest du sie nicht; in den Custom-Dateien ergänzt oder überschreibst du Werte. ap run-local lädt beide Arten der passenden Umgebung, bei Flutter-Apps über --dart-define-from-file; eine neue lokale Variable kommt in env/local.custom.env mit anschließendem Neustart, ein Wert für alle Umgebungen in shared.custom.env. Neue generierte Werte erfordern eine Anpassung der Plattform-Konfiguration; frag beim Support nach.

Deployment-Konfiguration für Dev und Prod

Was auf den Servern läuft, konfigurierst du im Repository gitops-configuration deines Projekts mit einem Ordner pro Umgebung:

gitops-configuration/
└── configurations/
    ├── dev/
    │   ├── generated.yaml   # Plattform: Hostnamen, Registry, Secrets (SOPS)
    │   ├── custom.yaml      # du: eigene Umgebungsvariablen
    │   └── versions.yaml    # Pipeline: ausgerollte Image-Versionen
    └── prod/                # gleiche Struktur

generated.yaml schreibt die Plattform, versions.yaml pflegt die Pipeline, und custom.yaml gehört dir und nimmt eigene Umgebungsvariablen unter additional_env_variables auf. Ein Commit auf main rollt die Änderung auf die jeweilige Umgebung aus, wie Git-Workflow und Deployment beschreibt; das Gesamtbild zeigt die Architektur.

Secrets

Passwörter, Tokens und Schlüssel wie Datenbank-Zugänge, JWT-Secrets und Registry-Zugangsdaten erzeugt und verwaltet die Plattform; in generated.yaml liegen sie mit SOPS verschlüsselt und werden mit ap secrets edit <datei> bearbeitet.

Achtung
Die Custom-Dateien in env/ und custom.yaml sind unverschlüsselte Textdateien im Repository. Schützenswerte Passwörter oder API-Keys gehören dort nicht hinein, sondern in die von der Plattform verwalteten Secrets.

Gib Env-Dateien nicht vollständig aus, auch nicht im Chat mit einem KI-Agenten, und committe keine Secrets; die AGENTS.md im Projekt enthält diese Regel bereits.