Draft: docs: add self-managed GATE install guide (IAM data access + GLAZ)
What
Adds docs/self-managed-install-gate.md — a self-managed install guide for the GATE auth layer that gates Artifact Registry (AR): the iam-data-access gRPC service and the GLAZ authorization sidecar.
It is the companion to the AR self-managed CNG baseline (gitlab-org/ops/artifact-registry, MR !921), which installs AR without auth and explicitly defers the GATE components to a companion doc. This MR is that companion.
Why
To document the as-is customer flow for running iam-data-access + GLAZ from their Fairway-generated charts on top of an existing GitLab CNG + AR install, so reviewers can flag steps that are functionally untenable before closed beta — same intent and structure as the AR baseline doc.
Scope
Nine steps: provision IAM's DB → namespace + secrets → service-token coordination with GitLab → CONFIG_TOML → Helm values → install → gRPC verification → enable the GLAZ sidecar in AR → retire the AR bootstrap token. Plus a known-gaps table and open items.
Verification level (please read — this is deliberately honest)
- Verified live on the caproni dev cluster: the running
iam-data-accessservice is healthy — migrations applied,tokenauth: JWKS fetch OK,grpc.health.v1.Health/Check→SERVING,list/HealthRPCs work (this is how the staleupdate.v1.*→gitlab.iam.update.v1.*service naming was caught). - Derived, NOT run end to end: the from-scratch sequence in steps 1–6 (manual
CREATE DATABASE, hand-built secrets, theiam-values.yaml+helm upgrade --install). The rig provisions IAM via its own tooling (CloudNativePG-managed DB, a Fairway values file), so the Helm values shape / chart version / exact commands are plausible-from-sources but unverified in a clean room. - Not run at all: the GLAZ steps 8–9 — the glaz image is
linux/amd64only and could not be exercised on the arm64 dev cluster.
The doc's status table states all of the above.
Open questions for discussion
- Right home? This lives in the
iamrepodocs/. Alternatives: fold into AR MR !921, or a stacked MR there. Where should GATE-for-AR install docs live? docs/index.mdis currently scoped to "Rails Development Setup," so this K8s install guide doesn't fit that heading — left untouched. Add a new section / deployment-docs grouping?- Known gaps worth prioritizing (full table in the doc):
iam-data-access+ GLAZ images are amd64-only; the service-token cross-release coordination (GitLab chart ≥ 10.2);environmentcan'tsecretKeyRef(secrets end up plaintext inCONFIG_TOML);keys_urlendpoint skew (/-/cloud_connector/keysvs/oauth/discovery/keys);[platform.cors] allowed_originsrequired for a gRPC-only service; DB name/user hardcoded toiam-service. - Should we do a clean-room install to promote steps 1–6 from "derived" to "verified" before merging?