Skip to content

feat(payments): add helm chart - #233

Merged
tiana-code merged 1 commit into
mainfrom
feat/E-02-payments-helm
Jun 18, 2026
Merged

feat(payments): add helm chart#233
tiana-code merged 1 commit into
mainfrom
feat/E-02-payments-helm

Conversation

@tiana-code

Copy link
Copy Markdown
Owner

What

Final slice of E-02: the production Helm chart for the payments service (deploy/helm/payments), mirroring the CI-proven ledger chart (#68).

  • Deployment: read-only root filesystem + /tmp emptyDir (the Add Helm templates ledger-* #68 runtime lesson), non-root (65532), no privilege escalation, drop ALL caps, seccomp RuntimeDefault; actuator /actuator/health/{liveness,readiness} probes; HPA v2 (replicas omitted when autoscaling); image tag defaults to .Chart.AppVersion.
  • Config / secrets: non-secret env via ConfigMap; the datasource password, Keycloak client secret and webhook HMAC secret via secretKeyRef to a configurable existingSecret, guarded so a bare helm template renders valid - no secret values in the chart.
  • Toggles: sandboxBankEnabled defaults on (the only bank provider shipped here; the orchestrator requires one); dispatcherEnabled / retryEnabled default off. NOTES warns on an empty secret or a disabled sandbox.
  • Service config: adds the server + management health-group block to the payments application.yml (additive) so the probes resolve (readiness = readinessState,db, liveness = livenessState), plus structured logging and the HTTP request histogram for observability parity.
  • CI: helm-test.yml becomes a matrix over [ledger, payments] - both charts linted + helm template | kubeconform -strict.

Gates

:services:payments:test green. helm/kubeconform on CI. critic GO (sandbox-default-on applied), security-auditor PASS (no secret values, hardened pod security, §5.3 clean, 7/7 ACs), evaluator 0.93.

Closes #218

Ship a deployment chart for the payments service, mirroring the ledger chart: a
read-only-root-filesystem deployment with a /tmp emptyDir, non-root, dropped
capabilities, a config map for non-secret env, secretKeyRef injection of the
datasource password, Keycloak client secret and webhook HMAC secret from a
pre-existing secret, actuator liveness and readiness probes, a v2 autoscaler and
a service account. The sandbox bank defaults on (the only provider shipped here)
while the dispatcher and retry schedulers default off. Adds the actuator health
group config the probes need, and validates the chart in the helm CI matrix.

Closes #218
@tiana-code tiana-code added this to the v0.2.0 milestone Jun 18, 2026
@tiana-code
tiana-code merged commit 9fae089 into main Jun 18, 2026
10 checks passed
@tiana-code
tiana-code deleted the feat/E-02-payments-helm branch June 18, 2026 18:10
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.

F-02.11 Helm chart for payments service

1 participant