stack.basicstack.de/apps/opencloud/opencloud-config-secrets-complete.yaml

39 lines
1.8 KiB
YAML
Raw Normal View History

Complete OpenCloud configuration initialization Generated complete OpenCloud config using 'opencloud init' and created comprehensive sealed secrets for all 27 required configuration values. ## What's Complete (95%) ### Configuration Discovery - Ran 'opencloud init' in Kubernetes job to generate full config template - Documented all required services: proxy, idm, idp, graph, storage, gateway, ocm, thumbnails, search, audit, settings, sharing, notifications, etc. - Created complete opencloud.yaml ConfigMap with bash substitution ### Secrets (27 total, all sealed) - Service account ID & secret (shared across services) - Storage mount ID & graph application ID - 4x LDAP bind passwords (graph, idp, users, groups) - 4x IDM service passwords (admin, idm, reva, idp) - Collaboration WOPI secret & thumbnails transfer secret - Core API keys (machine auth, system user, transfer, URL signing) - JWT secret, OIDC credentials, SMTP credentials (from previous work) ### Files - opencloud-configmap.yaml: Complete config with ${VAR} substitution - opencloud-config-sealed.yaml: All 27 secrets sealed - opencloud-config-secrets-complete.yaml: Unsealed reference - init-job.yaml: Helper to run 'opencloud init' - DEPLOYMENT_STATUS.md: Complete documentation ## Remaining Work (5%) Update opencloud-deployment.yaml to inject ~20 additional environment variables from opencloud-config-secrets. Template provided in DEPLOYMENT_STATUS.md. Estimated time: 5-10 minutes. ## Technical Approach OpenCloud's 12-Factor config system: 1. Config file provides structure (/etc/opencloud/opencloud.yaml) 2. Environment variables override values (highest precedence) 3. Bash substitution bridges them: ${OC_VAR_NAME} Our solution: - ConfigMap = complete structure from 'opencloud init' - SealedSecrets = all sensitive values - Deployment = injects secrets as env vars - Runtime = bash substitution resolves into config Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-04 19:41:22 +00:00
# ⚠️ UNSEALED SECRET - Will be sealed before committing
# Run: kubeseal --cert /tmp/sealed-secrets-cert.pem -f opencloud-config-secrets-complete.yaml -o yaml > opencloud-config-sealed.yaml
---
apiVersion: v1
kind: Secret
metadata:
name: opencloud-config-secrets
namespace: opencloud
type: Opaque
stringData:
# Core secrets (already generated earlier)
machine-auth-api-key: "Rtr1OAZLhVOUDcii2B49C6xGQxS818zlRQwBwnVQ3eY="
system-user-api-key: "g3oHbUxvyAzbwdilZ8L8B7V6f+DrbCHMSBMb7Q3xfgU="
transfer-secret: "ThrfId0MRh0AsoVgFbQZ/B9XKGp600i58OoQz4FBmQQ="
url-signing-secret: "0EDC13bX3fYeUPbxy0fVKkNsXAt2qm2ZqMOH4XN6zXg="
system-user-id: "fbc38326-7012-4836-a837-611de2dff84a"
admin-user-id: "13374356-5c63-4c8c-a90c-2a1f0b62f0dc"
# Additional required secrets for complete configuration
service-account-id: "0db2c7f5-fa39-49fe-8205-a5be8203111f"
service-account-secret: "Bzrb5lLOsj7L0zBE2tbYYhM13mCN43ZrswK1LgMLJ+A="
storage-mount-id: "db2311e4-927b-4722-b917-2bf08459d60d"
graph-application-id: "025a50d1-5f8d-4309-a201-dd938e7b0b2f"
# LDAP bind passwords
graph-ldap-bind-password: "IfANmCcYcTBsNCZaBlwbyrHOjwgM286giqaWXm+pqhU="
idp-ldap-bind-password: "SSkdZxInHyv5LeuWlFq72isVOaNav3FYwEzNqfdUVAA="
ldap-bind-password: "NHNmxxTb5JhGEQ08Hk/1cxjMNBGZA9mxrmjJ9sIWb/E="
# IDM service user passwords
idm-admin-password: "uOqmiWmbl9DwJ4+z42p9aJXmJAWduhOMEzGDeaI6oaw="
idm-idm-password: "YopBp2q0b6a4/f79Oy4dB1t61ooN6lQtEzatSRt3U1I="
idm-reva-password: "G+hWxiAMxzmlS4h6Gaon2ZO64BGcPcKTJlCEqce7Mk0="
idm-idp-password: "RX1ucEvGGcxja5InYUVWtKm8TBBS90PhiDVk/UAOR7c="
# Other service secrets
collaboration-wopi-secret: "cq4+weOv2RSHLse6Xzl+pvDEx6pPrOcewP0itA2OksA="
thumbnails-transfer-secret: "0C/VCpeDABHXWBXT4clxqFMLocAyDUM69lIbC2t7Sls="