Skip to content

Configuration ​

Modules are configured through environment variables and Kubernetes values. Secrets must never be committed to Git.

Common patterns ​

ConcernTypical variable / value keyNotes
HTTP portPORTChart service port
DatabaseDATABASE_URLOne DB per module
Public base URLPUBLIC_BASE_URL / web config.jsonBrowser-facing origin
OIDCIssuer URL, client id, audienceMust match gateway + web app
StripeSTRIPE_SECRET_KEY, webhook secretTest mode for V1
NATSNATS_URLJetStream enabled
TemporalHost / namespaceScheduler workers
Adapter modee.g. PSP_PROVIDER, market/EWDS flagsmock vs real implementation

Exact keys live in each chart’s values.yaml and module README under services/<module>/.

Per-environment values ​

Copy the structure of deploy/envs/ as a starting point:

  1. Create values-<your-env>.yaml with image registry, replica counts, ingress hosts, and secret references.
  2. Keep secret values in your secret manager; mount them as Kubernetes Secrets or envFrom.
  3. Document your own hostnames — do not hard-code upstream demo DNS.

Web app config ​

The reference UI loads a small JSON config (API base URL, OIDC client settings). Generate it from your chart or ConfigMap so the same image can run in multiple environments.

Feature and adapter switches ​

Business integrations are behind ports (hexagonal adapters). Prefer configuration to select:

  • Stripe vs mock PSP
  • Mock market / EWDS vs real gateways
  • Mail catcher vs real SMTP

See Adapters.

Horizon Europe INTELLIGENT (GA 101160678) · Task T5.6 · Deliverable D5.5