2026-07-04 19:35:08 +00:00
|
|
|
---
|
|
|
|
|
apiVersion: v1
|
|
|
|
|
kind: ConfigMap
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud-config
|
|
|
|
|
namespace: opencloud
|
|
|
|
|
data:
|
|
|
|
|
opencloud.yaml: |
|
2026-07-05 13:39:15 +00:00
|
|
|
# OpenCloud Minimal Configuration
|
|
|
|
|
# Only non-default settings - environment variables override these
|
2026-07-04 19:35:08 +00:00
|
|
|
|
2026-07-05 13:39:15 +00:00
|
|
|
# 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:
|
2026-07-05 08:51:26 +00:00
|
|
|
identity:
|
|
|
|
|
ldap:
|
2026-07-05 10:21:11 +00:00
|
|
|
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
|
|
|
|
base_dn: dc=basicstack,dc=de
|
|
|
|
|
bind_dn: cn=admin,dc=basicstack,dc=de
|
2026-07-05 14:03:49 +00:00
|
|
|
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
|
2026-07-05 10:21:11 +00:00
|
|
|
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
|
|
|
|
2026-07-05 13:39:15 +00:00
|
|
|
# Proxy service - OIDC configuration (already in env vars, kept for reference)
|
2026-07-04 19:35:08 +00:00
|
|
|
proxy:
|
|
|
|
|
oidc:
|
|
|
|
|
issuer: https://auth.basicstack.de
|
|
|
|
|
insecure: false
|
2026-07-05 08:38:07 +00:00
|
|
|
auto_provision_accounts: true
|
2026-07-05 13:39:15 +00:00
|
|
|
user_oidc_claim: preferred_username
|
|
|
|
|
enable_basic_auth: false
|
2026-07-04 19:35:08 +00:00
|
|
|
|
2026-07-05 14:03:49 +00:00
|
|
|
# Auth-basic service - LDAP configuration
|
|
|
|
|
auth-basic:
|
|
|
|
|
auth_providers:
|
|
|
|
|
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
|
|
|
|
|
insecure: true
|
|
|
|
|
|
2026-07-05 13:39:15 +00:00
|
|
|
# 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:
|
2026-07-05 08:51:26 +00:00
|
|
|
ldap:
|
2026-07-05 10:21:11 +00:00
|
|
|
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
|
|
|
|
base_dn: dc=basicstack,dc=de
|
|
|
|
|
bind_dn: cn=admin,dc=basicstack,dc=de
|
2026-07-05 14:03:49 +00:00
|
|
|
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
|
2026-07-05 10:21:11 +00:00
|
|
|
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
|
|
|
|
2026-07-05 13:39:15 +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:
|
2026-07-05 08:51:26 +00:00
|
|
|
ldap:
|
2026-07-05 10:21:11 +00:00
|
|
|
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
|
|
|
|
base_dn: dc=basicstack,dc=de
|
|
|
|
|
bind_dn: cn=admin,dc=basicstack,dc=de
|
2026-07-05 14:03:49 +00:00
|
|
|
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
|
2026-07-05 10:21:11 +00:00
|
|
|
group_base_dn: ou=groups,dc=basicstack,dc=de
|
|
|
|
|
group_filter: (objectClass=groupOfNames)
|
|
|
|
|
group_object_class: groupOfNames
|
|
|
|
|
insecure: true
|
2026-07-05 14:03:49 +00:00
|
|
|
|
|
|
|
|
# Gateway service - storage configuration
|
|
|
|
|
gateway:
|
|
|
|
|
storage_registry:
|
|
|
|
|
storage_users_mount_id: ${OC_STORAGE_MOUNT_ID}
|