23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
# Geteilte Dev-Secrets (SOPS + age)
|
|
|
|
Die geteilten Dev-`.env`-Werte liegen **verschlüsselt** in `secrets/dev.sops.env` (SOPS mit age).
|
|
So teilen beide Devs dieselbe lokale Konfiguration über das Repo — **ohne Klartext-Keys in Git**.
|
|
Entschlüsselt wird lokal nach `./.env` (gitignored).
|
|
|
|
## Täglich
|
|
- `pnpm env:pull` → entschlüsselt `secrets/dev.sops.env` nach `./.env`
|
|
- `pnpm env:edit` → öffnet die Secrets entschlüsselt im `$EDITOR`, re-verschlüsselt beim Speichern. Danach committen.
|
|
|
|
## Onboarding (einmalig, je Dev)
|
|
1. `brew install sops age`
|
|
2. age-Key: `mkdir -p ~/.config/sops/age && age-keygen -o ~/.config/sops/age/keys.txt`
|
|
3. eigenen **Public-Key** zeigen: `age-keygen -y ~/.config/sops/age/keys.txt` → an den anderen Dev schicken
|
|
4. der andere trägt den Public-Key in `.sops.yaml` (kommagetrennt) ein, dann `sops updatekeys secrets/dev.sops.env` + committen
|
|
5. danach `pnpm env:pull`
|
|
|
|
## Regeln
|
|
- **Nie** die entschlüsselte `./.env` oder einen Klartext-Dump committen (ist gitignored).
|
|
- Secrets ändern nur via `pnpm env:edit`, dann committen.
|
|
- Der age-**Private**-Key (`~/.config/sops/age/keys.txt`) bleibt lokal, nie ins Repo.
|
|
- Lokale DB/Redis bleiben auf den lokalen Defaults aus `.env.example`; nur geteilte API-Keys liegen hier.
|