# Konfiguration als Code

<p class="callout info">Zielgruppe: Betreuer · Stand: 06.11.2026</p>

Die Konfiguration von OpenBao (Mounts, Policies, Anmeldeverfahren und Rollen) entsteht als Code, nicht von Hand in der Oberfläche. Heute erledigen das Skripte, später Terraform aus einer Teamliste.

## Was konfiguriert wird

- KV-Mounts je Abteilung und ihre Aufbewahrung (drei Versionen)
- PKI-Mounts und ihre Rollen
- Policies je Team bzw. Projekt
- JWT-Rollen für Pipelines, AppRoles für VMs, später OIDC für Menschen

## Regeln

- **Trockenlauf ist der Default.** Änderungen werden erst nach Freigabe angewendet.
- Jede Änderung wird vorher in einer Wegwerf-Instanz ohne Netz getestet.
- Token kommen nur zur Laufzeit dazu und werden nie gespeichert oder ausgegeben.
- Teams bekommen nie Rechte auf Policies oder Anmeldeverfahren (siehe [Pfadschema und Teamtrennung](https://docs.squeeze.one/books/openbao/page/pfadschema-und-teamtrennung)).

## Zielbild

Eine Teamliste ist die einzige Quelle. Aus ihr erzeugt Terraform mit dem Vault-Provider Policies, JWT-Rollen, Entra-Gruppenzuordnungen und später auch Nomad-Bindungen. Die Namen leiten sich nach einem festen Muster ab, z. B. Policy `<abt>-<team>` und JWT-Rolle `<abt>-<team>-ci`. Für CCI gilt das Muster je Standort und Projekt.

<p class="callout info">Die Skripte und die spätere Terraform-Konfiguration kommen in ein Repository. Diese Seite verlinkt sie, sobald sie dort liegen.</p>

## Weiterführend

- [OpenBao: Policies](https://openbao.org/docs/concepts/policies/)