Skip to content

feat(charts): productize streaming-hub ConfigMap onto lerian-common - #1832

Closed
guimoreirar wants to merge 1 commit into
feat/streaming-hubfrom
feat/streaming-hub-productize
Closed

feat(charts): productize streaming-hub ConfigMap onto lerian-common#1832
guimoreirar wants to merge 1 commit into
feat/streaming-hubfrom
feat/streaming-hub-productize

Conversation

@guimoreirar

Copy link
Copy Markdown
Member

Stacked on #1712 (which adds the chart). Retarget to main once #1712 merges.

What

Productizes the streaming-hub ConfigMap onto the lerian-common library chart, following the #1741 pattern already applied to br-ccs/br-sta/br-slc: every non-sensitive env key resolves through lerian-common.cfgValue into 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

  • 0 value changes on the 39 pre-existing keys (verified by rendering HEAD vs this branch and diffing every shared key).
  • 28 real .env-contract gaps closed — dispatch, pull, idempotency, autodisable, manifest, kafka TLS/SCRAM-username/CA, kek ref, aws, security opt-ins, swagger, health window, bare MULTI_TENANT_ENABLED, OTEL_INSECURE_EXPORTER.
  • 0 keys removed, 0 new chart-only keys (coverage self-check clean: 0 FAIL).

Notes

  • 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.enabled toggle + downward-API endpoint override, not lib-observability's ENABLE_TELEMETRY contract — so the otel.env helper deliberately does not apply here.
  • KEK_REF and KAFKA_SCRAM_USERNAME move Secret → ConfigMap (non-sensitive: a var-name reference and a username). The SCRAM password and DEV_KEK stay in the Secret.
  • Role-injected per-Deployment vars (STREAMING_HUB_ROLE, Postgres pool sizes) stay out of the shared ConfigMap by design.
  • Adds lerian-common-helm 1.4.0 as the sole (library) dependency; regenerates values.schema.json (strict grouped blocks, mode enum preserved) and README.params.md.

Validation

  • helm lint clean; renders OK in both mode=all and mode=split.
  • values.schema.json rejects typo'd grouped keys and off-enum mode; clean render still passes.

@coderabbitai

coderabbitai Bot commented Aug 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • develop

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7673a996-70f2-425e-8dcc-008cbd5e7652

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

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.
@guimoreirar
guimoreirar force-pushed the feat/streaming-hub-productize branch from 16d219b to 1cd102a Compare August 4, 2026 19:36
@guimoreirar guimoreirar changed the title feat(streaming-hub): productize ConfigMap onto lerian-common feat(charts): productize streaming-hub ConfigMap onto lerian-common Aug 4, 2026
@guimoreirar

Copy link
Copy Markdown
Member Author

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.

@guimoreirar guimoreirar closed this Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant