diff --git a/roles/389ds/defaults/main.yml b/roles/389ds/defaults/main.yml index 0d9ab7d..00bf5d1 100644 --- a/roles/389ds/defaults/main.yml +++ b/roles/389ds/defaults/main.yml @@ -1,3 +1,26 @@ #SPDX-License-Identifier: MIT-0 --- # defaults file for 389ds + +# Base directory configuration (inherited from base role or defined here) +docker_compose_base_dir: /etc/docker/compose +docker_volume_base_dir: /srv/data + +# 389ds-specific configuration +ds389_service_name: 389ds +ds389_docker_compose_dir: "{{ docker_compose_base_dir }}/{{ ds389_service_name }}" +ds389_docker_volume_dir: "{{ docker_volume_base_dir }}/{{ ds389_service_name }}" + +# 389ds service configuration +ds389_image: "docker.io/389ds/dirsrv:3.1" +ds389_suffix: "dc=example,dc=com" +ds389_root_dn: "cn=Directory Manager" +ds389_root_password: "changeme" + +# Instance configuration +ds389_instance_name: "localhost" + +# Network configuration +ds389_backend_network: "backend" +ds389_ldap_port: 3389 +ds389_ldaps_port: 3636 \ No newline at end of file diff --git a/roles/389ds/tasks/main.yml b/roles/389ds/tasks/main.yml index 18a1e4e..277d2dd 100644 --- a/roles/389ds/tasks/main.yml +++ b/roles/389ds/tasks/main.yml @@ -1,3 +1,32 @@ #SPDX-License-Identifier: MIT-0 --- # tasks file for 389ds + +- name: Create docker compose directory + file: + path: "{{ ds389_docker_compose_dir }}" + state: directory + mode: '0755' + +- name: Create 389ds data directory + file: + path: "{{ ds389_docker_volume_dir }}/data" + state: directory + mode: '0755' + +- name: Create 389ds config directory + file: + path: "{{ ds389_docker_volume_dir }}/config" + state: directory + mode: '0755' + +- name: Create docker-compose file for 389ds + template: + src: docker-compose.yml.j2 + dest: "{{ ds389_docker_compose_dir }}/docker-compose.yml" + mode: '0644' + +- name: Start 389ds container + community.docker.docker_compose_v2: + project_src: "{{ ds389_docker_compose_dir }}" + state: present \ No newline at end of file diff --git a/roles/389ds/templates/docker-compose.yml.j2 b/roles/389ds/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..a8842e7 --- /dev/null +++ b/roles/389ds/templates/docker-compose.yml.j2 @@ -0,0 +1,18 @@ +services: + {{ ds389_service_name }}: + image: {{ ds389_image }} + restart: unless-stopped + environment: + DS_SUFFIX_NAME: {{ ds389_suffix }} + DS_DM_PASSWORD: {{ ds389_root_password }} + ports: + - "{{ ds389_ldap_port }}:3389" + - "{{ ds389_ldaps_port }}:3636" + volumes: + - {{ ds389_docker_volume_dir }}/data:/data + - {{ ds389_docker_volume_dir }}/config:/etc/dirsrv/slapd-{{ ds389_instance_name }} + networks: + - {{ ds389_backend_network }} + +networks: + {{ ds389_backend_network }}: