Skip to main content

Default Values

Purpose: For platform engineers, provides every default configuration value organized by source, with override instructions.

Default values come from three sources. Understanding which source owns a default helps when troubleshooting unexpected behavior.

SourceDescriptionWhere to change
CLI defaultsValues applied by opencenter cluster init. Defined in internal/config/defaults.go and internal/config/defaults/ (provider-region registry).Config file or --set flag
Kubespray defaultsValues applied during Kubernetes deployment by Kubespray Ansible playbooks. Defined in generated group_vars/ inventory files.Kubespray inventory group_vars/
GitOps-base defaultsValues applied by Helm charts in the openCenter-gitops-base repository. Each service has hardened default values in its helm-values/ directory.Kustomize overlay override-values.yaml

Kubernetes Defaults​

CLI Defaults​

Applied by opencenter cluster init. Source: internal/config/defaults.go → defaultConfig().

FieldDefaultYAML Path
Kubernetes version1.33.5opencenter.cluster.kubernetes.version
Kubespray versionv2.29.1opencenter.cluster.kubernetes.kubespray_version
API port443opencenter.cluster.kubernetes.api_port
KubeVIP enabledtrueopencenter.cluster.kubernetes.kube_vip_enabled
Pod subnet10.42.0.0/16opencenter.cluster.kubernetes.subnet_pods
Service subnet10.43.0.0/16opencenter.cluster.kubernetes.subnet_services
CNI pluginCalico (enabled)opencenter.cluster.kubernetes.network_plugin.calico.enabled
Control plane count3opencenter.cluster.kubernetes.master_count
Worker count2opencenter.cluster.kubernetes.worker_count

Kubespray Defaults​

Applied during cluster deployment via generated Kubespray inventory. These are set in group_vars/k8s_cluster/ and group_vars/all/ within the generated inventory directory.

SettingDefaultInventory Variable
Container runtimecontainerdcontainer_manager
DNS domaincluster.localdns_domain
Pod Security enforcebaselinekube_pod_security_default_enforce
Pod Security auditrestrictedkube_pod_security_default_audit
Pod Security warnrestrictedkube_pod_security_default_warn
Admission controllersPodSecurity, EventRateLimit, AlwaysPullImageskube_apiserver_enable_admission_plugins
Audit loggingEnabledkubernetes_audit
Encryption at restEnabledkube_encrypt_secret_data

Kind Defaults​

Kind uses a separate configuration template. Source: internal/config/defaults/kind.yaml.

FieldDefault
Kubernetes version1.30.4
Control plane count1
Worker count2
Pod subnet10.244.0.0/16
Service subnet10.96.0.0/16
Ingress controllernginx
Registry enabledfalse

Provider-Specific Defaults​

OpenStack​

CLI defaults from the provider-region registry. Source: internal/config/defaults/openstack.go.

Defaults vary by region. The table below shows SJC3 region values; other regions (DFW3, IAD3, ORD1) follow the same structure with region-specific image IDs and NTP servers.

FieldDefault (SJC3)YAML Path
Bastion flavorgp.0.2.2opencenter.infrastructure.compute.flavor_bastion
Control plane flavorgp.0.4.8opencenter.infrastructure.compute.flavor_master
Worker flavorgp.0.4.16opencenter.infrastructure.compute.flavor_worker
Windows worker flavorgp.5.4.16opencenter.infrastructure.compute.flavor_worker_windows
Storage classcsi-cinder-sc-deleteopencenter.infrastructure.storage.default_storage_class
Availability zonesaz1, az2, az3Provider-region registry
OS versionUbuntu 24.04opencenter.infrastructure.os_version

Available OpenStack regions: sjc3, dfw3, iad3, ord1.

VMware​

VMware uses the same CLI defaults structure. Flavors and storage class are configured per-deployment since VMware environments vary.

FieldDefault
Control plane count3
Worker count2

Baremetal​

Baremetal uses the shared CLI defaults for Kubernetes versioning, node counts, networking, and security hardening. Host inventory remains operator-supplied.

FieldDefault
Control plane count3
Worker count2
Provisioning modelPre-provisioned hosts

Security Defaults​

These defaults span CLI and Kubespray sources.

SettingDefaultSource
Secrets backendsops (Age-based encryption)CLI
Age key rotation90 daysCLI
SSH key rotation180 daysCLI
OS hardeningEnabledCLI (opencenter.cluster.networking.security.os_hardening)
K8s hardeningEnabledCLI (opencenter.cluster.kubernetes.security.k8s_hardening)
Pod Security enforcebaselineKubespray
Pod Security auditrestrictedKubespray
Audit loggingEnabledKubespray
Encryption at restEnabledKubespray
Admission controllersPodSecurity, EventRateLimit, AlwaysPullImagesKubespray

Service Defaults​

Services are configured in the opencenter.services map. Source: internal/config/defaults.go → defaultConfig().

Enabled by Default​

These services are enabled when opencenter cluster init runs with the default OpenStack provider:

ServiceEnabledNotes
calicoyesDefault CNI plugin
cert-manageryesTLS certificate automation
etcd-backupyesetcd backup to S3/Swift
external-snapshotteryesVolume snapshot support
fluxcdyesGitOps controller
gatewayyesGateway controller
gateway-apiyesGateway API CRDs
headlampyesCluster dashboard UI
keycloakyesIdentity and access management
kube-prometheus-stackyesMonitoring (Prometheus, Grafana, Alertmanager)
kyvernoyesPolicy engine
lokiyesLog aggregation
olmyesOperator Lifecycle Manager
openstack-ccmyesOpenStack cloud controller
openstack-csiyesOpenStack Cinder CSI driver
postgres-operatoryesPostgreSQL operator
rbac-manageryesDeclarative RBAC management
sourcesyesFluxCD GitRepository sources
tempoyesDistributed tracing
veleroyesBackup and disaster recovery

Disabled by Default​

ServiceEnabledNotes
vsphere-csinoOnly for VMware environments
weave-gitopsnoAlternative GitOps UI
alert-proxynoRequires device ID, service token, and account number

GitOps-Base Service Versions​

Service versions are pinned in the openCenter-gitops-base repository under applications/base/services/<service>/helm-values/. The CLI does not set service versions directly — it generates FluxCD GitRepository sources that reference a tagged release of openCenter-gitops-base.

To check or override a service version, inspect the HelmRelease in the gitops-base repository or add an override-values.yaml in your cluster overlay directory.

Overriding Defaults​

Three methods, in order of precedence (highest first):

  1. CLI --set flag: opencenter cluster init my-cluster --set opencenter.cluster.kubernetes.version=1.31.4
  2. Config file edit: opencenter cluster edit my-cluster
  3. Schema defaults: Applied automatically by opencenter cluster init

Values set via --set override config file values, which override schema defaults.

For Kubespray defaults, edit the generated inventory files in infrastructure/clusters/<cluster>/inventory/group_vars/.

For GitOps-base defaults, add an override-values.yaml in your cluster overlay at applications/overlays/<cluster>/services/<service>/.