Zum Hauptinhalt springen
Version: Weekly Build

Vault-Secrets des Private-Cloud-Installers

prod.vault.yaml enthält jedes für die Installation benötigte Secret, entweder erzeugt von oms init install-config oder von dir bereitgestellt. Jeder Eintrag hat entweder eine file (eine benannte Datei mit Textinhalt, typischerweise ein PEM-Block) oder fields (typischerweise ein password und manchmal ein username):

secrets:
- name: <secretName>
file:
name: <filename>
content: <pem-or-text>
- name: <secretName>
fields:
password: <value>

Von OMS erzeugte Secrets

oms init install-config erzeugt diese automatisch; normalerweise musst du sie nicht selbst setzen: tokenPrivateKey, tokenPublicKey, cephSshPrivateKey, selfSignedCaKeyPem, domainAuthPrivateKey, domainAuthPublicKey sowie, wenn PostgreSQL vom Installer installiert wird, postgresPassword, postgresReplicaPassword, postgresPrimaryServerKeyPem und postgresReplicaServerKeyPem.

Von dir bereitzustellende Secrets

SecretWann erforderlichHinweise
registryUsername, registryPasswordImmer für den GHCR-verbundenen InstallationspfadSiehe Jumpbox vorbereiten und Konfiguration erzeugen. Der GHCR-Benutzername kommt in das Feld password.
kubeConfigBei Verwendung eines bestehenden Kubernetes-Clusters (kubernetes.managedByCodesphere: false)Siehe Einen bestehenden Kubernetes-Cluster verwenden.
acmeEabMacKeycodesphere.certIssuer.type: acme mit EABSiehe Cluster-Ingress-CA-Optionen.
githubAppsClientId / githubAppsClientSecretGitHub-Provider aktiviertSiehe Git-Provider.
gitlabAppClientId / gitlabAppClientSecretGitLab-Provider aktiviertSiehe Git-Provider.
bitbucketAppsClientId / bitbucketAppsClientSecretBitbucket-Provider aktiviertSiehe Git-Provider.
azureDevOpsAppClientId / azureDevOpsAppClientSecretAzure-DevOps-Provider aktiviertSiehe Git-Provider.

Annotiertes Beispiel

# prod.vault.yaml (vor der Verschlüsselung — entferne alle Kommentare, bevor du sops ausführst)
secrets:
# --- Gemeinsame Secrets, erzeugt von "oms init install-config" ---
- name: cephSshPrivateKey
file:
name: id_rsa
content: |
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
- name: selfSignedCaKeyPem # Oder dein eigener CA-Schlüssel, falls du eine eigene CA mitbringst
file:
name: key.pem
content: |
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
- name: domainAuthPrivateKey
file:
name: key.pem
content: |
-----BEGIN EC PRIVATE KEY-----
...
-----END EC PRIVATE KEY-----
- name: domainAuthPublicKey
file:
name: key.pem
content: |
-----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----

# --- Registry-Zugangsdaten, immer erforderlich ---
- name: registryUsername
fields:
password: 'YOUR_REGISTRY_USERNAME'
- name: registryPassword
fields:
password: 'YOUR_REGISTRY_PASSWORD'

# --- Nur wenn postgres.mode: install ---
- name: postgresPassword
fields:
password: 'YOUR_POSTGRES_ADMIN_PASSWORD'
- name: postgresReplicaPassword
fields:
password: 'YOUR_POSTGRES_REPLICA_PASSWORD'
- name: postgresPrimaryServerKeyPem
file:
name: primary.key
content: |
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

# --- Nur wenn kubernetes.managedByCodesphere: false ---
- name: kubeConfig
file:
name: kubeConfig
content: |
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority-data: ...
server: https://<your-k8s-api-server>
name: external-cluster
contexts:
- context:
cluster: external-cluster
user: external-admin
name: external-context
current-context: external-context
users:
- name: external-admin
user:
client-certificate-data: ...
client-key-data: ...

Verschlüssele diese Datei nach dem Erzeugen und Überprüfen — siehe Secrets verschlüsseln und DNS konfigurieren.