mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-06 19:01:54 +00:00
The no-ldap variant still rendered auth_method: ldap with empty LDAP bind values, so ejabberd rejected every login. The ldap block is now gated on services.ldap.enabled with an internal-auth fallback. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
71 lines
1.4 KiB
Django/Jinja
71 lines
1.4 KiB
Django/Jinja
|
|
hosts:
|
|
- "{{ XMPP_DOMAIN }}"
|
|
|
|
loglevel: info
|
|
|
|
listen:
|
|
- port: 5222
|
|
ip: "::"
|
|
module: ejabberd_c2s
|
|
starttls: true
|
|
starttls_required: true
|
|
- port: 5269
|
|
ip: "::"
|
|
module: ejabberd_s2s_in
|
|
- port: 5280
|
|
ip: "::"
|
|
module: ejabberd_http
|
|
request_handlers:
|
|
"/admin": ejabberd_web_admin
|
|
"/api": mod_http_api
|
|
"/.well-known/host-meta": mod_host_meta
|
|
"/bosh": mod_bosh
|
|
"/ws": ejabberd_http_ws
|
|
|
|
{% if lookup('config', application_id, 'services.ldap.enabled') | bool %}
|
|
auth_method:
|
|
- ldap
|
|
|
|
ldap_servers:
|
|
- "{{ lookup('config', 'svc-db-openldap', 'services.openldap.name') }}"
|
|
ldap_port: {{ lookup('config', 'svc-db-openldap', 'services.openldap.ports.local.ldap') }}
|
|
ldap_rootdn: "{{ LDAP.DN.ADMINISTRATOR.DATA }}"
|
|
ldap_password: "{{ LDAP.BIND_CREDENTIAL }}"
|
|
ldap_base: "{{ LDAP.DN.OU.USERS }}"
|
|
ldap_uids: ["uid"]
|
|
ldap_filter: "(objectClass=inetOrgPerson)"
|
|
{% else %}
|
|
auth_method:
|
|
- internal
|
|
{% endif %}
|
|
|
|
shaper:
|
|
normal: 1000
|
|
fast: 50000
|
|
|
|
acl:
|
|
admin:
|
|
user:
|
|
- "{{ lookup('users', 'administrator').username }}@{{ XMPP_DOMAIN }}"
|
|
|
|
modules:
|
|
mod_admin_extra: {}
|
|
mod_adhoc: {}
|
|
mod_announce:
|
|
access: announce
|
|
mod_bosh: {}
|
|
mod_caps: {}
|
|
mod_carboncopy: {}
|
|
mod_client_state: {}
|
|
mod_disco: {}
|
|
mod_offline: {}
|
|
mod_ping: {}
|
|
mod_pubsub:
|
|
access_createnode: pubsub_createnode
|
|
mod_register:
|
|
access: deny
|
|
mod_roster: {}
|
|
mod_stream_mgmt: {}
|
|
mod_vcard: {}
|