stack.basicstack.de/apps/opencloud/opencloud-configmap.yaml

63 lines
1.9 KiB
YAML
Raw Normal View History

---
apiVersion: v1
kind: ConfigMap
metadata:
name: opencloud-config
namespace: opencloud
data:
opencloud.yaml: |
# OpenCloud Minimal Configuration
# Only non-default settings - environment variables override these
# Graph service - external OpenLDAP configuration
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
graph:
identity:
ldap:
uri: ldap://openldap.opencloud.svc.cluster.local:389
base_dn: dc=basicstack,dc=de
bind_dn: cn=admin,dc=basicstack,dc=de
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
user_base_dn: ou=users,dc=basicstack,dc=de
group_base_dn: ou=groups,dc=basicstack,dc=de
insecure: true
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
# Proxy service - OIDC configuration (already in env vars, kept for reference)
proxy:
oidc:
issuer: https://auth.basicstack.de
insecure: false
auto_provision_accounts: true
user_oidc_claim: preferred_username
enable_basic_auth: false
# Users service - external LDAP
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
users:
drivers:
ldap:
uri: ldap://openldap.opencloud.svc.cluster.local:389
base_dn: dc=basicstack,dc=de
bind_dn: cn=admin,dc=basicstack,dc=de
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
user_base_dn: ou=users,dc=basicstack,dc=de
user_filter: (objectClass=inetOrgPerson)
user_object_class: inetOrgPerson
insecure: true
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
# Groups service - external LDAP
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
groups:
drivers:
ldap:
uri: ldap://openldap.opencloud.svc.cluster.local:389
base_dn: dc=basicstack,dc=de
bind_dn: cn=admin,dc=basicstack,dc=de
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
group_base_dn: ou=groups,dc=basicstack,dc=de
group_filter: (objectClass=groupOfNames)
group_object_class: groupOfNames
insecure: true
# Gateway service - storage configuration
gateway:
storage_registry:
storage_users_mount_id: ${OC_STORAGE_MOUNT_ID}