Solved ldap schema bug

This commit is contained in:
Kevin Veen-Birkenbach 2025-04-27 15:56:17 +02:00
parent 7ae3c6cc51
commit 6c1c728acb
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
3 changed files with 41 additions and 33 deletions

View File

@ -3,7 +3,7 @@ services:
{% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %} {% include 'roles/docker-central-database/templates/services/' + database_type + '.yml.j2' %}
web: web:
image: espocrm/espocrm:{{ applications.espocrm.version }} image: espocrm/espocrm:{{ applications[application_id].version }}
{% include 'roles/docker-compose/templates/services/base.yml.j2' %} {% include 'roles/docker-compose/templates/services/base.yml.j2' %}
healthcheck: healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/"] test: ["CMD", "curl", "-f", "http://localhost/"]
@ -15,7 +15,7 @@ services:
- data:/var/www/html - data:/var/www/html
daemon: daemon:
image: espocrm/espocrm:{{ applications.espocrm.version }} image: espocrm/espocrm:{{ applications[application_id].version }}
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
logging: logging:
driver: journald driver: journald
@ -25,7 +25,7 @@ services:
- data:/var/www/html - data:/var/www/html
websocket: websocket:
image: espocrm/espocrm:{{ applications.espocrm.version }} image: espocrm/espocrm:{{ applications[application_id].version }}
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
logging: logging:
driver: journald driver: journald

View File

@ -0,0 +1,32 @@
- name: "pkgmgr install"
include_role:
name: pkgmgr-install
vars:
package_name: ldapsm
- name: Ensure custom LDAP schema snippet via ldapsm
vars:
schema_name: "nextcloud"
attribute_defs:
- "( 1.3.6.1.4.1.99999.1 NAME 'nextcloudQuota' DESC 'Quota for Nextcloud' EQUALITY integerMatch ORDERING integerOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )"
objectclass_defs:
- "( 1.3.6.1.4.1.99999.2 NAME 'nextcloudUser' DESC 'Auxiliary class for Nextcloud attributes' AUXILIARY MAY ( nextcloudQuota ) )"
command: >
ldapsm
-s {{ ldap_server_uri }}
-D '{{ ldap_bind_dn }}'
-W '{{ ldap_bind_pw }}'
-n {{ schema_name }}
{% for at in attribute_defs %}
-a "{{ at }}"
{% endfor %}
{% for oc in objectclass_defs %}
-c "{{ oc }}"
{% endfor %}
register: ldapsm_result
changed_when: "'Created schema entry' in ldapsm_result.stdout"
check_mode: no
- name: Show ldapsm output
debug:
var: ldapsm_result.stdout_lines

View File

@ -49,36 +49,12 @@
- python-ldap - python-ldap
state: present state: present
- name: Create Nextcloud Schema - name: "Include Nextcloud Schema"
ldap_entry: include_tasks: create_nextcloud_schema.yml
dn: "cn=nextcloud,cn=schema,cn=config" vars:
objectClass: ldap_server_uri: "ldap://127.0.0.1:{{ ports.localhost.ldap.ldap }}"
- top ldap_bind_dn: "cn={{ applications.ldap.users.administrator.username }},cn=config"
- olcSchemaConfig ldap_bind_pw: "{{ applications.ldap.administrator_password }}"
attributes:
cn: nextcloud
olcAttributeTypes:
- >-
( 1.3.6.1.4.1.99999.1
NAME 'nextcloudQuota'
DESC 'Quota for Nextcloud'
EQUALITY integerMatch
ORDERING integerOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
SINGLE-VALUE
)
olcObjectClasses:
- >-
( 1.3.6.1.4.1.99999.2
NAME 'nextcloudUser'
DESC 'Auxiliary class for Nextcloud attributes'
AUXILIARY
MAY ( nextcloudQuota )
)
server_uri: "ldap://127.0.0.1:{{ ports.localhost.ldap.ldap }}"
bind_dn: "cn={{ applications.ldap.users.administrator.username }},cn=config"
bind_pw: "{{ applications.ldap.administrator_password }}"
state: present
############################################################################### ###############################################################################
# 1) Create the LDAP entry if it does not yet exist # 1) Create the LDAP entry if it does not yet exist