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.godefaultConfig().

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

AWS

Planned Provider

AWS provider support is planned for a future release and is not available in the GA provider set. The defaults below are draft compatibility values only. Documented GA providers: OpenStack, VMware, Baremetal, and Kind.

Source: internal/config/defaults/aws.go. Regions: us-east-1, us-west-2, eu-west-1.

FieldDefault (us-east-1)
Bastion flavort3.small
Control plane flavort3.medium
Worker flavort3.large
Storage classgp3

GCP

Planned Provider

GCP provider support is planned for a future release and is not available in the GA provider set. Documented GA providers: OpenStack, VMware, Baremetal, and Kind.

Source: internal/config/defaults/gcp.go. Regions: us-central1, europe-west1.

FieldDefault (us-central1)
Bastion flavore2-small
Control plane flavore2-medium
Worker flavore2-standard-4
Storage classstandard-rwo

Azure

Planned Provider

Azure provider support is planned for a future release and is not available in the GA provider set. Documented GA providers: OpenStack, VMware, Baremetal, and Kind.

No default values defined yet. Azure-specific defaults will be added when the provider is implemented.

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.godefaultConfig().

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>/.