Commit graph

4 commits

Author SHA1 Message Date
fa581374b2 apps/opencloud/openldap-deployment.yaml aktualisiert 2026-07-12 16:02:10 +00:00
CTO Agent
c3fe072be5 fix(opencloud): move schema loading from postStart hook to standalone Job
The postStart lifecycle hook caused osixia/openldap to crash on startup:
its init script does chown -R on /container/service/slapd/assets/, and
the ConfigMap subPath mount there is read-only, killing the container.

Remove the postStart hook and the schema volume mount from the OpenLDAP
deployment. Add a standalone Kubernetes Job (opencloud-ldap-schema-job.yaml)
that connects via network LDAP as cn=admin,cn=config and loads the schema
after OpenLDAP is confirmed ready. The Job is idempotent (skips if the
schema already exists) and retries up to 10 times on failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-05 16:56:33 +00:00
CTO Agent
a715c8e532 fix(opencloud): load OpenCloud LDAP schema into OpenLDAP on startup
User creation failed with "openCloudUUID: attribute type undefined" because
OpenLDAP was missing the OpenCloud schema (OIDs under 1.3.6.1.4.1.63016).

Changes:
- Add opencloud-ldap-schema.yaml ConfigMap with the official OpenCloud LDAP
  schema defining openCloudUUID, openCloudUser, openCloudExternalIdentity,
  openCloudUserEnabled, openCloudUserType, openCloudLastSignInTimestamp
- Mount the ConfigMap into the OpenLDAP pod
- Add lifecycle postStart hook to load schema via ldapadd -Y EXTERNAL -H ldapi:///
  (idempotent: skips if already loaded)
- Re-exclude IDM in OpenCloud deployment (external LDAP handles user storage)

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-05 15:51:15 +00:00
CTO Agent
41ca29024e Add external OpenLDAP deployment for OpenCloud
- Add OpenLDAP deployment with persistent storage
- Configure OpenCloud to use external LDAP for user/group storage
- Exclude internal IDM service (using external LDAP instead)
- Keep Pocket ID OIDC for authentication
- Add LDAP directory initialization structure
- Add comprehensive deployment guide

Architecture:
- External OpenLDAP (ldap://openldap.opencloud.svc:389)
- Pocket ID OIDC (https://auth.basicstack.de)
- Auto-provision users on first OIDC login to LDAP
- Users: ou=users,dc=basicstack,dc=de
- Groups: ou=groups,dc=basicstack,dc=de

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-07-05 10:21:11 +00:00