Private Cloud Installer Config Reference
config.yaml is generated by oms init install-config (see
Prepare the jumpbox and generate the configuration)
and consumed by oms install codesphere. It has twelve top-level keys.
dataCenter
Identifies this installation.
dataCenter:
id: 1
name: dev
city: Karlsruhe
countryCode: DE
secrets
secrets:
baseDir: /etc/codesphere/secrets
baseDir is the directory containing the vault (prod.vault.yaml). It should match
the directory passed to --vault when running oms install codesphere.
registry
registry:
server: ghcr.io
replaceImagesInBom: false
loadContainerImages: false
server is the container registry nodes pull images from. loadContainerImages
loads image tarballs bundled in the (deprecated) full installer package instead of
pulling from server; leave it false when using the lite package. See
Run the installer.
postgres
postgres:
mode: install # or external
primary:
ip: 10.10.0.20
hostname: postgres-1
mode: install has the installer manage PostgreSQL on a host you provide via
primary (and optionally replica). mode: external instead requires
serverAddress pointing at a database you operate yourself; serverAddress must be
empty when mode: install.
ceph
ceph:
csiKubeletDir: /var/lib/k0s/kubelet # /var/lib/kubelet for most non-k0s clusters
nodesSubnet: 10.10.0.0/20
hosts:
- hostname: ceph-1
ipAddress: 10.10.0.31
isMaster: true
osds:
- specId: default
dataDevices:
size: "240G:300G"
dbDevices:
size: "120G:150G"
hosts must list at least one Ceph host, exactly one of which is the master.
csiKubeletDir must match the kubelet directory of the Kubernetes distribution in
use — see
Use an existing Kubernetes cluster.
osds[].dataDevices/dbDevices select disks by size range; to signal "there is no
separate DB/WAL disk," set a size range that matches none of the node's disks.
kubernetes
kubernetes:
managedByCodesphere: true # false to bring your own cluster
apiServerHost: 10.10.0.11
controlPlanes:
- ipAddress: 10.10.0.11
workers:
- ipAddress: 10.10.0.14
When managedByCodesphere is false, apiServerHost/controlPlanes/workers are
not used; instead set podCidr and serviceCidr to the existing cluster's real
network ranges (both required, no defaults) and supply the cluster's kubeConfig as
a vault secret. See
Use an existing Kubernetes cluster.
cluster
Cluster-level infrastructure: certificates, monitoring, and the two gateway
services. See Cluster ingress CA options,
Gateway and load balancing, and
Cluster monitoring for the relevant
sub-sections (cluster.certificates, cluster.gateway, cluster.publicGateway,
cluster.monitoring).
metallb
metallb:
enabled: false
Disabled by default. See Gateway and load balancing for the pool and advertisement configuration when enabled.
codesphere
The largest section: platform domains, certificate issuer, feature flags, plans, Git and identity providers, and managed services.
codesphere:
domain: example.com
workspaceHostingBaseDomain: dc1.example.com
certIssuer:
type: self-signed
internal: []
preview: {}
features: {}
domain is the bare base domain and resolves to the platform gateway.
workspaceHostingBaseDomain is the datacenter-specific hostname that gets
wildcarded to the workspace gateway.
domainandworkspaceHostingBaseDomain— see Requirements and sizing and Encrypt the secrets and configure DNS.certIssuer— see Cluster ingress CA options.internal,preview,features— three separate flag buckets; see Feature flags.plans— see Workspace and hosting plans.gitProviders— see Git providers.oauth.oidc— see Identity providers.managedServices— see Managed services.
pcApps
Free-form Helm values passed through to the pc-applications Argo CD chart (see
Architecture). Use only when a specific pc-apps
component needs a non-default value.
managedServiceBackends
Enables the backend implementation for each managed service enabled under
codesphere.managedServices. See Managed services.
operations
operations:
skip:
- load-container-images
Persists installer steps to skip on every run, in addition to whatever is passed
with --skip-steps. See Install steps and profiles.