Skip to content

deploy(data-foundation): datasource env 接线 + D7 主密钥 Secret 注入 #63

Description

@uniquehole

拆自 #50(总纲 WP3 · D7 主密钥注入 + 持久层接线)。父:#50。落 D7:主密钥部署期注入、绝不入库。

背景

data-foundation 子仓 M2 引入了 JPA 持久层(独立 PG database df)+ AES-GCM 凭据加密(PR #14)。但 deploy/charts/data-foundation/ 仍是 M1 形态——values.yaml 明确注「M1 app 无持久 datasource → 不注入 PG env」,且无 DS_SECRET_KEY。chart 需补两块接线,否则部署起不来(CryptoService 缺密钥即 fail-fast)。

要达成

  • 平台 PG 增 data-foundation 独立 databaseinfra-dev postgres init 增建 df(独立 db,对齐各服务独立 database 基线)
  • datasource env 注入templates/deployment.yaml + values.yaml):DATA_FOUNDATION_DB_URL(指向 infra-dev PG 的 df 库)、DATA_FOUNDATION_DB_USER/PASSWORD(dev 占位 / prod 经 values 覆盖)
  • D7 主密钥 Secret 注入:新增 templates/secret.yaml(或复用平台 Secret 约定)渲染 DS_SECRET_KEY,deployment 经 valueFrom.secretKeyRef 注入;values 仅占位、明文绝不入库(红线);Base64 32 字节(AES-256)
  • 更新 values.yaml 头部注释(删除「不注入 PG env」的过时说明)
  • README 记一行:主密钥来源(部署期 Secret),轮换为后置(secret_ref 间接层已预留)

红线(D7)

主密钥仅经 K8s Secret 注入、git 无明文;明文口令绝不落库/日志(应用侧已守,chart 侧不得回灌明文)。values 用占位(如 changeme-dev-only 注释提示 prod 必换)。

验收

单 ns helm install 后 data-foundation Pod 起、readiness 绿;Flyway 建表成功(dfdata_source 表);DS_SECRET_KEY 来自集群 Secret;git grep 无明文主密钥。

对接

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions