Configuration¶
The Helm chart has two main configuration layers:
- Chart values control Kubernetes resources such as Deployments, storage, routing, role-based access control (RBAC), jobs, and monitoring.
sitesConfigsets application configuration insites-config/config.yaml.
Read the values and defaults from the same published chart release that you plan to install:
Replace 2.7.1 with the approved chart version. The guides in this section
describe supported settings and their effects.
Compose environment values¶
Use the chart defaults and a small environment override. Do not copy every chart value into the environment file. This example shows the main choices:
# Name shown in the app.kubernetes.io/part-of label.
nameOverride: ""
# Optional: name of a pre-created image pull Secret if an image repository
# requires authentication. Standard platform images do not.
# The chart always creates the `sites`, `sites-hub`, and `sites-jobs`
# ServiceAccounts and their RBAC; resources deploy to the Helm release
# namespace.
serviceAccount:
imagePullSecretName: ""
# Keep all platform images on a tested, lockstep release tag.
images:
registry: eccr.ecmwf.int
pullPolicy: IfNotPresent
tag: "2.7.1"
# Set component repositories only when they differ from chart defaults.
# Add only the application settings that differ from their schema defaults.
sitesConfig:
debug: false
dev: false
hub:
administrator_groups: ["platform-admins"]
staff_groups: ["platform-staff"]
oidc:
issuer_url: https://accounts.example.org/realms/sites
account_url: https://accounts.example.org/realms/sites/account
redirect_uri: https://sites.example.org/oidc_callback
# Redis tuning directives. Replace only when the workload needs it.
redisConfig: |
maxmemory 200mb
maxmemory-policy allkeys-lru
# Pod sizing and deployment controls. Set requests and limits from measured
# usage and cluster capacity.
hub:
replicas: 1
hpa:
enabled: true
minReplicas: 1
maxReplicas: 3
# This PVC stores platform data; it is not the per-site content volume.
storage:
data:
name: sites-data-pvc
accessModes: [ReadWriteMany]
storageClassName: shared-storage
size: 100Gi
# Cron schedules use five fields: minute hour day-of-month month day-of-week.
cron:
backup:
schedule: "0 1 * * *"
suspend: false
quota:
schedule: "0 6 * * *"
retention:
schedule: "0 9 * * 1"
# Public host and TLS are shared by the Hub and all sites.
routing:
mode: ingress
host: sites.example.org
scheme: https
hsts: true
tls:
enabled: true
secretName: sites-tls
ingress:
className: nginx
# Update namespace names to match the data plane and monitoring services.
networkPolicy:
enabled: true
ingressNamespace: ingress-nginx
monitoringNamespace: monitoring
quota:
enabled: true
cpu: "32"
memory: 32Gi
# Enable only when the Prometheus Operator selects these resources.
serviceMonitor:
enabled: false
This is an example structure, not a complete values file. Review the chart defaults and the other guides before you install it. In particular, create required Secrets separately and confirm storage and network policy settings.
Configuration schema and chart values¶
The chart values are available from the published artifact with
helm show values. The application setting definitions and defaults are in
models.py.
When these sources differ, the application schema is the source of
application defaults; the chart controls which settings it overrides.
Apply configuration changes¶
Render and inspect values before applying them. A changed ConfigMap checksum restarts the Hub and Operator automatically. Existing sites may need an update before they use changed site defaults, branding, routing, or exported settings. Use Force Upgrade All Sites when application versions have not changed; see upgrades and rollback. Review the relevant procedure in secrets and integrations or routing and networking.
Configuration reference pages¶
| Page | Covers |
|---|---|
| Chart values | Every chart value group and option: images, storage, routing resources, jobs, monitoring, Secrets, PriorityClasses, Hub tuning |
| Application settings | sitesConfig: root settings, hub, branding, site, operator, jobs, cache, kubernetes, and the generated routing model |
| External service settings | email, jira, session, oidc, ldap, directory, splunk, opensearch, and the integrations switches |
| Migration settings | The content mirror: settings, cycle behaviour, and the migration procedure |
| Site creation templates | Template sources and precedence, the siteTemplates chart value, and the template file format |