2026-07-04 18:59:33 +00:00
|
|
|
---
|
|
|
|
|
apiVersion: v1
|
|
|
|
|
kind: Namespace
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud
|
|
|
|
|
---
|
|
|
|
|
# OpenCloud Data Storage
|
|
|
|
|
apiVersion: v1
|
|
|
|
|
kind: PersistentVolumeClaim
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud-data
|
|
|
|
|
namespace: opencloud
|
|
|
|
|
spec:
|
|
|
|
|
accessModes:
|
|
|
|
|
- ReadWriteOnce
|
|
|
|
|
storageClassName: hcloud-volumes-encrypted
|
|
|
|
|
resources:
|
|
|
|
|
requests:
|
|
|
|
|
storage: 100Gi
|
|
|
|
|
---
|
|
|
|
|
# OpenCloud Service
|
|
|
|
|
apiVersion: v1
|
|
|
|
|
kind: Service
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud
|
|
|
|
|
namespace: opencloud
|
|
|
|
|
spec:
|
|
|
|
|
type: ClusterIP
|
|
|
|
|
selector:
|
|
|
|
|
app: opencloud
|
|
|
|
|
ports:
|
|
|
|
|
- name: http
|
|
|
|
|
port: 9200
|
|
|
|
|
targetPort: 9200
|
|
|
|
|
protocol: TCP
|
|
|
|
|
---
|
|
|
|
|
# OpenCloud Deployment
|
|
|
|
|
apiVersion: apps/v1
|
|
|
|
|
kind: Deployment
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud
|
|
|
|
|
namespace: opencloud
|
|
|
|
|
spec:
|
2026-10-24 11:36:20 +02:00
|
|
|
replicas: 0
|
2026-08-23 15:39:17 +00:00
|
|
|
strategy:
|
|
|
|
|
type: Recreate
|
2026-07-04 18:59:33 +00:00
|
|
|
selector:
|
|
|
|
|
matchLabels:
|
|
|
|
|
app: opencloud
|
|
|
|
|
template:
|
|
|
|
|
metadata:
|
|
|
|
|
labels:
|
|
|
|
|
app: opencloud
|
feat(velero): schedules + PVC exclude annotations (DEV-573)
- velero/schedules/: cluster-all @ 03:00 (30d TTL, manifests only),
per-namespace <ns>-manifests @ 03:15+n min (30 in-scope namespaces,
30d TTL, no fs backup), and per-namespace <ns>-data @ 03:45+n min
for the whitelist (pocket-id, vaultwarden, vikunja, passbolt;
14d TTL, defaultVolumesToFsBackup=true).
- All schedules exclude velero, kube-system, kube-node-lease,
kube-public so the Kopia password Secret never lands in S3.
- apps/app-velero-schedules.yaml: sibling Argo app syncing that
directory into namespace velero with prune+selfHeal.
- opencloud, harbor(registry+trivy): pod-template annotation
backup.velero.io/backup-volumes-excludes as a safety net so blob-
heavy PVCs are never fs-backed-up even under a manual defaultVolumes
run. nextcloud/monitoring workloads are not Argo-tracked yet — they
were patched live in the same commit but need a follow-up to source-
control them.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-09-12 17:35:49 +00:00
|
|
|
annotations:
|
|
|
|
|
# Skip Kopia fs-backup of the 100 GiB opencloud object-store PVC — this
|
|
|
|
|
# blob store is out of scope for the DEV-573 data schedules; the
|
|
|
|
|
# exclusion is a safety net so an accidental defaultVolumesToFsBackup
|
|
|
|
|
# run never streams it into the Kopia repo.
|
|
|
|
|
backup.velero.io/backup-volumes-excludes: opencloud-data
|
2026-07-04 18:59:33 +00:00
|
|
|
spec:
|
|
|
|
|
securityContext:
|
|
|
|
|
fsGroup: 1000
|
|
|
|
|
runAsUser: 1000
|
|
|
|
|
runAsNonRoot: true
|
|
|
|
|
initContainers:
|
2026-07-04 19:35:08 +00:00
|
|
|
- name: init-dirs
|
2026-08-23 15:35:03 +00:00
|
|
|
image: opencloudeu/opencloud-rolling:7.4.0
|
2026-07-04 18:59:33 +00:00
|
|
|
command:
|
|
|
|
|
- sh
|
|
|
|
|
- -c
|
|
|
|
|
- |
|
|
|
|
|
mkdir -p /var/lib/opencloud/data
|
|
|
|
|
volumeMounts:
|
|
|
|
|
- name: opencloud-data
|
|
|
|
|
mountPath: /var/lib/opencloud
|
|
|
|
|
securityContext:
|
|
|
|
|
runAsUser: 1000
|
|
|
|
|
runAsGroup: 1000
|
|
|
|
|
runAsNonRoot: true
|
|
|
|
|
containers:
|
|
|
|
|
- name: opencloud
|
2026-08-23 15:35:03 +00:00
|
|
|
image: opencloudeu/opencloud-rolling:7.4.0
|
2026-07-04 19:35:08 +00:00
|
|
|
command:
|
2026-07-05 09:02:11 +00:00
|
|
|
- /bin/sh
|
|
|
|
|
- -c
|
|
|
|
|
- "yes | opencloud init --insecure=true --force-overwrite 2>&1 | head -50 || true; opencloud server"
|
2026-07-04 18:59:33 +00:00
|
|
|
env:
|
|
|
|
|
# Basic configuration
|
2026-07-04 20:33:12 +00:00
|
|
|
- name: OC_URL
|
2026-07-04 18:59:33 +00:00
|
|
|
value: "https://opencloud.basicstack.de"
|
2026-07-04 20:33:12 +00:00
|
|
|
- name: OC_LOG_LEVEL
|
2026-07-05 14:41:09 +00:00
|
|
|
#value: "info"
|
|
|
|
|
value: "trace"
|
2026-07-05 10:44:39 +00:00
|
|
|
# Auth services trace logging
|
2026-07-05 10:42:40 +00:00
|
|
|
- name: AUTH_SERVICE_LOG_LEVEL
|
|
|
|
|
value: "trace"
|
2026-07-05 10:44:39 +00:00
|
|
|
- name: AUTH_APP_LOG_LEVEL
|
|
|
|
|
value: "trace"
|
|
|
|
|
- name: AUTH_MACHINE_LOG_LEVEL
|
|
|
|
|
value: "trace"
|
2026-07-04 20:33:12 +00:00
|
|
|
- name: OC_LOG_PRETTY
|
|
|
|
|
value: "false"
|
|
|
|
|
- name: OC_LOG_COLOR
|
|
|
|
|
value: "false"
|
|
|
|
|
- name: OC_INSECURE
|
2026-07-04 18:59:33 +00:00
|
|
|
value: "false"
|
2026-07-04 20:33:12 +00:00
|
|
|
- name: PROXY_TLS
|
2026-07-04 18:59:33 +00:00
|
|
|
value: "false"
|
|
|
|
|
|
2026-07-05 20:41:15 +00:00
|
|
|
# Exclude: search (broken), idp (using Pocket ID), auth-basic (OIDC-only)
|
|
|
|
|
# IDM is now enabled to use built-in user/group storage instead of external OpenLDAP
|
2026-07-04 20:33:12 +00:00
|
|
|
- name: OC_EXCLUDE_RUN_SERVICES
|
2026-07-05 20:41:15 +00:00
|
|
|
value: "search,idp,auth-basic"
|
2026-07-04 20:33:12 +00:00
|
|
|
|
2026-07-04 18:59:33 +00:00
|
|
|
# Data paths
|
|
|
|
|
- name: OPENCLOUD_BASE_DATA_PATH
|
|
|
|
|
value: "/var/lib/opencloud"
|
|
|
|
|
- name: OPENCLOUD_CONFIG_DIR
|
2026-07-04 19:35:08 +00:00
|
|
|
value: "/etc/opencloud"
|
2026-07-04 18:59:33 +00:00
|
|
|
|
2026-07-05 09:06:39 +00:00
|
|
|
# Core secrets (token manager and auth-service JWT)
|
2026-07-04 19:35:08 +00:00
|
|
|
- name: OC_TOKEN_MANAGER_JWT_SECRET
|
2026-07-04 18:59:33 +00:00
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-jwt-secret
|
|
|
|
|
key: jwt-secret
|
2026-07-05 09:06:39 +00:00
|
|
|
- name: OC_JWT_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-jwt-secret
|
|
|
|
|
key: jwt-secret
|
2026-07-04 19:35:08 +00:00
|
|
|
- name: OC_MACHINE_AUTH_API_KEY
|
2026-07-04 18:59:33 +00:00
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
2026-07-04 19:35:08 +00:00
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: machine-auth-api-key
|
|
|
|
|
- name: OC_SYSTEM_USER_API_KEY
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: system-user-api-key
|
|
|
|
|
- name: OC_TRANSFER_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: transfer-secret
|
|
|
|
|
- name: OC_URL_SIGNING_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: url-signing-secret
|
|
|
|
|
- name: OC_SYSTEM_USER_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: system-user-id
|
|
|
|
|
- name: OC_ADMIN_USER_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: admin-user-id
|
2026-07-04 18:59:33 +00:00
|
|
|
|
2026-07-05 08:18:34 +00:00
|
|
|
# External OIDC Configuration (Pocket ID)
|
|
|
|
|
- name: OC_OIDC_ISSUER
|
|
|
|
|
value: "https://auth.basicstack.de"
|
|
|
|
|
- name: OC_OIDC_CLIENT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-oidc-secret
|
|
|
|
|
key: oidc-client-id
|
2026-07-05 14:49:36 +00:00
|
|
|
# No OC_OIDC_CLIENT_SECRET - OpenCloud web frontend is a public SPA using PKCE
|
2026-07-05 08:18:34 +00:00
|
|
|
- name: OC_OIDC_CLIENT_SCOPES
|
2026-07-05 11:50:58 +00:00
|
|
|
value: "openid profile email groups"
|
2026-07-05 08:18:34 +00:00
|
|
|
|
|
|
|
|
# Proxy service OIDC configuration
|
2026-07-05 15:14:26 +00:00
|
|
|
- name: PROXY_CSP_CONFIG_FILE_LOCATION
|
|
|
|
|
value: "/etc/opencloud/csp.yaml"
|
2026-07-05 11:50:58 +00:00
|
|
|
- name: PROXY_OIDC_ISSUER
|
|
|
|
|
value: "https://auth.basicstack.de"
|
2026-07-05 08:18:34 +00:00
|
|
|
- name: PROXY_OIDC_REWRITE_WELLKNOWN
|
|
|
|
|
value: "true"
|
2026-07-05 11:50:58 +00:00
|
|
|
- name: PROXY_OIDC_ACCESS_TOKEN_VERIFY_METHOD
|
|
|
|
|
value: "none"
|
2026-07-05 08:18:34 +00:00
|
|
|
- name: PROXY_USER_OIDC_CLAIM
|
2026-07-05 11:50:58 +00:00
|
|
|
value: "preferred_username"
|
|
|
|
|
- name: PROXY_USER_CS3_CLAIM
|
|
|
|
|
value: "username"
|
2026-07-05 08:18:34 +00:00
|
|
|
- name: PROXY_ENABLE_BASIC_AUTH
|
2026-07-05 11:50:58 +00:00
|
|
|
value: "false"
|
|
|
|
|
|
2026-07-05 15:23:24 +00:00
|
|
|
# Role assignment — default gives all auto-provisioned OIDC users the standard user role
|
|
|
|
|
# (oidc driver required opencloud_role claim from Pocket ID which wasn't sent)
|
2026-07-05 11:50:58 +00:00
|
|
|
- name: PROXY_ROLE_ASSIGNMENT_DRIVER
|
2026-07-05 15:23:24 +00:00
|
|
|
value: "default"
|
2026-07-05 08:18:34 +00:00
|
|
|
|
2026-07-05 14:37:47 +00:00
|
|
|
# User auto-provisioning
|
|
|
|
|
- name: PROXY_AUTOPROVISION_ACCOUNTS
|
|
|
|
|
value: "true"
|
|
|
|
|
- name: PROXY_AUTOPROVISION_CLAIM_USERNAME
|
|
|
|
|
value: "preferred_username"
|
|
|
|
|
- name: PROXY_AUTOPROVISION_CLAIM_EMAIL
|
|
|
|
|
value: "email"
|
|
|
|
|
- name: PROXY_AUTOPROVISION_CLAIM_DISPLAYNAME
|
|
|
|
|
value: "name"
|
|
|
|
|
- name: PROXY_AUTOPROVISION_CLAIM_GROUPS
|
|
|
|
|
value: "groups"
|
|
|
|
|
|
2026-07-05 08:58:16 +00:00
|
|
|
# Disable demo user creation (using OIDC auto-provisioning only)
|
|
|
|
|
- name: IDM_CREATE_DEMO_USERS
|
|
|
|
|
value: "false"
|
|
|
|
|
|
2026-07-05 14:49:36 +00:00
|
|
|
# Web service OIDC configuration (Public Client with PKCE)
|
2026-07-05 08:18:34 +00:00
|
|
|
- name: WEB_OIDC_CLIENT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-oidc-secret
|
|
|
|
|
key: oidc-client-id
|
2026-07-05 14:49:36 +00:00
|
|
|
# No WEB_OIDC_CLIENT_SECRET - web frontend is a public SPA using PKCE
|
2026-07-05 08:18:34 +00:00
|
|
|
- name: WEB_OIDC_AUTHORITY
|
|
|
|
|
value: "https://auth.basicstack.de"
|
|
|
|
|
- name: WEB_OIDC_METADATA_URL
|
|
|
|
|
value: "https://auth.basicstack.de/.well-known/openid-configuration"
|
|
|
|
|
- name: WEB_OIDC_RESPONSE_TYPE
|
|
|
|
|
value: "code"
|
|
|
|
|
- name: WEB_OIDC_SCOPE
|
2026-07-05 11:50:58 +00:00
|
|
|
value: "openid profile email groups"
|
2026-07-05 08:18:34 +00:00
|
|
|
|
2026-07-04 18:59:33 +00:00
|
|
|
# SMTP Configuration
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_HOST
|
|
|
|
|
value: "mail.basicstack.de"
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_PORT
|
|
|
|
|
value: "465"
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_SENDER
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-smtp-secret
|
|
|
|
|
key: smtp-username
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_USERNAME
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-smtp-secret
|
|
|
|
|
key: smtp-username
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-smtp-secret
|
|
|
|
|
key: smtp-password
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_INSECURE
|
|
|
|
|
value: "false"
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_AUTHENTICATION
|
|
|
|
|
value: "login"
|
|
|
|
|
- name: NOTIFICATIONS_SMTP_ENCRYPTION
|
|
|
|
|
value: "ssl"
|
|
|
|
|
|
Add complete environment variable configuration to OpenCloud deployment
Updated deployment manifest with all 50+ environment variables mapping
to sealed secrets, including service-specific overrides for each OpenCloud
microservice.
## Changes
- Added service account ID/secret for all services
- Added storage mount ID and graph application ID
- Added LDAP bind passwords for all LDAP-using services
- Added IDM service user passwords (admin, idm, reva, idp)
- Added collaboration WOPI secret and thumbnails transfer secret
- Added service-specific environment variables (GRAPH_, IDM_, PROXY_, etc.)
## Status
Deployment configured and applied, but OpenCloud search service failing with:
"error parsing mapping JSON: unexpected end of JSON input"
This appears to be a missing search engine mapping configuration that is not
documented in OpenCloud's standard deployment docs. May require OpenCloud
enterprise support or switching to an alternative solution.
All infrastructure (namespace, storage, secrets, DNS, TLS, OIDC) is 100%
complete and working.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 19:47:45 +00:00
|
|
|
# Service account (shared across all services)
|
|
|
|
|
- name: OC_SERVICE_ACCOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-id
|
|
|
|
|
- name: OC_SERVICE_ACCOUNT_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-secret
|
|
|
|
|
|
2026-07-04 19:35:08 +00:00
|
|
|
# Storage configuration
|
Add complete environment variable configuration to OpenCloud deployment
Updated deployment manifest with all 50+ environment variables mapping
to sealed secrets, including service-specific overrides for each OpenCloud
microservice.
## Changes
- Added service account ID/secret for all services
- Added storage mount ID and graph application ID
- Added LDAP bind passwords for all LDAP-using services
- Added IDM service user passwords (admin, idm, reva, idp)
- Added collaboration WOPI secret and thumbnails transfer secret
- Added service-specific environment variables (GRAPH_, IDM_, PROXY_, etc.)
## Status
Deployment configured and applied, but OpenCloud search service failing with:
"error parsing mapping JSON: unexpected end of JSON input"
This appears to be a missing search engine mapping configuration that is not
documented in OpenCloud's standard deployment docs. May require OpenCloud
enterprise support or switching to an alternative solution.
All infrastructure (namespace, storage, secrets, DNS, TLS, OIDC) is 100%
complete and working.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 19:47:45 +00:00
|
|
|
- name: OC_STORAGE_MOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: storage-mount-id
|
|
|
|
|
- name: OC_GRAPH_APPLICATION_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: graph-application-id
|
|
|
|
|
|
2026-07-05 20:47:59 +00:00
|
|
|
# LDAP bind passwords
|
|
|
|
|
- name: OC_GRAPH_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: graph-ldap-bind-password
|
|
|
|
|
- name: OC_IDP_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idp-ldap-bind-password
|
|
|
|
|
- name: OC_USERS_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: ldap-bind-password
|
|
|
|
|
- name: OC_GROUPS_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: ldap-bind-password
|
2026-07-04 19:35:08 +00:00
|
|
|
|
Add complete environment variable configuration to OpenCloud deployment
Updated deployment manifest with all 50+ environment variables mapping
to sealed secrets, including service-specific overrides for each OpenCloud
microservice.
## Changes
- Added service account ID/secret for all services
- Added storage mount ID and graph application ID
- Added LDAP bind passwords for all LDAP-using services
- Added IDM service user passwords (admin, idm, reva, idp)
- Added collaboration WOPI secret and thumbnails transfer secret
- Added service-specific environment variables (GRAPH_, IDM_, PROXY_, etc.)
## Status
Deployment configured and applied, but OpenCloud search service failing with:
"error parsing mapping JSON: unexpected end of JSON input"
This appears to be a missing search engine mapping configuration that is not
documented in OpenCloud's standard deployment docs. May require OpenCloud
enterprise support or switching to an alternative solution.
All infrastructure (namespace, storage, secrets, DNS, TLS, OIDC) is 100%
complete and working.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 19:47:45 +00:00
|
|
|
# IDM service user passwords
|
|
|
|
|
- name: OC_IDM_ADMIN_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-admin-password
|
|
|
|
|
- name: OC_IDM_IDM_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-idm-password
|
|
|
|
|
- name: OC_IDM_REVA_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-reva-password
|
|
|
|
|
- name: OC_IDM_IDP_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-idp-password
|
|
|
|
|
|
|
|
|
|
# Other service secrets
|
|
|
|
|
- name: OC_COLLABORATION_WOPI_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: collaboration-wopi-secret
|
|
|
|
|
- name: OC_THUMBNAILS_TRANSFER_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: thumbnails-transfer-secret
|
|
|
|
|
|
|
|
|
|
# Service-specific environment variables (for direct override)
|
|
|
|
|
- name: GRAPH_APPLICATION_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: graph-application-id
|
2026-07-05 20:47:59 +00:00
|
|
|
- name: GRAPH_IDENTITY_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: graph-ldap-bind-password
|
Add complete environment variable configuration to OpenCloud deployment
Updated deployment manifest with all 50+ environment variables mapping
to sealed secrets, including service-specific overrides for each OpenCloud
microservice.
## Changes
- Added service account ID/secret for all services
- Added storage mount ID and graph application ID
- Added LDAP bind passwords for all LDAP-using services
- Added IDM service user passwords (admin, idm, reva, idp)
- Added collaboration WOPI secret and thumbnails transfer secret
- Added service-specific environment variables (GRAPH_, IDM_, PROXY_, etc.)
## Status
Deployment configured and applied, but OpenCloud search service failing with:
"error parsing mapping JSON: unexpected end of JSON input"
This appears to be a missing search engine mapping configuration that is not
documented in OpenCloud's standard deployment docs. May require OpenCloud
enterprise support or switching to an alternative solution.
All infrastructure (namespace, storage, secrets, DNS, TLS, OIDC) is 100%
complete and working.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 19:47:45 +00:00
|
|
|
- name: GRAPH_SERVICE_ACCOUNT_SERVICE_ACCOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-id
|
|
|
|
|
- name: GRAPH_SERVICE_ACCOUNT_SERVICE_ACCOUNT_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-secret
|
2026-07-05 11:50:58 +00:00
|
|
|
- name: GRAPH_ASSIGN_DEFAULT_USER_ROLE
|
|
|
|
|
value: "false"
|
|
|
|
|
- name: GRAPH_USERNAME_MATCH
|
|
|
|
|
value: "none"
|
2026-07-05 20:47:59 +00:00
|
|
|
- name: IDP_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idp-ldap-bind-password
|
Add complete environment variable configuration to OpenCloud deployment
Updated deployment manifest with all 50+ environment variables mapping
to sealed secrets, including service-specific overrides for each OpenCloud
microservice.
## Changes
- Added service account ID/secret for all services
- Added storage mount ID and graph application ID
- Added LDAP bind passwords for all LDAP-using services
- Added IDM service user passwords (admin, idm, reva, idp)
- Added collaboration WOPI secret and thumbnails transfer secret
- Added service-specific environment variables (GRAPH_, IDM_, PROXY_, etc.)
## Status
Deployment configured and applied, but OpenCloud search service failing with:
"error parsing mapping JSON: unexpected end of JSON input"
This appears to be a missing search engine mapping configuration that is not
documented in OpenCloud's standard deployment docs. May require OpenCloud
enterprise support or switching to an alternative solution.
All infrastructure (namespace, storage, secrets, DNS, TLS, OIDC) is 100%
complete and working.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 19:47:45 +00:00
|
|
|
- name: IDM_SERVICE_USER_PASSWORDS_ADMIN_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-admin-password
|
|
|
|
|
- name: IDM_SERVICE_USER_PASSWORDS_IDM_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-idm-password
|
|
|
|
|
- name: IDM_SERVICE_USER_PASSWORDS_REVA_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-reva-password
|
|
|
|
|
- name: IDM_SERVICE_USER_PASSWORDS_IDP_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: idm-idp-password
|
|
|
|
|
- name: COLLABORATION_WOPI_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: collaboration-wopi-secret
|
|
|
|
|
- name: PROXY_SERVICE_ACCOUNT_SERVICE_ACCOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-id
|
|
|
|
|
- name: PROXY_SERVICE_ACCOUNT_SERVICE_ACCOUNT_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-secret
|
|
|
|
|
- name: STORAGE_USERS_MOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: storage-mount-id
|
|
|
|
|
- name: STORAGE_USERS_SERVICE_ACCOUNT_SERVICE_ACCOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-id
|
|
|
|
|
- name: STORAGE_USERS_SERVICE_ACCOUNT_SERVICE_ACCOUNT_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-secret
|
|
|
|
|
- name: GATEWAY_STORAGE_REGISTRY_STORAGE_USERS_MOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: storage-mount-id
|
2026-07-05 20:47:59 +00:00
|
|
|
- name: USERS_DRIVERS_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: ldap-bind-password
|
|
|
|
|
- name: GROUPS_DRIVERS_LDAP_BIND_PASSWORD
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: ldap-bind-password
|
Add complete environment variable configuration to OpenCloud deployment
Updated deployment manifest with all 50+ environment variables mapping
to sealed secrets, including service-specific overrides for each OpenCloud
microservice.
## Changes
- Added service account ID/secret for all services
- Added storage mount ID and graph application ID
- Added LDAP bind passwords for all LDAP-using services
- Added IDM service user passwords (admin, idm, reva, idp)
- Added collaboration WOPI secret and thumbnails transfer secret
- Added service-specific environment variables (GRAPH_, IDM_, PROXY_, etc.)
## Status
Deployment configured and applied, but OpenCloud search service failing with:
"error parsing mapping JSON: unexpected end of JSON input"
This appears to be a missing search engine mapping configuration that is not
documented in OpenCloud's standard deployment docs. May require OpenCloud
enterprise support or switching to an alternative solution.
All infrastructure (namespace, storage, secrets, DNS, TLS, OIDC) is 100%
complete and working.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-04 19:47:45 +00:00
|
|
|
- name: OCM_SERVICE_ACCOUNT_SERVICE_ACCOUNT_ID
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-id
|
|
|
|
|
- name: OCM_SERVICE_ACCOUNT_SERVICE_ACCOUNT_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: service-account-secret
|
|
|
|
|
- name: THUMBNAILS_THUMBNAIL_TRANSFER_SECRET
|
|
|
|
|
valueFrom:
|
|
|
|
|
secretKeyRef:
|
|
|
|
|
name: opencloud-config-secrets
|
|
|
|
|
key: thumbnails-transfer-secret
|
2026-07-04 19:35:08 +00:00
|
|
|
|
2026-07-04 18:59:33 +00:00
|
|
|
ports:
|
|
|
|
|
- containerPort: 9200
|
|
|
|
|
name: http
|
|
|
|
|
volumeMounts:
|
|
|
|
|
- name: opencloud-data
|
|
|
|
|
mountPath: /var/lib/opencloud
|
2026-07-05 14:03:49 +00:00
|
|
|
- name: opencloud-config
|
2026-07-05 13:39:15 +00:00
|
|
|
mountPath: /etc/opencloud
|
2026-07-04 18:59:33 +00:00
|
|
|
resources:
|
|
|
|
|
requests:
|
|
|
|
|
memory: "512Mi"
|
2026-10-11 01:11:29 +00:00
|
|
|
cpu: "50m"
|
2026-07-04 18:59:33 +00:00
|
|
|
limits:
|
|
|
|
|
memory: "2Gi"
|
|
|
|
|
cpu: "1000m"
|
|
|
|
|
livenessProbe:
|
|
|
|
|
httpGet:
|
2026-07-04 19:35:08 +00:00
|
|
|
path: /healthz
|
2026-07-04 18:59:33 +00:00
|
|
|
port: 9200
|
|
|
|
|
initialDelaySeconds: 60
|
|
|
|
|
periodSeconds: 30
|
|
|
|
|
timeoutSeconds: 5
|
|
|
|
|
failureThreshold: 5
|
|
|
|
|
readinessProbe:
|
|
|
|
|
httpGet:
|
2026-07-04 19:35:08 +00:00
|
|
|
path: /healthz
|
2026-07-04 18:59:33 +00:00
|
|
|
port: 9200
|
|
|
|
|
initialDelaySeconds: 30
|
|
|
|
|
periodSeconds: 10
|
|
|
|
|
timeoutSeconds: 5
|
|
|
|
|
volumes:
|
|
|
|
|
- name: opencloud-data
|
|
|
|
|
persistentVolumeClaim:
|
|
|
|
|
claimName: opencloud-data
|
2026-07-05 14:03:49 +00:00
|
|
|
- name: opencloud-config
|
2026-07-05 13:39:15 +00:00
|
|
|
configMap:
|
|
|
|
|
name: opencloud-config
|
2026-07-04 18:59:33 +00:00
|
|
|
---
|
|
|
|
|
# Ingress
|
|
|
|
|
apiVersion: networking.k8s.io/v1
|
|
|
|
|
kind: Ingress
|
|
|
|
|
metadata:
|
|
|
|
|
name: opencloud
|
|
|
|
|
namespace: opencloud
|
|
|
|
|
annotations:
|
|
|
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
|
|
|
spec:
|
|
|
|
|
ingressClassName: traefik
|
|
|
|
|
tls:
|
|
|
|
|
- hosts:
|
|
|
|
|
- opencloud.basicstack.de
|
|
|
|
|
secretName: opencloud-tls
|
|
|
|
|
rules:
|
|
|
|
|
- host: opencloud.basicstack.de
|
|
|
|
|
http:
|
|
|
|
|
paths:
|
|
|
|
|
- path: /
|
|
|
|
|
pathType: Prefix
|
|
|
|
|
backend:
|
|
|
|
|
service:
|
|
|
|
|
name: opencloud
|
|
|
|
|
port:
|
|
|
|
|
number: 9200
|