Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat(helm): make gateway PVC size and StorageClass configurable

Aperta
#3,216 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
helm, kubernetes

Direzione di ricerca

Inizia individuando i volumeClaimTemplates del StatefulSet gateway e i valori esistenti del PVC workspace nel chart Helm, usando il chart rilasciato 0.0.116 come baseline. Esegui helm template con i valori predefiniti e con valori sovrascritti per verificare la dimensione del claim e la StorageClass del gateway, quindi copri questi casi nei test Helm e documenta le implicazioni dell’immutabilità di StatefulSet/PVC per gli upgrade.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

state:accepted

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 template tests 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 volumeClaimTemplate and 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.116 at OCI digest sha256:df55cd1538bdfb7836834c30dfcf8373b85ffea83bbfd70d50dbe69407a0d2b3.
  • Rendering with production values still produces resources.requests.storage: 1Gi and no storageClassName until 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
Lingua principale
Rust
Stelle
8.7k
Fork
1.3k
Merge medio
2g 6h
PR unite (30g)
297

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA/OpenShell

Tutte le issue di NVIDIA/OpenShell

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.