Ignis Helm Chart

Configuration

API (app.api)

ParameterDescriptionDefault
app.api.replicaCountNumber of API replicas1
app.api.image.repositoryAPI image repositoryignis-api
app.api.image.tagAPI image taglatest
app.api.resourcesCPU/memory resource limitsSee values.yaml
app.api.hostnamesHostnames for API HTTPRoute; empty disables the route[]
app.api.sparkSettings.endpointFHIR endpoint URLhttp://ignis-api:8080/fhir
app.api.sparkSettings.fhirReleaseFHIR release versionR4
app.api.externalMongodbConnectionStringExternal MongoDB connection string""
app.api.existingSecretUse existing Secret (skips chart-managed secret)""
app.api.extraEnvExtra {name, value} env entries set inline[]
app.api.fhirPackages.packagesExtra FHIR packages (id@version) fetched at startup[]
app.api.fhirPackages.registryRegistry that the init container fetches fromhttps://packages.fhir.org
app.api.podAnnotationsAnnotations applied to the api pod template{}

Add FHIR conformance packages for $validate without rebuilding the image — an init container downloads each one on top of the image's built-in set:

sh
helm upgrade --install ignis infra/helm \
--set 'app.api.fhirPackages.packages[0]=hl7.fhir.no.basis@2.2.0' \
--set 'app.api.fhirPackages.packages[1]=hl7.fhir.eu.base@2.0.0'

Downloads need network at startup. For air-gapped clusters, mount a volume of *.tgz via extraVolumes/extraVolumeMounts and point the API at it with extraEnv: [{name: ProfileValidationSettings__PackageDirectory, value: /your/mount}]. The same extraEnv switches parsing to strict: {name: Validation__Parsing, value: Strict}. See the validation guide for the profile story.

Web (app.web)

ParameterDescriptionDefault
app.web.enabledEnable Web deploymenttrue
app.web.replicaCountNumber of Web replicas1
app.web.image.repositoryWeb image repositoryignis-web
app.web.image.tagWeb image taglatest
app.web.resourcesCPU/memory resource limitsSee values.yaml
app.web.hostnamesHostnames for Web HTTPRoute; empty disables the route[]
app.web.existingSecretsNames of Secrets mounted as env vars via envFrom[]
app.web.extraEnvExtra {name, value} env entries set inline[]
app.web.podAnnotationsAnnotations applied to the web pod template{}

The Web BFF reads all its configuration from environment variables. Wire credentials through existingSecrets; pass non-secret feature flags through extraEnv:

bash
kubectl create secret generic ignis-web-oauth \
--from-literal=IGNIS_WEB_CLIENT_ID=ignis-web \
--from-literal=IGNIS_WEB_CLIENT_SECRET=... \
--from-literal=IGNIS_WEB_SESSION_SECRET="$(openssl rand -hex 32)" \
--from-literal=IGNIS_AUTH_ISSUER=https://api.example.com \
--from-literal=IGNIS_WEB_APP_URL=https://ignis.example.com
helm install ignis infra/helm \
--set db.auth.password="$MONGO_PASSWORD" \
--set 'app.web.existingSecrets[0]=ignis-web-oauth' \
--set 'app.web.extraEnv[0].name=IGNIS_WEB_FEATURES_AUTH' \
--set-string 'app.web.extraEnv[0].value=true' \
--set 'app.web.extraEnv[1].name=IGNIS_WEB_FEATURES_ADMIN' \
--set-string 'app.web.extraEnv[1].value=true'

Multiple Secrets are supported (e.g. one synced by External Secrets, one with the session key) — list them all under existingSecrets.

Gateway API (app.gateway)

ParameterDescriptionDefault
app.gateway.enabledEnable HTTPRoute resources for components with hostnames configuredtrue
app.gateway.nameName of the Gateway to attach toignis-gateway
app.gateway.namespaceNamespace of the Gateway""

Traefik (traefik)

ParameterDescriptionDefault
traefik.enabledDeploy Traefik with Gateway API supporttrue
traefik.gateway.nameName of the Gateway resource Traefik createsignis-gateway

See the Traefik Helm chart for all available Traefik parameters.

MongoDB (db)

ParameterDescriptionDefault
db.enabledEnable MongoDB deploymenttrue
db.image.repositoryMongoDB image repositorymongo
db.image.tagMongoDB image tag8
db.auth.usernameMongoDB usernameignis
db.auth.passwordMongoDB password (required when enabled)""
db.auth.databaseMongoDB database nameignis
db.auth.existingSecretUse existing Secret for credentials""
db.persistence.enabledEnable persistent storagetrue
db.persistence.sizePVC size10Gi
db.persistence.storageClassStorage class""
db.resourcesCPU/memory resource limitsSee values.yaml
collected from infra/helm/README.md