feat(helm): add Flow (RLA) helm chart and prereqs wiring#1932
Open
shayan1995 wants to merge 1 commit into
Open
feat(helm): add Flow (RLA) helm chart and prereqs wiring#1932shayan1995 wants to merge 1 commit into
shayan1995 wants to merge 1 commit into
Conversation
9d44e33 to
32afe1b
Compare
Collaborator
|
Shouldn't this go in |
32afe1b to
77235e2
Compare
kunzhao-nv
reviewed
May 27, 2026
5e4f945 to
3ce5e29
Compare
Adds the Flow rack lifecycle orchestrator (formerly RLA) helm chart at
helm/charts/nico-flow/, alongside the rest of the NICo subcharts. Flow
runs as a single pod with three gRPC containers — flow (50051), psm
(50052), nsm (50053) — sharing a SPIFFE cert and communicating over
headless Services that DNS-resolve to the pod IP. This mirrors the
upstream forged deployment.
Flow ships as a STANDALONE Helm release (release name "flow", namespace
"flow"), NOT as part of `helm install nico ./helm`. The nico umbrella
declares it as a conditional dependency with nico-flow.enabled defaulted
to false in helm/values.yaml — this keeps the chart in its conventional
helm/charts/ location while preventing Helm v3+ from auto-rendering it
into the nico release (where it would conflict with nico-prereqs over
the nico-system namespace).
Wires per-component dependencies into helm-prereqs so ./setup.sh brings
flow up end-to-end:
- postgresql.yaml: provisions flow/psm/nsm databases and roles on
nico-pg-cluster
- eso-external-secrets.yaml: ClusterExternalSecrets sync the
per-service DB credentials into the flow namespace
- flow-vault-tokens-job.yaml (new): post-install hook mints scoped
Vault tokens for psm/nsm and writes them as Secrets in the flow ns
- values.yaml: new flow.enabled / flow.namespace toggles; flips
vault.nicoApiK8sAuth.enabled=true (carbide-api requires the role)
setup.sh phase 7i deploys the chart with a pre-apply Certificate dance
to avoid cert-manager / FailedMount races, waits for vault tokens and
ESO DB-cred syncs, then helm upgrade --installs flow. clean.sh and
health-check.sh updated to cover the new namespace and resources.
The nico-flow Namespace template carries helm.sh/resource-policy: keep
so uninstalling flow does not wipe the prereqs-managed secrets that
live in the namespace.
3ce5e29 to
a0c2adf
Compare
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
Adds a standalone helm-flow/ chart deploying the Flow rack lifecycle orchestrator (formerly RLA) as a single pod with three gRPC containers - flow (50051), psm (50052), nsm (50053). Mirrors the upstream forged deployment: containers share a SPIFFE cert and talk over headless Services that DNS-resolve to the pod IP.
Wires per-component dependencies into helm-prereqs so ./setup.sh brings flow up end-to-end:
setup.sh phase 7i deploys the chart with a pre-apply Certificate dance to avoid cert-manager / FailedMount races, waits for vault tokens and ESO DB-cred syncs, then helm upgrade --installs flow. clean.sh and health-check.sh updated to cover the new namespace and resources.
Type of Change
Related Issues (Optional)
Breaking Changes
Testing
Additional Notes
helm-flow/ lives at the repo root (not under helm/charts/) so the nico umbrella does not auto-discover it as a subchart. The Namespace template carries helm.sh/resource-policy: keep so uninstalling flow does not wipe the prereqs-managed secrets that live in the namespace.