Zum Hauptinhalt springen
Version: Weekly Build

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.

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.