Private Cloud Installer Config-Referenz
config.yaml wird von oms init install-config generiert (siehe
Jumpbox vorbereiten und Konfiguration generieren)
und von oms install codesphere verwendet. Sie besitzt zwölf oberste Schlüssel.
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 und zwei
weitere oberste Schlüssel, 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 beim Ausführen von oms install codesphere an --vault übergeben wird.
registry
registry:
server: ghcr.io
replaceImagesInBom: false
loadContainerImages: false
server ist die Container-Registry, aus der Nodes Images ziehen. loadContainerImages
lädt Image-Tarballs, die im (veralteten) vollständigen Installer-Paket enthalten sind, anstatt sie
von server zu ziehen; lasse den Wert bei Verwendung des Lite-Pakets auf false. Siehe
Den 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) bereitgestellt 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 stets
über TLS, sodass dem von der Datenbank vorgelegten 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 auflisten, 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 anhand eines Größenbereichs aus; um anzugeben, "es gibt
keine separate DB-/WAL-Festplatte", setze einen Größenbereich, der auf keine der Festplatten des Nodes passt.
kubernetes
kubernetes:
managedByCodesphere: true # false, um einen eigenen Cluster mitzubringen
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 werden podCidr und serviceCidr auf die tatsächlichen
Netzwerkbereiche des bestehenden Clusters gesetzt (beide erforderlich, keine Standardwerte), und die kubeConfig des Clusters wird
als Vault-Secret bereitgestellt. 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 zugehörigen
Unterabschnitte (cluster.certificates, cluster.gateway, cluster.publicGateway,
cluster.monitoring).
metallb
metallb:
enabled: false
Standardmäßig deaktiviert. Siehe Gateway und Lastverteilung für die Konfiguration des Pools und der Ankündigung, wenn aktiviert.
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 auf das Plattform-Gateway aufgelöst.
workspaceHostingBaseDomain ist der rechenzentrumsspezifische Hostname, der per Wildcard
dem Workspace-Gateway zugeordnet wird.
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-Provider.oauth.oidc— siehe Identitätsanbieter. Die claim-basierte Rollenzuweisung wird unter OIDC-Rollenzuordnung behandelt.managedServices— siehe Managed Services.- Overrides für die Workload-Unterprovisionierung — siehe Workload-Unterprovisionierung.
vpn.leftPeerId ist ein optionales Feld, das die lokale Peer-Identität (leftid) festlegt,
die von Workspace-VPN-Tunneln während der IKE-Authentifizierung gesendet wird. Wird es weggelassen, verwendet strongSwan
die lokale/private IP-Adresse des Workspace als seine Identität. Viele VPN-Gateways
erwarten stattdessen die öffentliche Egress-IP-Adresse des Workspace. Setze vpn.leftPeerId, wenn
dein Gateway dies oder eine andere spezifische Identität benötigt, um seiner Verbindungsrichtlinie zu entsprechen.
Unterstützt werden Formate gemäß der
strongSwan-Identitätssyntax:
eine IPv4-Adresse (203.0.113.1), ein vollqualifizierter Domainname (vpn.example.com),
eine E-Mail-Adresse ([email protected]) oder ein Distinguished Name
(C=DE, O=Example, CN=vpn.example.com).
codesphere:
vpn:
leftPeerId: vpn.example.com
email
Konfiguriert einen benutzerdefinierten SMTP-Server für transaktionale E-Mails:
codesphere:
email:
provider: smtp
smtp:
host: smtp.example.com
port: 587
secure: false
username: codesphere
provider muss smtp sein; host, ein positiver Ganzzahlwert für port und der boolesche
Wert secure sind erforderlich. username ist optional. Speichere das zugehörige
Passwort als optionales Vault-Secret smtpPassword, nicht in config.yaml.
Das Vault-Secret sendGridApiKey ist eine Alternative zu diesem Block. Es wählt automatisch
das SMTP-Relay von SendGrid aus und hat Vorrang, wenn beide Optionen konfiguriert sind.
Ist keine der beiden Optionen konfiguriert, läuft die Plattform ohne E-Mail-Zustellung. Siehe
E-Mail-Zustellung
für Beispiele und das Migrationsverhalten.
pcApps
Freiform-Helm-Werte, die an das Argo-CD-Chart pc-applications durchgereicht werden (siehe
Architektur). Nur verwenden, wenn eine bestimmte pc-apps-
Komponente einen vom Standard abweichenden Wert benötigt. oms init install-config generiert
diesen Abschnitt nicht; füge ihn bei Bedarf manuell hinzu.
managedServiceBackends
Aktiviert die Backend-Implementierung für jeden unter codesphere.managedServices
aktivierten Managed Service. Siehe
Managed Services. Für
Overrides wie Unterprovisionierung siehe
Workload-Unterprovisionierung.
operations
operations:
skip:
- load-container-images
Speichert Installer-Schritte, die bei jedem Durchlauf übersprungen werden sollen, zusätzlich zu dem, was
mit --skip-steps übergeben wird. Siehe Installationsschritte und Profile.