Skip to content

[deploy] gateway 子 chart 落地:启用 APISIX 官方 chart 依赖 + config/插件 ConfigMap 注入 + 装进单 ns #17

@JIAQIA

Description

@JIAQIA

背景

deploy/charts/gateway/ 当前为占位(Chart 0.0.0-placeholderapisix.enabled=false、NOTES/values 均为钩子),未可部署。M1「单命名空间端到端贯通」要求 APISIX 经 chart 装进单 ns。按 D5「子仓交付 image/config-as-code、主仓 owns charts」,chart 落地属主仓。

配置事实源在 submodule services/gateway(standalone 声明式、无 etcd):apisix/{config.yaml,apisix.yaml} + plugins/{tenant-context,audit-log}.lua

本 issue 支撑 hashmatrix-gateway#4 的完成判据「APISIX 经 chart 装进单 ns」,与其子项 G4(网关侧集群配置接点)联调。

范围

  • deploy/charts/gateway/
    • 启用 APISIX 官方 chart 依赖Chart.yaml dependencies;etcd.enabled=false,standalone / config_provider: yaml)。
    • 把 submodule 的 apisix.yaml + 自定义 Lua 插件渲染/挂载为 ConfigMap(插件挂载机制:initContainer / 卷挂载,二选一拍板并落档)。
    • values.yaml 注入部署级oidc.discovery(in-cluster Keycloak)、上游目标(真实 in-cluster governance,见 G4)、tenancy.brandingProfile(部署级品牌,默认 emerald)。
    • App 端口 9080(与基线一致);NOTES 输出可用访问指引。
  • 装进本地 kind 单 ns 验证(与 tools/local-infra 协同)。

注入机制决策(主仓拍板,G4 跟随)

  • env-specific 字段(discovery URL、上游 host)由 chart values → ConfigMap 渲染注入;submodule apisix.yaml 保留本地 compose 自洽(mock-upstream 仅本地)。子仓不各自发明注入方式。
  • Service 端口约定(落档,避免漂移):集群内各 Service→Pod 用应用容器端口——governance 8082、Keycloak 8080(基线 8180 仅宿主/dev 暴露,勿写进集群侧 discovery/upstream)。chart values 默认值按此约定给出。

验收

  • helm template/helm install 渲染出 APISIX + ConfigMap(config/插件),无占位残留
  • 装进 kind 单 ns,Pod Ready,9080 经 Service 可达
  • oidc.discovery/上游由 values 注入生效(指向 in-cluster Keycloak / governance)
  • 红线自检通过

关联

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