Skip to content

Configuration Guide

AetherLake is primarily configured via Helm values across the two charts (security-stack, core-data-stack).

For the full setting reference of each component — every value, default and gotcha — see the per-component pages under Component Reference in the sidebar. This page covers the cross-cutting configuration.

Component Toggles

Each core-data-stack component can be enabled or disabled in values.yaml:

yaml
minio:
  enabled: true

trino:
  enabled: true
  server:
    workers: 2      # Scale Trino workers

polaris:
  enabled: true

kafka:
  enabled: true
  external:
    enabled: true   # TLS + SCRAM-SHA-512 listener for clients outside the cluster

flink:
  enabled: true

spark-operator:
  enabled: true

airflow:
  enabled: true

superset:
  enabled: true

milvus:
  enabled: true

sso:
  enabled: true     # oauth2-proxy SSO gate for the Trino UI and Milvus Attu

Keycloak is toggled in the security-stack chart (keycloak.enabled).

Kafka + Trino coupling

Disabling kafka while keeping the Trino kafka catalog configured leaves the catalog pointing at a missing bootstrap service. Toggle the two together, or drop trino.additionalCatalogs.kafka when Kafka is off.

Security & Secrets Management

All credentials are managed through Kubernetes Secrets (aetherlake-credentials and its identical twin open-lake-credentials), referenced by all components:

yaml
global:
  existingSecret: "aetherlake-credentials"

Every value is randomly generated by install.sh per install. Re-running the installer keeps existing values and only backfills keys added by newer releases, so credentials never drift between upgrades.

Frequently needed keys:

KeyWhat it is
realm-admin-passwordKeycloak SSO login for the bootstrap admin user (change forced on first login)
keycloak-admin-passwordKeycloak admin console
superset-admin-passwordSuperset bootstrap admin
oauth2-proxy-oidc-secret / oauth2-proxy-cookie-secretThe SSO gate in front of the Trino UI and Milvus Attu
trino-panel-svc-passwordTrino control-panel-svc user (Control Panel server-side admin queries)
trino-superset-passwordTrino superset user (Superset datasource)
trino-mcp-passwordTrino mcp user (MCP server, read-only)
trino-dev-admin-password / trino-dev-user-passwordTrino dev users for the Control Panel's local credentials login
trino-internal-shared-secretTrino coordinator↔worker shared secret (required once authentication is on)
trino-keystore-passwordPassword of the PKCS12 keystore cert-manager renders into trino-tls (Trino HTTPS listener)
polaris-client-id / polaris-client-secret / polaris-credentialPolaris bootstrap credential (id:secret combined form for Trino)
minio-root-user / minio-root-passwordMinIO root account
<client>-oidc-secretPer-service Keycloak client secrets (trino, airflow, minio, superset, control-panel…)

The Control Panel can dynamically provision and rotate secrets via the Kubernetes API.

IMPORTANT

DO NOT USE DEFAULT SECRETS IN PRODUCTION. Before exposing your AetherLake cluster to a public or production environment, you MUST:

  1. Change all default passwords in your secrets.yaml and values.yaml files.
  2. Ensure NEXTAUTH_SECRET is set securely.
  3. Use proper TLS certificates on the Ingress Controller.

Released under the Business Source License 1.1.