Konfigurationsreferenz für den Private Cloud Installer
config.yaml wird von oms init install-config generiert (siehe
Jumpbox vorbereiten und Konfiguration erstellen)
und von oms install codesphere verwendet. Sie besitzt zwölf Schlüssel auf oberster Ebene.
dataCenter
Identifiziert diese Installation.
dataCenter:
id: 1
name: dev
city: Karlsruhe
countryCode: DE
Eine Installation, die sich über mehrere Rechenzentren erstreckt, besitzt eine Konfiguration pro
Rechenzentrum sowie zwei weitere Schlüssel auf oberster Ebene, dataCenters und
defaultDataCenterId — siehe
Mehrere Rechenzentren: Konfiguration.
secrets
secrets:
baseDir: /etc/codesphere/secrets
baseDir ist das Verzeichnis, das den Vault (prod.vault.yaml) enthält. Es sollte mit
dem Verzeichnis übereinstimmen, das bei der Ausführung von oms install codesphere an --vault
übergeben wird.
registry
registry:
server: ghcr.io
replaceImagesInBom: false
loadContainerImages: false
server ist die Container-Registry, von der Nodes Images abrufen. loadContainerImages
lädt Image-Tarballs, die im (veralteten) vollständigen Installer-Paket enthalten sind,
anstatt sie von server abzurufen; bei Verwendung des Lite-Pakets sollte dieser Wert auf false
belassen werden. Siehe Installer ausführen.
postgres
postgres:
mode: install # oder external
primary:
ip: 10.10.0.20
hostname: postgres-1
Bei mode: install verwaltet der Installer PostgreSQL auf einem Host, der über
primary (und optional replica) angegeben wird. mode: external erfordert
stattdessen serverAddress, das auf eine selbst betriebene Datenbank verweist; serverAddress
muss bei mode: install leer bleiben. Bei mode: external muss der Superuser der Datenbank
postgres heißen — dies ist nicht konfigurierbar — und die Verbindung erfolgt immer
über TLS, sodass dem von der Datenbank präsentierten Zertifikat vertraut werden muss (bei einem
verwalteten Datenbankdienst wie AWS RDS bedeutet dies, das tatsächliche CA-Bundle dieses Dienstes
zu verwenden).
ceph
ceph:
csiKubeletDir: /var/lib/k0s/kubelet # /var/lib/kubelet für die meisten Nicht-k0s-Cluster
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 muss mindestens einen Ceph-Host aufführen, von denen genau einer der Master ist.
csiKubeletDir muss mit dem Kubelet-Verzeichnis der verwendeten Kubernetes-Distribution
übereinstimmen — siehe
Einen bestehenden Kubernetes-Cluster verwenden.
osds[].dataDevices/dbDevices wählen Festplatten nach Größenbereich aus; um anzugeben,
dass es keine separate DB-/WAL-Festplatte gibt, sollte ein Größenbereich festgelegt werden,
der auf keine der Festplatten des Nodes zutrifft.
kubernetes
kubernetes:
managedByCodesphere: true # false, um einen eigenen Cluster zu verwenden
apiServerHost: 10.10.0.11
controlPlanes:
- ipAddress: 10.10.0.11
workers:
- ipAddress: 10.10.0.14
Wenn managedByCodesphere den Wert false hat, werden apiServerHost/controlPlanes/workers
nicht verwendet; stattdessen müssen podCidr und serviceCidr auf die tatsächlichen
Netzwerkbereiche des bestehenden Clusters gesetzt werden (beide erforderlich, keine Standardwerte),
und die kubeConfig des Clusters muss als Vault-Secret bereitgestellt werden. Siehe
Einen bestehenden Kubernetes-Cluster verwenden.
cluster
Infrastruktur auf Cluster-Ebene: Zertifikate, Monitoring und die beiden Gateway-Dienste. Siehe
Optionen für die Cluster-Ingress-CA,
Gateway und Lastverteilung und
Cluster-Monitoring für die entsprechenden
Unterabschnitte (cluster.certificates, cluster.gateway, cluster.publicGateway,
cluster.monitoring).
metallb
metallb:
enabled: false
Standardmäßig deaktiviert. Siehe Gateway und Lastverteilung für die Konfiguration von Pool und Advertisement, wenn diese Funktion aktiviert ist.
codesphere
Der umfangreichste Abschnitt: Plattform-Domains, Zertifikatsaussteller, Feature-Flags, Pläne, Git- und Identitätsanbieter sowie Managed Services.
codesphere:
domain: example.com
workspaceHostingBaseDomain: dc1.example.com
certIssuer:
type: self-signed
internal: []
preview: {}
features: {}
domain ist die reine Basis-Domain und wird zum Plattform-Gateway aufgelöst.
workspaceHostingBaseDomain ist der rechenzentrumsspezifische Hostname, der als
Wildcard zum Workspace-Gateway führt.
domainundworkspaceHostingBaseDomain— siehe Anforderungen und Dimensionierung und Secrets verschlüsseln und DNS konfigurieren.certIssuer— siehe Optionen für die Cluster-Ingress-CA.internal,preview,features— drei separate Flag-Gruppen; siehe Feature-Flags.plans— siehe Workspace- und Hosting-Pläne.gitProviders— siehe Git-Anbieter.oauth.oidc— siehe Identitätsanbieter.managedServices— siehe Managed Services.
pcApps
Frei definierbare Helm-Werte, die an das pc-applications-Argo-CD-Chart weitergegeben werden
(siehe Architektur). Nur verwenden, wenn eine bestimmte
pc-apps-Komponente einen nicht standardmäßigen Wert benötigt. oms init install-config
generiert diesen Abschnitt nicht; er muss bei Bedarf manuell hinzugefügt werden.
managedServiceBackends
Aktiviert die Backend-Implementierung für jeden unter codesphere.managedServices
aktivierten Managed Service. Siehe Managed Services.
operations
operations:
skip:
- load-container-images
Speichert Installer-Schritte, die bei jedem Durchlauf übersprungen werden sollen, zusätzlich
zu denen, die mit --skip-steps übergeben werden. Siehe
Installationsschritte und Profile.