Skip to main content

Platform Base configuration reference

This page lists the most important options and their defaults. The complete schema, with comments, is vendor/github.com/RocketPadPlatforms/base/config.libsonnet in your repository, for the release you vendored. You override an option in your cluster/config.libsonnet, use +: for nested options, see Install Platform Base.

Top-level options​

OptionPurpose
baseDomainsMandatory list of base domains. The first entry is the default for all hostnames.
argocdArgo CD: repository credentials, SSO, RBAC, SSH known hosts, ConfigMaps, plugins.
traefiktraefik.values is merged into the Helm values of Traefik.
tlsCertificate issuer, selfSigned or acme.
iamKeycloak ingress and the identity providers of the realms.
observabilityCollector and storage roles, profile, retention, alerting.
alloyalloy.livedebugging.enabled and alloy.values for Alloy.
grafanaGrafana base domain and single sign-on.
lokiLoki ingress, storage backend, retention and loki.values.
mimirMimir ingress, storage backend, retention and mimir.values.

Notable defaults​

OptionDefault
argocd.baseDomainbaseDomains[0]
argocd.platformRepoCreds.enabledfalse
argocd.rbac.defaultRolerole:readonly
argocd.rbac.scopes['groups']
argocd.sso.enabledtrue
argocd.sso.keycloakClient.enabledtrue
tls.issuer.typeselfSigned
iam.ingress.enabledtrue
iam.ingress.baseDomainbaseDomains[0]
grafana.baseDomainbaseDomains[0]
grafana.sso.enabledtrue
grafana.sso.roleAttributeStrictfalse
observability.clusterNamebaseDomains[0]
observability.profilesmall
observability.selfMonitoring.enabledtrue
observability.retentionenabled: true, period: '720h'
observability.collector.enabledtrue
observability.collector.logs.allPodsfalse
observability.collector.metrics.controlPlane.*false
observability.storage.enabledtrue
observability.storage.backend.typeminio
observability.storage.backend.s3.regionus-east-1
observability.storage.storageClassnull, the default class
observability.alerting.email.enabledfalse
alloy.livedebugging.enabledfalse
loki.ingress.enabledfalse
mimir.ingress.enabledfalse

Hostnames​

HostnameServesEnabledBase domain option
argocd.<baseDomain>Argo CDAlwaysargocd.baseDomain
grafana.<baseDomain>GrafanaWith observability.storage.enabledgrafana.baseDomain
iam.<baseDomain>Keycloakiam.ingress.enabled, on by defaultiam.ingress.baseDomain
loki.<baseDomain>Lokiloki.ingress.enabled, off by defaultloki.ingress.baseDomain
mimir.<baseDomain>Mimirmimir.ingress.enabled, off by defaultmimir.ingress.baseDomain

All base domain options default to baseDomains[0].

Secret values​

Options that take a credential use the same shape:

{ secretRef: { name: 'my-secret', key: 'my-key' }, value: null }

Set exactly one of secretRef and value. With secretRef, the Secret has to exist in the namespace where the component reads it. With value, Platform Base puts the value into the rendered manifests.

OptionNamespace of the Secret
tls.issuer.acme.route53.secretAccessKeytraefik
tls.issuer.acme.cloudflare.apiTokentraefik
tls.issuer.acme.cloudDNS.serviceAccounttraefik
iam.realms.<realm>.identityProviders.<key>.oidc.clientSecretiam
observability.storage.backend.s3.secretAccessKeymimir and loki
observability.alerting.email.smtp.authPasswordgrafana-alloy
observability.collector.logs.externalTarget.authgrafana-alloy
observability.collector.metrics.externalTarget.authgrafana-alloy

The argocd.platformRepoCreds fields are plain values. When enabled, they end up in a Secret in the argocd namespace.

warning

An inline value is not only in your Git repository, if you commit it there. It is also written into the spec of Argo CD Applications, for example into the bootstrap Application when you pass it through dynamicConfig, and into the Application of the component that uses it. Anyone who can read Applications in the cluster can read it. The same applies to argocd.platformRepoCreds, whose values end up in the argo-cd-core Application. Prefer secretRef.

cert-manager, kube-state-metrics, node-exporter and the operators have no options of their own, see Applications.