2019-05-25 15:28:09 -03:00

53 lines
1.5 KiB
YAML

---
# Playbook for setting up a Docker container with openLDAP.
# A port binding to the Docker host is required for setting
# up domains and replication.
- name: "Create directory for building image"
file:
path: "/tmp/build.openldap-image"
state: "directory"
- name: "Copy required files"
copy:
src: "{{ item }}"
dest: "/tmp/build.openldap-image/"
loop:
- "Dockerfile"
- "entrypoint.sh"
- name: "Build openldap image"
docker_image:
path: "/tmp/build.openldap-image"
name: "{{ openldap_image_name }}"
- name: "Start openldap container"
docker_container:
image: "{{ openldap_image_name }}"
name: "{{ openldap_container_name }}"
volumes:
- "{{ openldap_volume_config }}:/etc/ldap"
- "{{ openldap_volume_data }}:/var/lib/ldap"
- "{{ openldap_volume_backup }}:/var/backups/ldap"
env:
OPENLDAP_ADMIN_PASSWORD: "{{ openldap_admin_password }}"
OPENLDAP_SCHEMAS: "{{ openldap_schemas | join (' ') }}"
OPENLDAP_ENABLE_MEMBEROF: "{{ 'true' if openldap_enable_memberof else 'false' }}"
networks:
- name: "{{ docker_network_name }}"
ports:
- "{{ openldap_bind_host }}:{{ openldap_bind_port }}:389"
- include_tasks: "provider.yml"
when: "openldap_provider == True"
- include_tasks: "domain.yml"
loop: "{{ openldap_domains }}"
loop_control:
loop_var: "domain"
- set_fact:
ldap_uri: "{{ lookup( 'vars', 'ldap_uri',
default='ldap://'+openldap_container_name+':389') }}"