diff --git a/playbook.yaml b/playbook.yaml index 65525de..003d863 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -11,6 +11,10 @@ roles: - { role : docker-deployments,tags : [ "docker", "kube1" ] } +- hosts: usermanagement + roles: + - { role : usermanagement, tags : [ "users", "keycloak" ] } + - hosts: monitoring roles: - { role : monitoring-master, tags : [ "monitoring-master", "icinga", "grafana" ] } diff --git a/roles/usermanagement/handlers/main.yaml b/roles/usermanagement/handlers/main.yaml new file mode 100644 index 0000000..e69de29 diff --git a/roles/usermanagement/keycloak.yaml b/roles/usermanagement/keycloak.yaml new file mode 100644 index 0000000..2760268 --- /dev/null +++ b/roles/usermanagement/keycloak.yaml @@ -0,0 +1,35 @@ +--- + +version: '3.3' + +services: + keycloak: + container_name: keycloak-container + command: start-dev --http-enabled=true + image: quay.io/keycloak/keycloak:18.0.0 + env_file: .env.keycloak + restart: unless-stopped + ports: + - 5050:8080 + depends_on: + - postgres + secrets: + - postgres_password + postgres: + container_name: postgres-container + image: postgres:13.2 + env_file: .env.postgres + restart: unless-stopped + secrets: + - postgres_password + volumes: + - postgres-data:/var/lib/postgresql/data + +secrets: + postgres_password: + file: postgres_password + +volumes: + postgres-data: + +... diff --git a/roles/usermanagement/tasks/main.yaml b/roles/usermanagement/tasks/main.yaml new file mode 100644 index 0000000..ecf26f6 --- /dev/null +++ b/roles/usermanagement/tasks/main.yaml @@ -0,0 +1,32 @@ +- name: Create data-dir + file: + name: /data/ + state: directory + +- name: Create opt-dir + file: + name: /opt/ + state: directory + +- name: Create compose directories + file: + name: "/opt/{{ item }}" + state: directory + with_items: + - keycloak + +- name: Copy compose templates + template: + src: "{{ item }}.yaml" + dest: "/opt/{{ item }}/" + with_items: + - keycloak + +- name: Deploy compose templates + community.docker.docker_compose: + project_src: "/opt/{{ item }}/" + pull: true + files: + - "{{ item }}.yaml" + with_items: + - keycloak