docs(#1528): document the MySQL DB identity model + edgeuser retirement (D10) - #660
Merged
Merged
Conversation
divyasinghds
requested review from
aptracebloc
and removed request for
saadqbal
August 11, 2026 07:36
LukasWodka
added a commit
that referenced
this pull request
Aug 11, 2026
… PR trigger (backend#1681) (#665) `Source-of-truth drift` is a REQUIRED status check on develop and on main, but `drift-checks.yaml` only fires on PRs touching scripts/, client/ or itself. A PR outside those paths therefore never produces the check, GitHub leaves it at "Expected - waiting for status to be reported", and the PR is unmergeable with no failing check to point at. Measured on 2026-08-11 this was blocking three open PRs at once - client#651 (org-standards sync), #657 (Makefile) and #660 (docs) - none of which touch the filtered paths. Two of the three had already been approved. `pull_request` loses its paths filter so the required check always reports. The job is ~10s (measured across its last three runs), which is nothing next to a permanently stuck PR. `push` keeps its filter: pushes are not gated by required checks, so path-scoping there is free and correct. The repo already documents this hazard in standard-checks.yml's header; this is the same rule applied to the workflow that broke it. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
saadqbal
approved these changes
Aug 11, 2026
…nt (D10)
SECURITY.md described the training-pod credential model (G1) but never the
MySQL database identity model, and mentioned edgeuser only obliquely. The
RFC-0003 D10 close-out (backend#1528) makes that model a first-class security
property, so document it:
- §4.1.1 — the two databases, the least-privilege identities (per-experiment
users, tb_credmgr, tb_meta, tb_ingest) and edgeuser's legacy
root-equivalence, with per-identity scope/consumer/status, and the staged
S1→S2→S3 retirement.
- §8.10 — edgeuser root-equivalence as a tracked residual risk with the
staged, per-fleet rollout (mirrors the §8.2 egress-lockdown style).
- §10 — code paths for the minting (sql_utils.ensure_*_account) and the
serviceDbAccounts gate.
- §11 — history entry.
Docs only; reflects current state accurately (S1 merged/minting-capable but
default-off, consumers still on edgeuser until S2). Part of the backend#1528
S0/S1 groundwork ("document the identity model — it never mentions edgeuser
today").
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
divyasinghds
force-pushed
the
docs/1528-security-db-identity-model
branch
from
August 11, 2026 09:57
b8991e5 to
5254ac1
Compare
aptracebloc
approved these changes
Aug 11, 2026
4 tasks
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
Document the in-cluster MySQL database identity model in
docs/SECURITY.md— the S0/S1 groundwork for backend#1528 (RFC-0003 D10 close-out: retire the root-equivalentedgeuser, minttb_meta+tb_ingest). The doc described the training-pod credential model (G1) but never the DB identity model, and mentionededgeuseronly obliquely.Changes (docs only)
metadata,training_test_datasets), the least-privilege identities (per-experiment users,tb_credmgr,tb_meta,tb_ingest) andedgeuser's legacy root-equivalence, as a per-identity scope / consumer / status table, plus the stagedS1 → S2 → S3retirement.edgeuserroot-equivalence as a tracked gap with the staged, per-fleet, reversible-until-S3 rollout (mirrors the §8.2 egress-lockdown style).client-runtime:sql_utils.ensure_*_account) and theserviceDbAccountsgate.Accuracy / current state
Reflects the fleet reality today, not the end state:
edgeuseris still root-equivalent and still the default authentication identity for jobs-manager, requests-proxy, and ingestion pods.serviceDbAccountsdefaults off, sotb_meta/tb_ingestaren't minted anywhere yet and nothing consumes them until S2.tb_credmgr+ per-experiment users are the already-shippedperExperimentDbCredsmechanism (backend#1181).Review ask
This is customer-facing security wording — please sanity-check the identity/scope/consumer table in §4.1.1 and the §8.10 rollout against your intent for the D10 close-out.
Refs: backend#1528 (D10 close-out); client-runtime#290 / client#643 (S1).
🤖 Generated with Claude Code
Note
Low Risk
Documentation-only changes to customer-facing security wording; no runtime or credential behavior changes.
Overview
docs/SECURITY.mdnow documents the in-cluster MySQL least-privilege identity model and the planned retirement of root-equivalentedgeuser, as part of RFC-0003 D10 / backend#1528.Under §4.1.1, it adds a table for
metadatavstraining_test_datasets, identities (per-experiment users,tb_credmgr,tb_meta,tb_ingest, legacyedgeuser), who uses each, and current status—including thatserviceDbAccounts(default off) mintstb_meta/tb_ingestat jobs-manager startup without consumers yet. It also describes the S1 → S2 → S3 rollout (mint → switch consumers → dropedgeuser).§8.10 tracks
edgeuserroot-equivalence as an in-progress G1 residual risk with the same staged, fleet-by-fleet rollout. §10 links minting toclient-runtime:sql_utils.ensure_*_accountand theserviceDbAccountsgate in chart templates. §11 adds a 2026-08 history entry.Reviewed by Cursor Bugbot for commit 5254ac1. Bugbot is set up for automated code reviews on this repo. Configure here.