feat(helm): make gateway PVC size and StorageClass configurable
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- helm, kubernetes
- Bereich
- devops, infrastructure
Rechercherichtung
Beginne damit, die volumeClaimTemplates des gateway StatefulSet und die vorhandenen workspace-PVC-Werte im Helm-Chart zu lokalisieren, wobei das veröffentlichte Chart 0.0.116 als Baseline verwendet wird. Führe helm template mit Standardwerten und überschriebenen Werten aus, um die Claim-Größe und StorageClass des gateway zu überprüfen, und decke diese Fälle anschließend in Helm-Tests ab. Dokumentiere außerdem die Auswirkungen der Unveränderlichkeit von StatefulSet/PVC bei Upgrades.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
User Story
As a Kubernetes platform operator deploying the OpenShell gateway through Helm, I want to select the gateway PVC's size and StorageClass, so that encrypted gateway state lands on the cluster's retained stateful storage with capacity appropriate to the deployment.
Problem Statement
OpenShell Helm chart 0.0.116 hard-codes the StatefulSet volumeClaimTemplates request to 1Gi and does not set or expose storageClassName. The chart exposes workspace PVC size/class values, but not the gateway database claim.
Impact / Why This Matters
Without chart values, operators must accept the cluster's default StorageClass and fixed capacity or carry a post-render patch. This can put the gateway's encrypted credential database and control-plane state on an unintended storage tier. A later correction may require StatefulSet/PVC migration because volumeClaimTemplates fields are immutable in common upgrade paths. Post-render patches are also coupled to the template's claim order.
Proposed Design
Expose a small gateway persistence block in Helm values, for example:
persistence:
size: 1Gi
storageClassName: ""
The existing observable behavior should remain the default: a 1Gi claim using the cluster's default StorageClass when no values are set. Setting these values should render the requested capacity and storageClassName into the gateway StatefulSet. Naming is illustrative; the important user workflow is being able to declare both fields without a post-renderer.
Acceptance Criteria
- The gateway PVC request size is configurable through a documented chart value.
- The gateway PVC StorageClass is configurable through a documented chart value.
- Omitting the new values preserves the current
1Gi/default-StorageClass behavior. -
helm templatetests cover default and overridden values. - Upgrade documentation notes the StatefulSet/PVC immutability implications for existing releases.
Alternatives Considered
- Use the cluster's default StorageClass and expand the claim later. This does not guarantee the required retention/storage tier and depends on expansion support.
- Pre-create a PVC. The StatefulSet currently owns a
volumeClaimTemplateand has no existing-claim workflow. - Carry a Flux/Helm post-render patch. This works, but is coupled to the StatefulSet resource name and claim index, and it shifts a normal storage choice out of the chart's supported interface.
Agent Investigation
- Verified the behavior against the released chart
0.0.116at OCI digestsha256:df55cd1538bdfb7836834c30dfcf8373b85ffea83bbfd70d50dbe69407a0d2b3. - Rendering with production values still produces
resources.requests.storage: 1Giand nostorageClassNameuntil a post-render patch is applied. - Searched open and closed issues for Helm persistence,
volumeClaimTemplates, storage size, and StorageClass; no existing issue matched this gateway PVC gap.
Checklist
- I've reviewed existing issues and the architecture docs
- This is a design proposal, not a "please build this" request
- Vorherrschende Sprache
- Rust
- Sterne
- 15.4k
- Forks
- 1.7k
- Ø Merge
- 1 T. 21 Std.
- Gemergte PRs (30 T.)
- 358
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NVIDIA/OpenShell
-
state:triage-needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
state:triage-needed
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
docs: document workspace and provider label capabilitiesEvtl. vergeben @johntmyers hat das vor 4 Tagen übernommen. Offenarea:docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
NVIDIA/OpenShell#4250 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug(driver-mxc): test helper fails to compile after gateway-name argumentEvtl. vergeben @feloy hat das vor 6 Tagen übernommen. Offenstate:triage-needed
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug: install.sh ignores XDG_CONFIG_HOME for the local gateway configEvtl. vergeben @fede-kamel hat das vor 9 Tagen übernommen. Offenarea:cli os:linux os:macos state:validated
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
NVIDIA/OpenShell#4042 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in NVIDIA/OpenShell
Ähnliche Issues
-
C-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
rust-lang/rust-analyzer#23501 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug P2 ready for work T-security T-transport
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
modelcontextprotocol/rust-sdk#1339 ·
Maintainer antworten meist innerhalb von 3 Tagen
-
French BIP39 wordlist starts with a UTF-8 BOM, so generated French mnemonics carry U+FEFF and derive a non-canonical seedEvtl. vergeben @Kshot3000 hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
ergoplatform/sigma-rust#976 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Bug]: Web chat input doesn't regain focus after a reply finishesEvtl. vergeben @GaijinSystems hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
zeroclaw-labs/zeroclaw#11658 ·
Maintainer antworten meist innerhalb von 2 Tagen