#SPDX-License-Identifier: MIT-0 --- # tasks file for keycloak - name: Create docker compose directory file: path: "{{ keycloak_docker_compose_dir }}" state: directory mode: '0755' - name: Create keycloak data directory file: path: "{{ keycloak_docker_volume_dir }}/data" state: directory mode: '0755' owner: "1000" group: "1000" - name: Create postgres data directory file: path: "{{ keycloak_docker_volume_dir }}/postgresql" state: directory mode: '0755' - name: Create docker-compose file for keycloak template: src: docker-compose.yml.j2 dest: "{{ keycloak_docker_compose_dir }}/docker-compose.yml" mode: '0644' - name: Start keycloak container community.docker.docker_compose_v2: project_src: "{{ keycloak_docker_compose_dir }}" state: present - name: Wait for Keycloak health endpoint uri: url: "{{ keycloak_auth_url }}/health/ready" method: GET status_code: 200 validate_certs: false register: keycloak_health until: keycloak_health.status == 200 retries: 30 delay: 10 delegate_to: localhost become: false when: keycloak_provisioning_enabled | bool - name: Run Keycloak provisioning ansible.builtin.include_tasks: provisioning.yml args: apply: become: false delegate_to: localhost when: keycloak_provisioning_enabled | bool