docs: require agenix for frappe secrets
This commit is contained in:
@@ -99,6 +99,27 @@ sites = {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Secrets werden nicht als manuell gepflegte Datei unter `/var/lib/frappe` verwaltet, sondern wie bei den anderen Diensten über agenix bereitgestellt. Das Frappe-Modul referenziert dafür einen age-Secret-Pfad, z.B.:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
frappeEnvFile = config.age.secrets.frappe-env.path;
|
||||||
|
```
|
||||||
|
|
||||||
|
Die zugehörige Secret-Datei enthält die für Init und Site-Erzeugung benötigten Variablen, insbesondere:
|
||||||
|
|
||||||
|
```text
|
||||||
|
FRAPPE_DB_ADMIN_PASSWORD=<database-admin-secret>
|
||||||
|
FRAPPE_ADMIN_PASSWORD=<site-administrator-secret>
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Secret-Eintrag wird in den bestehenden agenix-Strukturen ergänzt:
|
||||||
|
|
||||||
|
```text
|
||||||
|
secrets/frappe-env.age
|
||||||
|
secrets.nix
|
||||||
|
hosts/AZ-CLD-1/secrets.nix
|
||||||
|
```
|
||||||
|
|
||||||
Weitere Sites können später ergänzt werden, ohne die Grundstruktur umzubauen:
|
Weitere Sites können später ergänzt werden, ohne die Grundstruktur umzubauen:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
@@ -140,7 +161,9 @@ Die Frontend-/Nginx-Instanz bleibt über Traefik erreichbar. Für `learn.az-grup
|
|||||||
Die Initialisierung bleibt idempotent:
|
Die Initialisierung bleibt idempotent:
|
||||||
|
|
||||||
- Verzeichnisse werden vorbereitet.
|
- Verzeichnisse werden vorbereitet.
|
||||||
- Fehlende Env-Datei oder fehlende Secrets führen zu einem klaren Fehler.
|
- Secrets werden ausschließlich über `config.age.secrets.*.path` eingebunden.
|
||||||
|
- Eine fehlende agenix-Secret-Definition oder fehlende Variablen im Secret führen zu einem klaren Fehler.
|
||||||
|
- Es wird keine dauerhafte, manuell gepflegte Secret-/Env-Datei unter `/var/lib/frappe` erzeugt.
|
||||||
- Gemeinsame Bench-Konfiguration wird gesetzt.
|
- Gemeinsame Bench-Konfiguration wird gesetzt.
|
||||||
- Existiert `sites/<domain>/site_config.json`, wird die Site-Erzeugung übersprungen.
|
- Existiert `sites/<domain>/site_config.json`, wird die Site-Erzeugung übersprungen.
|
||||||
- Existiert die Site nicht, wird sie mit `bench new-site` angelegt.
|
- Existiert die Site nicht, wird sie mit `bench new-site` angelegt.
|
||||||
@@ -204,5 +227,7 @@ Zusätzliche statische Prüfungen:
|
|||||||
|
|
||||||
- `containers/frappe.nix` enthält keine Redis-Container mehr.
|
- `containers/frappe.nix` enthält keine Redis-Container mehr.
|
||||||
- `containers/frappe.nix` definiert nicht mehr `services.mysql`.
|
- `containers/frappe.nix` definiert nicht mehr `services.mysql`.
|
||||||
|
- `containers/frappe.nix` verwendet agenix-Secrets über `config.age.secrets.*.path` statt eine manuelle `/var/lib/frappe/*.env`-Datei zu erwarten.
|
||||||
- `services/default.nix` importiert `mariadb.nix` und `redis.nix`.
|
- `services/default.nix` importiert `mariadb.nix` und `redis.nix`.
|
||||||
- `containers/default.nix` importiert `frappe.nix` statt `frappe-lms.nix`.
|
- `containers/default.nix` importiert `frappe.nix` statt `frappe-lms.nix`.
|
||||||
|
- `secrets/frappe-env.age`, `secrets.nix` und `hosts/AZ-CLD-1/secrets.nix` sind konsistent ergänzt.
|
||||||
|
|||||||
Reference in New Issue
Block a user