docs(kms): generalize tenant references in boot-config docs and fetch example

This commit is contained in:
2026-06-24 08:15:12 -07:00
parent 2b911b4841
commit 7be0e029f0
2 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -13,8 +13,8 @@
# - name: kms-fetch
# image: ghcr.io/hanzoai/kms-fetch:0.1.0
# env:
# - { name: KMS_URL, value: https://kms.{env}.vendor.com }
# - { name: KMS_PROJECT, value: hanzo }
# - { name: KMS_URL, value: https://kms.{env}.example.com }
# - { name: KMS_PROJECT, value: <project> }
# - { name: KMS_ENV, value: {env} }
# - { name: KMS_SECRETS, value: "DB_URL=path/db_url,API_KEY=path/api_key" }
# - { name: IAM_CLIENT_ID, valueFrom: { secretKeyRef: { name: <svc>-iam-bootstrap, key: client_id }}}
+5 -5
View File
@@ -320,9 +320,9 @@ func (e *Embedded) Stop(ctx context.Context) error {
// ExpectedAudience — are read from env only and never defaulted.
// validateProdConfigAtBoot rejects boot if any are empty, in every
// environment. The historical IAMEndpoint=https://hanzo.id default
// silently routed every service-account login to a foreign
// IAM and rejected every token, masking real outages — no env (dev,
// devnet, prod) gets a silent fallback anymore.
// silently routed every downstream-tenant service-account login to a
// foreign IAM and rejected every token, masking real outages — no env
// (dev, devnet, prod) gets a silent fallback anymore.
func applyEmbedDefaults(cfg EmbedConfig) EmbedConfig {
if cfg.DataDir == "" {
cfg.DataDir = envOr("KMS_DATA_DIR", "/data/hanzo-kms")
@@ -378,8 +378,8 @@ func applyEmbedDefaults(cfg EmbedConfig) EmbedConfig {
// validateProdConfigAtBoot rejects boot if identity-coupled config is
// missing. The hard-coded https://hanzo.id default silently routed
// every service-account login to the wrong IAM and rejected
// every token, masking real outages. There is no dev escape hatch —
// every downstream-tenant service-account login to the wrong IAM and
// rejected every token, masking real outages. There is no dev escape hatch —
// every Hanzo user (laptop, devnet, prod) gets the same contract:
// supply IAM_URL, IAM_ISSUER, IAM_AUDIENCE, IAM_KEYS_URL or refuse
// to boot.