2022-11-26 22:57:00 +00:00
---
- name : Ensure build directory exists
2023-08-30 16:37:36 +00:00
ansible.builtin.file :
2022-11-26 22:57:00 +00:00
name : "{{ keycloak_container_build_directory }}"
state : directory
recurse : yes
mode : 0700
2023-03-25 17:18:40 +00:00
- name : Ensure provider jars directory exists
2023-08-30 16:37:36 +00:00
ansible.builtin.file :
2023-03-25 17:18:40 +00:00
name : "{{ keycloak_provider_jars_directory }}"
state : directory
mode : 0775
2022-11-26 22:57:00 +00:00
- name : Ensure Dockerfile is templated
2023-08-30 16:37:36 +00:00
ansible.builtin.template :
2022-11-26 22:57:00 +00:00
src : Dockerfile.j2
dest : "{{ keycloak_container_build_directory }}/Dockerfile"
2023-03-25 17:18:40 +00:00
mode : 0700
register : keycloak_buildfile_info
2022-11-26 22:57:00 +00:00
2023-08-30 16:37:36 +00:00
- name : Ensure upstream Keycloak container image '{{ keycloak_container_upstream_image_name }}:{{ keycloak_version }}' is present
2022-11-26 22:57:00 +00:00
docker_image :
name : "{{ keycloak_container_upstream_image_name }}:{{ keycloak_version }}"
source : pull
state : present
2023-08-30 16:43:32 +00:00
register : keycloak_container_image_upstream_status
2022-11-26 22:57:00 +00:00
2023-08-30 16:37:36 +00:00
- name : Ensure custom keycloak container image '{{ keycloak_container_image_name }}' is built
community.docker.docker_image :
2022-11-26 22:57:00 +00:00
name : "{{ keycloak_container_image_name }}"
build :
args :
DB_VENDOR : "{{ keycloak_container_database_vendor }}"
KC_ADMIN_PASSWORD : "{{ keycloak_config_admin_password }}"
dockerfile : "{{ keycloak_container_build_directory }}/Dockerfile"
path : "{{ keycloak_container_build_directory }}"
source : build
state : present
2023-08-30 16:43:32 +00:00
force_source : "{{ keycloak_buildfile_info.changed or keycloak_container_image_upstream_status.changed or (keycloak_force_rebuild_container | default(false))}}"
register : keycloak_container_image_status
2022-11-26 22:57:00 +00:00
- name : Ensure keycloak container is running
2023-08-30 16:37:36 +00:00
community.docker.docker_container :
2022-11-26 22:57:00 +00:00
name : "{{ keycloak_container_name }}"
image : "{{ keycloak_container_image_name }}"
env : "{{ keycloak_container_env | default(omit, true) }}"
2023-09-26 12:23:51 +00:00
hostname : "{{ keycloak_container_hostname | default(omit) }}"
2022-11-26 22:57:00 +00:00
labels : "{{ keycloak_container_labels | default(omit, true) }}"
volumes : "{{ keycloak_container_volumes | default(omit, true) }}"
restart_policy : "{{ keycloak_container_restart_policy }}"
2023-08-30 16:43:32 +00:00
recreate : "{{ keycloak_container_image_status.changed if keycloak_container_image_status else false }}"
2022-11-26 22:57:00 +00:00
state : started
command : >-2
start
--db-username {{ keycloak_database_username }}
--db-password {{ keycloak_database_password }}
--db-url jdbc:postgresql://{{ keycloak_database_hostname }}:{{ keycloak_database_port }}/{{ keycloak_database_database }}
--optimized
2023-03-25 17:18:40 +00:00
tags :
- keycloak-container