Skip to content

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.
  • sitesConfig sets application configuration in sites-config/config.yaml.

Read the values and defaults from the same published chart release that you plan to install:

helm show values oci://eccr.ecmwf.int/sites-oss/ecmwf-sites \
  --version 2.7.1

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