Uh oh!
There was an error while loading. Please reload this page.
sec(#1528): provision tb_meta + tb_ingest service-account Secrets (S1) - #643
Merged
Conversation
Chart side of backend#1528 S1 (RFC-0003 D10 close-out), paired with tracebloc/client-runtime's minting PR. jobs-manager mints two dedicated, single-database MySQL identities to replace the root-equivalent edgeuser; this wires the Secrets and env they read. - values: serviceDbAccounts (default false) + optional tbMetaPassword / tbIngestPassword operator pins, mirroring perExperimentDbCreds / credmgrPassword. Added to values.schema.json. - secrets.yaml: TB_META_PASSWORD / TB_INGEST_PASSWORD via the same generate-once, upgrade-stable 3-tier resolution as TB_CREDMGR_PASSWORD (operator pin -> existing Secret value -> randAlphaNum), alphanumeric-pin validation, emitted only when serviceDbAccounts is on. - jobs-manager-deployment: SERVICE_DB_ACCOUNTS=1 + TB_META_USER/TB_INGEST_USER + the two secretKeyRef passwords, rendered only when the flag is on. Gated so a default install is byte-identical (verified: `helm template` with the flag off renders none of the new keys). helm-unittest coverage added to secrets_test.yaml and jobs_manager_test.yaml (49 assertions, green). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
templates/values/schema changed, so the chart-version guard requires a version: bump — a Helm repo only publishes a new version, and an unbumped edit ships dark or overwrites a published tarball. Additive feature => patch bump. appVersion unchanged (wiring only, no app image change). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 37b151b. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
.cursor/BUGBOT.md flags a Chart.yaml version bump without the matching appVersion — app.kubernetes.io/version derives from appVersion, so leaving it at 1.9.27 would tag upgraded resources as the previous release. Every prior bump moved the two in lockstep; this restores that. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
saadqbal
approved these changes
Aug 7, 2026
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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 & why
Chart side of backend#1528 S1 (RFC-0003 D10 close-out), paired with tracebloc/client-runtime#290. jobs-manager mints two dedicated, single-database MySQL identities (
tb_meta,tb_ingest) to replace the root-equivalentedgeuser; this PR wires the Secrets + env they read.serviceDbAccounts(default false) + optionaltbMetaPassword/tbIngestPasswordoperator pins, mirroringperExperimentDbCreds/credmgrPassword. Added tovalues.schema.json.TB_META_PASSWORD/TB_INGEST_PASSWORDvia the same generate-once, upgrade-stable 3-tier resolution asTB_CREDMGR_PASSWORD(operator pin → existing Secret value →randAlphaNum), with alphanumeric-pin validation. Emitted only whenserviceDbAccountsis on.SERVICE_DB_ACCOUNTS=1+TB_META_USER/TB_INGEST_USER+ the twosecretKeyRefpasswords, rendered only when the flag is on.Safety
Gated so a default install is byte-identical — verified with
helm template: flag off renders none of the new keys; flag on renders the Secret keys (pins decode correctly) and the deployment env. The mirrored node-agents Secret intentionally does not carry the service creds.Tests
helm unittest ./client—secrets_test.yaml+jobs_manager_test.yamlextended (49 assertions across the two suites, green). (5 pre-existing failures in other suites are a local helm-unittest 1.1.2 / helm v4 vs CI-pinned 0.5.2 artifact, present on cleandeveloptoo — not touched here.)Merge coordination
Safe in any order with #290: the env only exists when
serviceDbAccounts=true, and the runtime mint is inert until the env is present. Neither is enabled by default.🤖 Generated with Claude Code
Note
Low Risk
Changes are flag-gated and additive; default installs render no new secrets or env. Password handling mirrors the existing credmgr pattern with no runtime consumer switch in this PR alone.
Overview
backend#1528 S1 (RFC-0003 D10 close-out) wires chart support for dedicated MySQL service identities
tb_metaandtb_ingest, paired with client-runtime minting. Everything is behindserviceDbAccounts(defaultfalse) so a normal install stays byte-identical.When the flag is on,
secrets.yamladdsTB_META_PASSWORDandTB_INGEST_PASSWORDusing the same 3-tier resolution asTB_CREDMGR_PASSWORD(operator pin → existing Secret →randAlphaNum), with alphanumeric validation ontbMetaPassword/tbIngestPassword.jobs-manager-deploymentgetsSERVICE_DB_ACCOUNTS=1, fixed usernames, andsecretKeyReffor both passwords.values.yaml,values.schema.json, and chart version 1.9.28 document the knobs. helm unittest covers default-off rendering and flag-on Secret/env wiring.Reviewed by Cursor Bugbot for commit 6bdf91f. Bugbot is set up for automated code reviews on this repo. Configure here.