Es gibt im Repository drei Formen für dieselbe Sache — zusätzliche Volumes in einen Pod bringen. Festgelegt: <chart>.extraVolumes / <chart>.extraVolumeMounts ist die Konvention.
Gemessener Istzustand
Chart
heutige Schlüssel
Vorgabe
homeassistant
volumes / volumeMounts (oberste Ebene), Zeilen 97 und 104
homeassistant ist eine reine Umbenennung. Die Listen sind leer und rein additiv; sie heißen nur falsch und stehen auf der obersten Ebene statt unter dem Chart-Schlüssel. volumes → extraVolumes, volumeMounts → extraVolumeMounts, unter homeassistant. Breaking values change, also Major-Bump — die Laufzeit ändert sich nicht, aber ein bestehender Eintrag scheitert danach am strengen Schema.
voucher-vault ist keine Umbenennung, und das ist der Befund, der diesen Punkt aufwertet. Die Liste ist nicht leer — sie trägt die eigene PVC des Charts:
Diese Einträge sind nicht „extra", sondern die eigene Verdrahtung des Charts, als Wert ausgelagert. Sie einfach in extraVolumes umzubenennen wäre falsch: der Name würde dann das Gegenteil dessen behaupten, was drinsteht.
Schlimmer ist die Folge, die der Name heute schon hat: wer die Liste setzt, überschreibt sie — und verliert damit stillschweigend den Datenbank-Mount. Eine Helm-Liste wird nicht gemischt, sie wird ersetzt. Das ist dieselbe Familie wie „Werte, die lügen": der Schlüssel sieht additiv aus und ist es nicht.
Für voucher-vault gehört deshalb umgebaut, nicht umbenannt: die eigene PVC und ihr Mount werden unbedingt gerendert, und daneben tritt ein echtes, leeres voucherVault.extraVolumes / .extraVolumeMounts. Auch Major, und mit einem Hinweis in NOTES.txt für bestehende Installationen, die die Liste überschrieben haben.
Umfang
homeassistant: Umbenennung unter den Chart-Schlüssel, Major, Schema nachziehen.
voucher-vault: eigene Volumes unbedingt rendern, additives Paar daneben, Major, NOTES.txt-Hinweis.
template-chart: das Paar als Referenzumsetzung aufnehmen, damit der nächste Chart die richtigen Namen kopiert statt sie zu erfinden. Das ist der Teil, der die Konvention wirklich durchsetzt.
Konvention festschreiben — nach der Tabelle in CLAUDE.md Pflicht an zwei Stellen: Chart-Style-Guide im Wiki und README als code-seitige Kopie. Inhalt: <chart>.extraVolumes / <chart>.extraVolumeMounts, Vorgabe [], rein additiv, unter dem Chart-Schlüssel und nicht auf der obersten Ebene; eigene Volumes eines Charts gehören nicht in diese Listen.
Die Chart-Seiten der beiden betroffenen Charts im Wiki nachziehen.
Zwei Eigenschaften, die PR #92 für keycloak belegt hat und die bei jedem Chart gelten, der eine vorgezogene Augmentierung oder einen Build-Init-Container hat:
Die Mounts müssen auch dorthin, wo gebaut wird. Bei keycloak rendert extraVolumeMounts am build-Init-Container und am Hauptcontainer, weil ein Provider-JAR sonst nie in die Registry kommt (start --optimized). Wer die Konvention in den Style Guide schreibt, sollte diesen Satz mitnehmen — er ist der Grund, warum eine scheinbar redundante zweite Template-Stelle keine ist.
Eine Grenze gehört an den Wert: die Listen legen Dateien ab, sie konfigurieren nichts. Ein Wurzel-Zertifikat braucht zusätzlich KC_TRUSTSTORE_PATHS oder das Äquivalent der jeweiligen Anwendung.
Reihenfolge
Erst nach dem Merge von PR #92, damit keycloak als Vorlage dasteht und die Konvention an einem Chart belegt ist, statt nur beschrieben zu sein.
Dringlichkeit
Niedrig. Nichts ist defekt außer der voucher-vault-Überschreibung, und die trifft nur, wer die Liste anfasst. Der Nutzen ist, dass die nächste Erweiterung dieser Art nicht die vierte Form erfindet.
Es gibt im Repository drei Formen für dieselbe Sache — zusätzliche Volumes in einen Pod bringen. **Festgelegt: `<chart>.extraVolumes` / `<chart>.extraVolumeMounts` ist die Konvention.**
## Gemessener Istzustand
| Chart | heutige Schlüssel | Vorgabe |
| --- | --- | --- |
| `homeassistant` | `volumes` / `volumeMounts` (**oberste Ebene**), Zeilen 97 und 104 | `[]` — echt additiv |
| `voucher-vault` | `voucherVault.storage.volumes` / `.volumeMounts`, Zeilen 197–205 | **nicht leer** — siehe unten |
| `keycloak` | `keycloak.extraVolumes` / `.extraVolumeMounts` (mit #88 / PR #92) | `[]` — entspricht der Konvention schon |
## Zwei verschiedene Aufgaben, nicht eine
**`homeassistant` ist eine reine Umbenennung.** Die Listen sind leer und rein additiv; sie heißen nur falsch und stehen auf der obersten Ebene statt unter dem Chart-Schlüssel. `volumes` → `extraVolumes`, `volumeMounts` → `extraVolumeMounts`, unter `homeassistant.` Breaking values change, also **Major**-Bump — die Laufzeit ändert sich nicht, aber ein bestehender Eintrag scheitert danach am strengen Schema.
**`voucher-vault` ist keine Umbenennung, und das ist der Befund, der diesen Punkt aufwertet.** Die Liste ist **nicht leer** — sie trägt die eigene PVC des Charts:
```yaml
storage:
volumes:
- name: voucher-vault-data
persistentVolumeClaim:
claimName: "{{ .Release.Name }}-{{ .Chart.Name }}-pvc"
volumeMounts:
- name: voucher-vault-data
mountPath: /opt/app/database
subPath: voucher-vault-data
```
Diese Einträge sind nicht „extra", sondern die eigene Verdrahtung des Charts, als Wert ausgelagert. Sie einfach in `extraVolumes` umzubenennen wäre falsch: der Name würde dann das Gegenteil dessen behaupten, was drinsteht.
Schlimmer ist die Folge, die der Name heute schon hat: **wer die Liste setzt, überschreibt sie** — und verliert damit stillschweigend den Datenbank-Mount. Eine Helm-Liste wird nicht gemischt, sie wird ersetzt. Das ist dieselbe Familie wie „Werte, die lügen": der Schlüssel sieht additiv aus und ist es nicht.
Für `voucher-vault` gehört deshalb umgebaut, nicht umbenannt: die eigene PVC und ihr Mount werden **unbedingt** gerendert, und daneben tritt ein echtes, leeres `voucherVault.extraVolumes` / `.extraVolumeMounts`. Auch **Major**, und mit einem Hinweis in `NOTES.txt` für bestehende Installationen, die die Liste überschrieben haben.
## Umfang
1. **`homeassistant`**: Umbenennung unter den Chart-Schlüssel, Major, Schema nachziehen.
2. **`voucher-vault`**: eigene Volumes unbedingt rendern, additives Paar daneben, Major, `NOTES.txt`-Hinweis.
3. **`template-chart`**: das Paar als Referenzumsetzung aufnehmen, damit der nächste Chart die richtigen Namen kopiert statt sie zu erfinden. Das ist der Teil, der die Konvention wirklich durchsetzt.
4. **Konvention festschreiben** — nach der Tabelle in CLAUDE.md Pflicht an zwei Stellen: `Chart-Style-Guide` im Wiki **und** README als code-seitige Kopie. Inhalt: `<chart>.extraVolumes` / `<chart>.extraVolumeMounts`, Vorgabe `[]`, rein additiv, unter dem Chart-Schlüssel und nicht auf der obersten Ebene; eigene Volumes eines Charts gehören **nicht** in diese Listen.
5. Die Chart-Seiten der beiden betroffenen Charts im Wiki nachziehen.
## Was dabei aus #88 mitgenommen gehört
Zwei Eigenschaften, die PR #92 für `keycloak` belegt hat und die bei jedem Chart gelten, der eine vorgezogene Augmentierung oder einen Build-Init-Container hat:
- **Die Mounts müssen auch dorthin, wo gebaut wird.** Bei `keycloak` rendert `extraVolumeMounts` am `build`-Init-Container *und* am Hauptcontainer, weil ein Provider-JAR sonst nie in die Registry kommt (`start --optimized`). Wer die Konvention in den Style Guide schreibt, sollte diesen Satz mitnehmen — er ist der Grund, warum eine scheinbar redundante zweite Template-Stelle keine ist.
- **Eine Grenze gehört an den Wert:** die Listen legen Dateien ab, sie konfigurieren nichts. Ein Wurzel-Zertifikat braucht zusätzlich `KC_TRUSTSTORE_PATHS` oder das Äquivalent der jeweiligen Anwendung.
## Reihenfolge
Erst nach dem Merge von PR #92, damit `keycloak` als Vorlage dasteht und die Konvention an einem Chart belegt ist, statt nur beschrieben zu sein.
## Dringlichkeit
Niedrig. Nichts ist defekt außer der `voucher-vault`-Überschreibung, und die trifft nur, wer die Liste anfasst. Der Nutzen ist, dass die nächste Erweiterung dieser Art nicht die vierte Form erfindet.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Es gibt im Repository drei Formen für dieselbe Sache — zusätzliche Volumes in einen Pod bringen. Festgelegt:
<chart>.extraVolumes/<chart>.extraVolumeMountsist die Konvention.Gemessener Istzustand
homeassistantvolumes/volumeMounts(oberste Ebene), Zeilen 97 und 104[]— echt additivvoucher-vaultvoucherVault.storage.volumes/.volumeMounts, Zeilen 197–205keycloakkeycloak.extraVolumes/.extraVolumeMounts(mit #88 / PR #92)[]— entspricht der Konvention schonZwei verschiedene Aufgaben, nicht eine
homeassistantist eine reine Umbenennung. Die Listen sind leer und rein additiv; sie heißen nur falsch und stehen auf der obersten Ebene statt unter dem Chart-Schlüssel.volumes→extraVolumes,volumeMounts→extraVolumeMounts, unterhomeassistant.Breaking values change, also Major-Bump — die Laufzeit ändert sich nicht, aber ein bestehender Eintrag scheitert danach am strengen Schema.voucher-vaultist keine Umbenennung, und das ist der Befund, der diesen Punkt aufwertet. Die Liste ist nicht leer — sie trägt die eigene PVC des Charts:Diese Einträge sind nicht „extra", sondern die eigene Verdrahtung des Charts, als Wert ausgelagert. Sie einfach in
extraVolumesumzubenennen wäre falsch: der Name würde dann das Gegenteil dessen behaupten, was drinsteht.Schlimmer ist die Folge, die der Name heute schon hat: wer die Liste setzt, überschreibt sie — und verliert damit stillschweigend den Datenbank-Mount. Eine Helm-Liste wird nicht gemischt, sie wird ersetzt. Das ist dieselbe Familie wie „Werte, die lügen": der Schlüssel sieht additiv aus und ist es nicht.
Für
voucher-vaultgehört deshalb umgebaut, nicht umbenannt: die eigene PVC und ihr Mount werden unbedingt gerendert, und daneben tritt ein echtes, leeresvoucherVault.extraVolumes/.extraVolumeMounts. Auch Major, und mit einem Hinweis inNOTES.txtfür bestehende Installationen, die die Liste überschrieben haben.Umfang
homeassistant: Umbenennung unter den Chart-Schlüssel, Major, Schema nachziehen.voucher-vault: eigene Volumes unbedingt rendern, additives Paar daneben, Major,NOTES.txt-Hinweis.template-chart: das Paar als Referenzumsetzung aufnehmen, damit der nächste Chart die richtigen Namen kopiert statt sie zu erfinden. Das ist der Teil, der die Konvention wirklich durchsetzt.Chart-Style-Guideim Wiki und README als code-seitige Kopie. Inhalt:<chart>.extraVolumes/<chart>.extraVolumeMounts, Vorgabe[], rein additiv, unter dem Chart-Schlüssel und nicht auf der obersten Ebene; eigene Volumes eines Charts gehören nicht in diese Listen.Was dabei aus #88 mitgenommen gehört
Zwei Eigenschaften, die PR #92 für
keycloakbelegt hat und die bei jedem Chart gelten, der eine vorgezogene Augmentierung oder einen Build-Init-Container hat:keycloakrendertextraVolumeMountsambuild-Init-Container und am Hauptcontainer, weil ein Provider-JAR sonst nie in die Registry kommt (start --optimized). Wer die Konvention in den Style Guide schreibt, sollte diesen Satz mitnehmen — er ist der Grund, warum eine scheinbar redundante zweite Template-Stelle keine ist.KC_TRUSTSTORE_PATHSoder das Äquivalent der jeweiligen Anwendung.Reihenfolge
Erst nach dem Merge von PR #92, damit
keycloakals Vorlage dasteht und die Konvention an einem Chart belegt ist, statt nur beschrieben zu sein.Dringlichkeit
Niedrig. Nichts ist defekt außer der
voucher-vault-Überschreibung, und die trifft nur, wer die Liste anfasst. Der Nutzen ist, dass die nächste Erweiterung dieser Art nicht die vierte Form erfindet.