This repository was archived by the owner on Jul 22, 2026. It is now read-only.
feat(helm): migrate eRPC config from Vault into Helm charts (PLA-2003)#125
Draft
rguichard wants to merge 1 commit into
Draft
Conversation
… ConfigMap Non-secret eRPC config now lives in the repo at helm/environments/prd/erpc/config/erpc.yaml and is rendered into an 'erpc-config' ConfigMap (pre-install hook, sync-wave -4) so config changes are transparent, snapshot-able and PR-reviewed. Vault keeps only secrets (secret/data/erpc/secrets) and feature flags; the vault-config-creator job substitutes __SECRET_<KEY>__ placeholders as before. The erpc chart gains vault.configMapName: when set, the render job mounts the ConfigMap instead of Vault-injecting the config template. Only the main prd instance is migrated; erpc-dev/-fallback/-processing/-router keep their Vault config paths until their configs are exported the same way. Deploy prerequisite: add REDIS_PASSWORD and POSTGRES_PASSWORD entries to secret/data/erpc/secrets before syncing (the job fails hard on unresolved placeholders).
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
Moves the eRPC non-secret configuration out of Vault and into the repo so config is transparent, snapshot-able, and PR-reviewed. Vault keeps secrets and feature flags only.
Linear: PLA-2003
Changes
helm/environments/prd/erpc/config/erpc.yaml— the main instance's config, exported from Vaultsecret/data/erpc/config, with inline Redis/Postgres passwords replaced by__SECRET_REDIS_PASSWORD__/__SECRET_POSTGRES_PASSWORD__placeholders. API-key placeholders (__SECRET_PROVIDER_*__, etc.) unchanged.templates/configmap-erpc-config.yaml(prd env chart) — renders eachconfig/*.yamlinto a<basename>-configConfigMap as apre-install,pre-upgradehook (weight 0, sync-wave-4) so it is updated before thevault-config-creatorjob (weight 1, sync-wave-3).vault.configMapName(new, default"") — when set, the render job mounts the ConfigMap instead of Vault-injecting the config template. Secrets are still injected fromvault.secretsPathand substituted into placeholders; the job stillerpc validates the rendered config and fails hard on unresolved placeholders.vault.configMapName: erpc-config).erpc-dev/erpc-fallback/erpc-processing/erpc-routerkeep their Vault config paths until their configs are exported the same way (migration steps documented in the chart README).0.1.35 → 0.1.36, erpc-prd0.1.40 → 0.1.41(+ Chart.lock / vendored tgz).Add these keys to Vault
secret/data/erpc/secretsbefore syncing, or the render job will fail (by design):REDIS_PASSWORD— password from theredis://default:<pwd>@erpc-redis-haproxyURIsPOSTGRES_PASSWORD— password from thepostgres://postgres:<pwd>@erpc-db-*URIsTesting
./validate-helm-charts.sh— helm lint + kubeconform pass for both charts.helm templateon the prd env chart: main instance job mounts theerpc-configConfigMap and only injectserpc-secretsfrom Vault; the 4 other instances render unchanged (still inject theirconfig-*Vault paths).config/erpc.yamlparses with anchors and!!mergekeys intact (verified with yq).