feat(charts): productize streaming-hub ConfigMap onto lerian-common - #1832
feat(charts): productize streaming-hub ConfigMap onto lerian-common#1832guimoreirar wants to merge 1 commit into
Conversation
170ea59 to
16d219b
Compare
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Route every non-sensitive env key through lerian-common.cfgValue into typed, schema-validated grouped blocks (precedence: common.configmap.<KEY> escape hatch > streamingHub.<group>.<field> > chart default). Defaults live in the template; the grouped blocks ship empty. Existing keys render byte-identical (0 value changes); 28 real .env-contract gaps closed (dispatch, pull, idempotency, autodisable, manifest, kafka TLS/SCRAM-user/CA, kek ref, aws, security opt-ins, swagger, health window, bare MULTI_TENANT_ENABLED, OTEL_INSECURE_EXPORTER). - PLUGIN_AUTH_ENABLED/ADDRESS resolve via global.auth (globalValue) so the env-wide auth endpoint is shared across services. - OTEL_* stay as cfgValue (observability group): the app uses a chart-level telemetry toggle + downward-API endpoint override, not lib-observability's ENABLE_TELEMETRY contract, so the otel.env helper does not apply. - KEK_REF and KAFKA_SCRAM_USERNAME move from the Secret to the ConfigMap (non-sensitive: a var-name reference and a username); the SCRAM password and DEV_KEK stay in the Secret. - Add lerian-common-helm 1.4.0 as the sole (library) dependency. - Regenerate values.schema.json (strict grouped blocks, mode enum preserved) and README.params.md. Role-injected per-Deployment vars (STREAMING_HUB_ROLE, Postgres pool sizes) remain out of the shared ConfigMap by design.
16d219b to
1cd102a
Compare
|
Superseded: a produtização foi dobrada no #1712 (chart novo + productization no mesmo PR, base main → lerian-common presente → CI verde). Split em PR separado só fazia sentido pros charts BR que já existiam no main. |
Stacked on #1712 (which adds the chart). Retarget to
mainonce #1712 merges.What
Productizes the streaming-hub ConfigMap onto the
lerian-commonlibrary chart, following the #1741 pattern already applied to br-ccs/br-sta/br-slc: every non-sensitive env key resolves throughlerian-common.cfgValueinto typed, schema-validated grouped blocks.Precedence:
common.configmap.<KEY>(native escape hatch) >streamingHub.<group>.<field>(grouped param) > chart default. Defaults live in the template; grouped blocks ship empty ({}).Guarantees
.env-contract gaps closed — dispatch, pull, idempotency, autodisable, manifest, kafka TLS/SCRAM-username/CA, kek ref, aws, security opt-ins, swagger, health window, bareMULTI_TENANT_ENABLED,OTEL_INSECURE_EXPORTER.Notes
PLUGIN_AUTH_ENABLED/ADDRESSresolve viaglobal.auth(globalValue) so the env-wide auth endpoint is shared across services.OTEL_*stay ascfgValue(observability group): the app uses a chart-leveltelemetry.enabledtoggle + downward-API endpoint override, not lib-observability'sENABLE_TELEMETRYcontract — so theotel.envhelper deliberately does not apply here.KEK_REFandKAFKA_SCRAM_USERNAMEmove Secret → ConfigMap (non-sensitive: a var-name reference and a username). The SCRAM password andDEV_KEKstay in the Secret.STREAMING_HUB_ROLE, Postgres pool sizes) stay out of the shared ConfigMap by design.lerian-common-helm1.4.0 as the sole (library) dependency; regeneratesvalues.schema.json(strict grouped blocks,modeenum preserved) andREADME.params.md.Validation
helm lintclean; renders OK in bothmode=allandmode=split.values.schema.jsonrejects typo'd grouped keys and off-enummode; clean render still passes.