feat: official Helm chart (OCI, SQLite HA, GitOps) - #783
Open
zhouzhuojie wants to merge 7 commits into
Open
zhouzhuojie wants to merge 7 commits into
zhouzhuojie wants to merge 7 commits into
Conversation
Add a minimal Deployment + ClusterIP chart at helm/, configured via env and flagr_env.md. helm-unittest covers env invariants, overrides, probes, and volumes; CI runs lint, unittest, and Kind helm test. Closes #781
|
Tick the box to add this pull request to the merge queue (same as
|
v1.1.2 plugin.yaml has platformHooks, which Helm 3.17 rejects.
Push helm/ to oci://ghcr.io/openflagr/flagr/charts/flagr on Chart.yaml changes to main, GitHub Release, and workflow_dispatch. Chart version 1.0.0. Nested under the flagr repo so GITHUB_TOKEN can publish without colliding with the Docker image.
Keep a single SQLite writer (replicaCount=1). evalReplicas.replicaCount adds eval-only pods that poll the primary export so there are no extra writers. MySQL/Postgres still scale replicaCount against one DB.
gitops.enabled points every primary replica at one flags URL (raw GitHub or a Secret DSN). Same image, no SQLite writer; scale replicaCount. Mutually exclusive with evalReplicas (SQLite HA only).
Document SQLite HA, GitOps, and SQL scaling across the site. Rename the Helm CI cluster job from kind to install. Point GitOps docs at helm values.
Organize Docker, Compose, Helm (SQLite / HA / GitOps / SQL), and VM under one self-host section. Kind install job runs sqlite, evalReplicas, and gitops (in-cluster flags URL) each with helm test.
ericbsantana
approved these changes
Sep 17, 2026
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.
Description
Official in-repo Helm chart at
helm/, published to GHCR as an OCI artifact.From a checkout:
helm install flagr ./helm. Helm cannot install from a GitHub directory URL.Deployment strategy (see self-host):
docker runhelm installevalReplicas.replicaCountjson_httpreaders (svc/flagr-eval)gitops.enabled+gitops.flagsURLjson_httppods (GitHub raw URL)replicaCount+envevalReplicasandgitopsare mutually exclusive. Everything else isenv/envFrom. No bundled database, no Ingress/HPA in the chart.CI
make helm-lint+make helm-unittest(25 template tests).github/workflows/helm.ymlinstalljob (Kind): SQLite, SQLite HA, GitOps (in-cluster flags URL), each withhelm test.github/workflows/cd_helm.yml—helm pushtooci://ghcr.io/openflagr/flagr/charts/flagronhelm/Chart.yamlchanges tomain, GitHub Release, andworkflow_dispatchAfter merge (one-time): make the GHCR package public (Package settings → Change visibility). Anonymous
helm install oci://…401s until that click. Steps indocs/CONTRIBUTING.md.Prototype credit: @ericbsantana (flagr-helm-chart); this is a rewrite, not a copy.
Closes #781
Motivation and Context
Self-host docs said “No in-repo Helm chart.” #781 asked for an official chart. This PR answers Q1 (yes, in this repo), Q2 (path is
helm/), Q3 (OCI publish in this PR).How Has This Been Tested?
make helm-lintmake helm-unittest— 25 testsevalReplicas), and GitOpsTypes of changes
Checklist: