2026-07-04 19:35:08 +00:00
|
|
|
---
|
|
|
|
|
apiVersion: v1
|
|
|
|
|
kind: ConfigMap
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud-config
|
|
|
|
|
namespace: opencloud
|
|
|
|
|
data:
|
|
|
|
|
opencloud.yaml: |
|
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
|
|
|
# OpenCloud Complete Configuration
|
|
|
|
|
# Generated from 'opencloud init' and customized with our secrets
|
2026-07-04 19:35:08 +00:00
|
|
|
|
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
|
|
|
# Core secrets (from our SealedSecrets via environment variables)
|
2026-07-04 19:35:08 +00:00
|
|
|
token_manager:
|
|
|
|
|
jwt_secret: ${OC_TOKEN_MANAGER_JWT_SECRET}
|
|
|
|
|
|
|
|
|
|
machine_auth_api_key: ${OC_MACHINE_AUTH_API_KEY}
|
|
|
|
|
system_user_api_key: ${OC_SYSTEM_USER_API_KEY}
|
|
|
|
|
transfer_secret: ${OC_TRANSFER_SECRET}
|
|
|
|
|
url_signing_secret: ${OC_URL_SIGNING_SECRET}
|
|
|
|
|
system_user_id: ${OC_SYSTEM_USER_ID}
|
|
|
|
|
admin_user_id: ${OC_ADMIN_USER_ID}
|
|
|
|
|
|
2026-07-05 08:51:26 +00:00
|
|
|
# Graph service (using internal IDM LDAP for user storage)
|
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:
|
|
|
|
|
application:
|
|
|
|
|
id: ${OC_GRAPH_APPLICATION_ID:-025a50d1-5f8d-4309-a201-dd938e7b0b2f}
|
|
|
|
|
events:
|
|
|
|
|
tls_insecure: true
|
|
|
|
|
spaces:
|
|
|
|
|
insecure: true
|
2026-07-05 08:51:26 +00:00
|
|
|
identity:
|
|
|
|
|
ldap:
|
|
|
|
|
bind_password: ${OC_GRAPH_LDAP_BIND_PASSWORD}
|
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
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
2026-07-05 08:51:26 +00:00
|
|
|
# IDP service excluded (using external OIDC via Pocket ID for authentication)
|
2026-07-05 08:36:13 +00:00
|
|
|
# idp:
|
|
|
|
|
# ldap:
|
|
|
|
|
# bind_password: ${OC_IDP_LDAP_BIND_PASSWORD}
|
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 08:51:26 +00:00
|
|
|
# IDM service (needed for user storage even with external OIDC)
|
|
|
|
|
idm:
|
|
|
|
|
service_user_passwords:
|
|
|
|
|
admin_password: ${OC_IDM_ADMIN_PASSWORD}
|
|
|
|
|
idm_password: ${OC_IDM_IDM_PASSWORD}
|
|
|
|
|
reva_password: ${OC_IDM_REVA_PASSWORD}
|
|
|
|
|
idp_password: ${OC_IDM_IDP_PASSWORD}
|
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
|
|
|
|
|
|
|
|
# Collaboration services
|
|
|
|
|
collaboration:
|
|
|
|
|
wopi:
|
|
|
|
|
secret: ${OC_COLLABORATION_WOPI_SECRET}
|
|
|
|
|
app:
|
|
|
|
|
insecure: true
|
|
|
|
|
|
2026-07-05 08:38:07 +00:00
|
|
|
# Proxy service (OIDC integration with auto-provisioning)
|
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
|
|
|
|
|
user_oidc_claim: email
|
|
|
|
|
role_assignment:
|
|
|
|
|
driver: oidc
|
|
|
|
|
oidc_role_mapper:
|
|
|
|
|
role_claim: groups
|
|
|
|
|
role_mapping:
|
|
|
|
|
- role_name: admin
|
|
|
|
|
claim_value: opencloudAdmin
|
|
|
|
|
- role_name: spaceadmin
|
|
|
|
|
claim_value: opencloudSpaceAdmin
|
|
|
|
|
- role_name: user
|
|
|
|
|
claim_value: opencloudUser
|
|
|
|
|
- role_name: guest
|
|
|
|
|
claim_value: opencloudGuest
|
|
|
|
|
enable_basic_auth: false
|
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
|
|
|
insecure_backends: true
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
2026-07-04 19:35:08 +00:00
|
|
|
|
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
|
|
|
# Frontend service
|
|
|
|
|
frontend:
|
|
|
|
|
app_handler:
|
|
|
|
|
insecure: true
|
|
|
|
|
archiver:
|
|
|
|
|
insecure: true
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
ocdav:
|
|
|
|
|
insecure: true
|
2026-07-04 19:35:08 +00:00
|
|
|
|
2026-07-05 08:36:13 +00:00
|
|
|
# Auth services (OIDC only, no basic auth)
|
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
|
|
|
auth_bearer:
|
|
|
|
|
auth_providers:
|
|
|
|
|
oidc:
|
|
|
|
|
insecure: false
|
|
|
|
|
|
2026-07-05 08:51:26 +00:00
|
|
|
# User/Group services (using LDAP driver connected to internal IDM)
|
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:
|
|
|
|
|
bind_password: ${OC_USERS_LDAP_BIND_PASSWORD}
|
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:
|
|
|
|
|
bind_password: ${OC_GROUPS_LDAP_BIND_PASSWORD}
|
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
|
|
|
|
|
|
|
|
# OCM (Open Cloud Mesh)
|
|
|
|
|
ocm:
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
|
|
|
|
# Thumbnails
|
|
|
|
|
thumbnails:
|
|
|
|
|
thumbnail:
|
|
|
|
|
transfer_secret: ${OC_THUMBNAILS_TRANSFER_SECRET}
|
|
|
|
|
webdav_allow_insecure: true
|
|
|
|
|
cs3_allow_insecure: true
|
|
|
|
|
|
2026-07-04 20:33:12 +00:00
|
|
|
# Search service - DISABLED due to crashes in v7.2.0
|
|
|
|
|
# See: https://github.com/opencloud-eu/opencloud/issues/1740
|
|
|
|
|
# search:
|
|
|
|
|
# engine:
|
|
|
|
|
# type: bleve
|
|
|
|
|
# bleve:
|
|
|
|
|
# data_path: /var/lib/opencloud/search
|
|
|
|
|
# extractor:
|
|
|
|
|
# type: tika
|
|
|
|
|
# tika:
|
|
|
|
|
# tika_url: http://tika:9998
|
|
|
|
|
# events:
|
|
|
|
|
# tls_insecure: true
|
|
|
|
|
# service_account:
|
|
|
|
|
# service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
# service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
2026-07-04 19:35:08 +00:00
|
|
|
|
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
|
|
|
# Audit service
|
|
|
|
|
audit:
|
|
|
|
|
events:
|
|
|
|
|
tls_insecure: true
|
|
|
|
|
|
|
|
|
|
# Settings service
|
|
|
|
|
settings:
|
|
|
|
|
service_account_ids:
|
|
|
|
|
- ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
|
|
|
|
|
# Sharing service
|
|
|
|
|
sharing:
|
|
|
|
|
events:
|
|
|
|
|
tls_insecure: true
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
2026-07-04 19:35:08 +00:00
|
|
|
|
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
|
|
|
# Storage Users
|
2026-07-04 19:35:08 +00:00
|
|
|
storage_users:
|
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
|
|
|
events:
|
|
|
|
|
tls_insecure: true
|
|
|
|
|
mount_id: ${OC_STORAGE_MOUNT_ID}
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
|
|
|
|
# Notifications
|
|
|
|
|
notifications:
|
|
|
|
|
notifications:
|
|
|
|
|
events:
|
|
|
|
|
tls_insecure: true
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
|
|
|
|
# NATS
|
|
|
|
|
nats:
|
|
|
|
|
nats:
|
|
|
|
|
tls_skip_verify_client_cert: true
|
|
|
|
|
|
|
|
|
|
# Gateway
|
|
|
|
|
gateway:
|
|
|
|
|
storage_registry:
|
|
|
|
|
storage_users_mount_id: ${OC_STORAGE_MOUNT_ID}
|
|
|
|
|
|
|
|
|
|
# Userlog
|
|
|
|
|
userlog:
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
|
|
|
|
# Auth Service
|
|
|
|
|
auth_service:
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
|
|
|
|
# Client Log
|
|
|
|
|
clientlog:
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|
|
|
|
|
|
|
|
|
|
# Activity Log
|
|
|
|
|
activitylog:
|
|
|
|
|
service_account:
|
|
|
|
|
service_account_id: ${OC_SERVICE_ACCOUNT_ID}
|
|
|
|
|
service_account_secret: ${OC_SERVICE_ACCOUNT_SECRET}
|