This repository has been archived on 2024-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
ansible-sso-collection/roles/keycloak/tasks/main.yml

64 lines
2.6 KiB
YAML
Raw Normal View History

2022-11-26 22:57:00 +00:00
---
- name: Ensure build directory exists
ansible.builtin.file:
2022-11-26 22:57:00 +00:00
name: "{{ keycloak_container_build_directory }}"
state: directory
recurse: yes
mode: 0700
- name: Ensure provider jars directory exists
ansible.builtin.file:
name: "{{ keycloak_provider_jars_directory }}"
state: directory
mode: 0775
2022-11-26 22:57:00 +00:00
- name: Ensure Dockerfile is templated
ansible.builtin.template:
2022-11-26 22:57:00 +00:00
src: Dockerfile.j2
dest: "{{ keycloak_container_build_directory }}/Dockerfile"
mode: 0700
register: keycloak_buildfile_info
2022-11-26 22:57:00 +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
register: keycloak_container_image_upstream_status
2022-11-26 22:57:00 +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
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
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) }}"
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 }}"
recreate: "{{ keycloak_container_force_recreate | default(false) or (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 }}
{{ keycloak_container_extra_start_flags | default([]) | join(' ') }}
2022-11-26 22:57:00 +00:00
--optimized
tags:
- keycloak-container