OpenCloud: Use native bash substitution in config file
- Removed init-config container (OpenCloud supports native bash substitution)
- Mount opencloud-config ConfigMap directly to /etc/opencloud
- Added gateway storage configuration with ${OC_STORAGE_MOUNT_ID|}
- Updated all LDAP services to use ${OPENLDAP_ADMIN_PASSWORD|} substitution
- Added auth-basic auth_providers structure
Services starting successfully:
- Gateway, users, sharing services running
- Users service connected to external OpenLDAP
- Remaining: auth-basic bind_password configuration issue
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
6f8e50c455
commit
3db38aded0
3 changed files with 56 additions and 143 deletions
35
add-user-andreas.ldif
Normal file
35
add-user-andreas.ldif
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Add user andreas.leinen to OpenLDAP
|
||||||
|
# Username: andreas.leinen
|
||||||
|
# Email: andreas.leinen@basicstack.de
|
||||||
|
# Password: will be set below
|
||||||
|
|
||||||
|
# Create user entry
|
||||||
|
dn: uid=andreas.leinen,ou=users,dc=basicstack,dc=de
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
objectClass: posixAccount
|
||||||
|
objectClass: shadowAccount
|
||||||
|
uid: andreas.leinen
|
||||||
|
cn: Andreas Leinen
|
||||||
|
sn: Leinen
|
||||||
|
givenName: Andreas
|
||||||
|
displayName: Andreas Leinen
|
||||||
|
mail: andreas.leinen@basicstack.de
|
||||||
|
uidNumber: 10001
|
||||||
|
gidNumber: 10001
|
||||||
|
homeDirectory: /home/andreas.leinen
|
||||||
|
loginShell: /bin/bash
|
||||||
|
# Password: OpenCloud2024! (hashed with SSHA)
|
||||||
|
# To generate: slappasswd -s "your_password"
|
||||||
|
userPassword: {SSHA}placeholder_will_be_set_via_ldappasswd
|
||||||
|
|
||||||
|
# Add user to opencloudUsers group
|
||||||
|
dn: cn=opencloudUsers,ou=groups,dc=basicstack,dc=de
|
||||||
|
changetype: modify
|
||||||
|
add: member
|
||||||
|
member: uid=andreas.leinen,ou=users,dc=basicstack,dc=de
|
||||||
|
|
||||||
|
# Add user to opencloudAdmins group (for admin access)
|
||||||
|
dn: cn=opencloudAdmins,ou=groups,dc=basicstack,dc=de
|
||||||
|
changetype: modify
|
||||||
|
add: member
|
||||||
|
member: uid=andreas.leinen,ou=users,dc=basicstack,dc=de
|
||||||
|
|
@ -16,7 +16,7 @@ data:
|
||||||
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
||||||
base_dn: dc=basicstack,dc=de
|
base_dn: dc=basicstack,dc=de
|
||||||
bind_dn: cn=admin,dc=basicstack,dc=de
|
bind_dn: cn=admin,dc=basicstack,dc=de
|
||||||
bind_password: ${OPENLDAP_ADMIN_PASSWORD}
|
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
|
||||||
user_base_dn: ou=users,dc=basicstack,dc=de
|
user_base_dn: ou=users,dc=basicstack,dc=de
|
||||||
group_base_dn: ou=groups,dc=basicstack,dc=de
|
group_base_dn: ou=groups,dc=basicstack,dc=de
|
||||||
insecure: true
|
insecure: true
|
||||||
|
|
@ -30,6 +30,17 @@ data:
|
||||||
user_oidc_claim: preferred_username
|
user_oidc_claim: preferred_username
|
||||||
enable_basic_auth: false
|
enable_basic_auth: false
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
# Users service - external LDAP
|
# Users service - external LDAP
|
||||||
users:
|
users:
|
||||||
drivers:
|
drivers:
|
||||||
|
|
@ -37,7 +48,7 @@ data:
|
||||||
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
||||||
base_dn: dc=basicstack,dc=de
|
base_dn: dc=basicstack,dc=de
|
||||||
bind_dn: cn=admin,dc=basicstack,dc=de
|
bind_dn: cn=admin,dc=basicstack,dc=de
|
||||||
bind_password: ${OPENLDAP_ADMIN_PASSWORD}
|
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
|
||||||
user_base_dn: ou=users,dc=basicstack,dc=de
|
user_base_dn: ou=users,dc=basicstack,dc=de
|
||||||
user_filter: (objectClass=inetOrgPerson)
|
user_filter: (objectClass=inetOrgPerson)
|
||||||
user_object_class: inetOrgPerson
|
user_object_class: inetOrgPerson
|
||||||
|
|
@ -50,8 +61,13 @@ data:
|
||||||
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
uri: ldap://openldap.opencloud.svc.cluster.local:389
|
||||||
base_dn: dc=basicstack,dc=de
|
base_dn: dc=basicstack,dc=de
|
||||||
bind_dn: cn=admin,dc=basicstack,dc=de
|
bind_dn: cn=admin,dc=basicstack,dc=de
|
||||||
bind_password: ${OPENLDAP_ADMIN_PASSWORD}
|
bind_password: ${OPENLDAP_ADMIN_PASSWORD|}
|
||||||
group_base_dn: ou=groups,dc=basicstack,dc=de
|
group_base_dn: ou=groups,dc=basicstack,dc=de
|
||||||
group_filter: (objectClass=groupOfNames)
|
group_filter: (objectClass=groupOfNames)
|
||||||
group_object_class: groupOfNames
|
group_object_class: groupOfNames
|
||||||
insecure: true
|
insecure: true
|
||||||
|
|
||||||
|
# Gateway service - storage configuration
|
||||||
|
gateway:
|
||||||
|
storage_registry:
|
||||||
|
storage_users_mount_id: ${OC_STORAGE_MOUNT_ID}
|
||||||
|
|
|
||||||
|
|
@ -69,142 +69,6 @@ spec:
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
runAsGroup: 1000
|
runAsGroup: 1000
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
- name: init-config
|
|
||||||
image: busybox:1.36
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
# Create output directory
|
|
||||||
mkdir -p /etc/opencloud-processed
|
|
||||||
|
|
||||||
# Simple variable expansion using shell
|
|
||||||
# Read template and expand ${VAR} patterns
|
|
||||||
while IFS= read -r line; do
|
|
||||||
# Expand ${OPENLDAP_ADMIN_PASSWORD}
|
|
||||||
line=$(echo "$line" | sed "s|\${OPENLDAP_ADMIN_PASSWORD}|$OPENLDAP_ADMIN_PASSWORD|g")
|
|
||||||
echo "$line"
|
|
||||||
done < /etc/opencloud-template/opencloud.yaml > /etc/opencloud-processed/opencloud.yaml
|
|
||||||
|
|
||||||
echo "Config file processed successfully"
|
|
||||||
echo "First 20 lines:"
|
|
||||||
head -20 /etc/opencloud-processed/opencloud.yaml
|
|
||||||
env:
|
|
||||||
# Pass all environment variables needed for substitution
|
|
||||||
- name: OC_GRAPH_LDAP_BIND_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: opencloud-config-secrets
|
|
||||||
key: graph-ldap-bind-password
|
|
||||||
- name: OPENLDAP_ADMIN_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: openldap-admin-secret
|
|
||||||
key: admin-password
|
|
||||||
- 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
|
|
||||||
- name: OC_TOKEN_MANAGER_JWT_SECRET
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: opencloud-jwt-secret
|
|
||||||
key: jwt-secret
|
|
||||||
- name: OC_MACHINE_AUTH_API_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
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
|
|
||||||
- name: OC_GRAPH_APPLICATION_ID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: opencloud-config-secrets
|
|
||||||
key: graph-application-id
|
|
||||||
- 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
|
|
||||||
- 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
|
|
||||||
- name: OC_STORAGE_MOUNT_ID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: opencloud-config-secrets
|
|
||||||
key: storage-mount-id
|
|
||||||
- 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
|
|
||||||
volumeMounts:
|
|
||||||
- name: opencloud-config-template
|
|
||||||
mountPath: /etc/opencloud-template
|
|
||||||
- name: opencloud-config-processed
|
|
||||||
mountPath: /etc/opencloud-processed
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 1000
|
|
||||||
runAsGroup: 1000
|
|
||||||
runAsNonRoot: true
|
|
||||||
containers:
|
containers:
|
||||||
- name: opencloud
|
- name: opencloud
|
||||||
image: opencloudeu/opencloud-rolling:7.2.0
|
image: opencloudeu/opencloud-rolling:7.2.0
|
||||||
|
|
@ -584,7 +448,7 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: opencloud-data
|
- name: opencloud-data
|
||||||
mountPath: /var/lib/opencloud
|
mountPath: /var/lib/opencloud
|
||||||
- name: opencloud-config-processed
|
- name: opencloud-config
|
||||||
mountPath: /etc/opencloud
|
mountPath: /etc/opencloud
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
|
|
@ -612,11 +476,9 @@ spec:
|
||||||
- name: opencloud-data
|
- name: opencloud-data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: opencloud-data
|
claimName: opencloud-data
|
||||||
- name: opencloud-config-template
|
- name: opencloud-config
|
||||||
configMap:
|
configMap:
|
||||||
name: opencloud-config
|
name: opencloud-config
|
||||||
- name: opencloud-config-processed
|
|
||||||
emptyDir: {}
|
|
||||||
---
|
---
|
||||||
# Ingress
|
# Ingress
|
||||||
apiVersion: networking.k8s.io/v1
|
apiVersion: networking.k8s.io/v1
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue