✨ feat(deploy): add Helm chart for production Kubernetes deployment#519
Open
vaayne wants to merge 1 commit into
Open
✨ feat(deploy): add Helm chart for production Kubernetes deployment#519vaayne wants to merge 1 commit into
vaayne wants to merge 1 commit into
Conversation
Adds a single-replica StatefulSet Helm chart for stellad backed by SQLite on a persistent volume, plus a bilingual production deployment guide. What: - deploy/helm/stella: StatefulSet (1 replica), Service + headless Service, ConfigMap, Secret (vault key + provider keys, existingSecret support), optional Ingress, ServiceAccount, startup/liveness/readiness probes on /api/status, resource requests/limits, helm test pod, NOTES, README. - HPA shipped as a disabled example, gated behind an explicit acknowledge flag so it cannot be enabled on SQLite by accident. - Kubernetes how-to doc (en + zh), registered in start-here meta and cross-linked from the deployment doc. - dprint: exclude Helm templates (Go templating is not valid YAML). Why: - Teams need standard K8s assets instead of hand-written manifests (#480). How: - SQLite is single-writer, so the chart is single-replica by design and documents that multi-replica/HPA and external PostgreSQL/S3 await #477. - local sandbox needs relaxed seccomp; chart sets seccompProfile Unconfined (mirrors the Docker --security-opt seccomp=unconfined), switchable to none. Refs: #480, parent #477
📊 Coverage ReportTotal coverage: 48.9% (generated files excluded) Per-package breakdown |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds an official Helm chart (
deploy/helm/stella) for deploying Stella on Kubernetes in production, plus a bilingual deployment guide.volumeClaimTemplates(RWO) backingSTELLA_HOME.existingSecretsupport).GET /api/status(unauthenticated, 200 = ready). The startup probe absorbs first-boot DB migration.autoscaling.acknowledgeSqliteUnsupportedflag so it can't be enabled on SQLite by accident.helm testsmoke pod,NOTES.txt, chartREADME.md.kubernetes.md+.zh.md), registered instart-here/meta.jsonand cross-linked fromdeployment.md.dprint.json: excludedeploy/helm/*/templates/**(Go templating is not valid YAML).Why
Teams deploying Stella in production need standard, supported Kubernetes assets instead of hand-written manifests (#480).
How
localbackend (bubblewrap) needsunshare(2), whichRuntimeDefaultseccomp blocks — the chart setsseccompProfile: Unconfined(mirrors the Docker--security-opt seccomp=unconfined), switchable tononefor stricter policies on trusted workloads.Verification
helm lintclean;helm templaterenders correctly across default / Ingress / HPA-gate / existingSecret / existingClaim scenarios (8 valid manifests).mise run formatpasses (no lint/type errors).kubectlvalidation was skipped.Refs