diff --git a/defaults/main.yml b/defaults/main.yml index fa6d496..29898a6 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -15,7 +15,7 @@ cadoles_pod_hydra_oidc_v1_package_version: '*' cadoles_pod_hydra_ldap_v1_package_version: '*' # Hydra database configuration -hydra_use_external_database: no +hydra_use_external_database: false hydra_database_name: hydra hydra_database_user: hydra hydra_database_password: hydra diff --git a/tasks/install-hydra.yml b/tasks/install-hydra.yml new file mode 100644 index 0000000..258b403 --- /dev/null +++ b/tasks/install-hydra.yml @@ -0,0 +1,33 @@ +--- + +- name: Install Hydra + ansible.builtin.apt: + name: + - cadoles-pod-hydra-v1={{ cadoles_pod_hydra_v1_package_version }} + update_cache: yes + state: present + become: true + +- name: Configure Hydra local database + ansible.builtin.include_tasks: hydra-database.yml + when: not hydra_use_external_database + +- name: Create hydra-clients + template: + src: hydra-client.json.j2 + dest: "/etc/hydra/clients.d/{{ item.client_id }}.json" + with_items: "{{ hydra_clients }}" + notify: + - Reload hydra clients + become: true + +- name: Configure cadoles-pod-hydra-v1 + template: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + with_items: + - src: cadoles-pod-hydra-v1.conf.j2 + dest: /etc/cadoles-pod-hydra-v1.conf + notify: + - Restart cadoles-pod-hydra-v1 + become: true \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml index 9692b3e..fef4bcf 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -9,24 +9,28 @@ update_cache: yes state: present become: true + tags: [ install-hydra ] - name: Add LetsEncrypt missing intermediate certificates command: "bash -c 'wget -O- --no-check-certificate https://forge.cadoles.com/Cadoles/Jenkins/raw/branch/master/resources/com/cadoles/common/add-letsencrypt-ca.sh | bash'" args: creates: /etc/ssl/certs/lets-encrypt-e1.pem.pem become: true + tags: [ install-hydra ] - name: Add cadoles-pod debian repository key ansible.builtin.apt_key: url: "{{ cadoles_pod_debian_repository_key_url }}" state: present become: true + tags: [ install-hydra ] - name: Configure cadoles-pod debian repository ansible.builtin.apt_repository: repo: "deb {{ cadoles_pod_debian_repository_url }} {{ cadoles_pod_debian_repository }} main" state: present become: true + tags: [ install-hydra ] - name: Ensure sysctl configuration ansible.posix.sysctl: @@ -39,39 +43,31 @@ - name: fs.inotify.max_user_watches value: 204800 become: true + tags: [ install-hydra ] -- name: Install core packages +- name: Install HAProxy ansible.builtin.apt: name: - haproxy={{ haproxy_package_version }} - - cadoles-pod-hydra-v1={{ cadoles_pod_hydra_v1_package_version }} - - cadoles-pod-hydra-dispatcher-v1={{ cadoles_pod_hydra_dispatcher_v1_package_version }} update_cache: yes state: present become: true + tags: [ install-hydra ] -- name: Configure Hydra local database - ansible.builtin.include_tasks: hydra-database.yml - when: not hydra_use_external_database +- name: Install Hydra + include_tasks: + file: ./install-hydra.yml + apply: + tags: install-hydra + tags: + - install-hydra -- name: Create hydra-clients - template: - src: hydra-client.json.j2 - dest: "/etc/hydra/clients.d/{{ item.client_id }}.json" - with_items: "{{ hydra_clients }}" - notify: - - Reload hydra clients - become: true - -- name: Configure cadoles-pod-hydra-v1 - template: - src: "{{ item.src }}" - dest: "{{ item.dest }}" - with_items: - - src: cadoles-pod-hydra-v1.conf.j2 - dest: /etc/cadoles-pod-hydra-v1.conf - notify: - - Restart cadoles-pod-hydra-v1 +- name: Install hydra-dispatcher + ansible.builtin.apt: + name: + - cadoles-pod-hydra-dispatcher-v1={{ cadoles_pod_hydra_dispatcher_v1_package_version }} + update_cache: yes + state: present become: true - name: Configure cadoles-pod-hydra-dispatcher-v1 diff --git a/tasks/update-hydra.yml b/tasks/update-hydra.yml index ee1b846..04c7121 100644 --- a/tasks/update-hydra.yml +++ b/tasks/update-hydra.yml @@ -21,11 +21,11 @@ - Restart cadoles-pod-hydra-v1 become: true - #- name: Create hydra-clients - # template: - # src: hydra-client.json.j2 - # dest: "/etc/hydra/clients.d/{{ item.client_id }}.json" - # with_items: "{{ hydra_clients }}" - # notify: - # - Reload hydra clients - # become: true +- name: Create hydra-clients + template: + src: hydra-client.json.j2 + dest: "/etc/hydra/clients.d/{{ item.client_id }}.json" + with_items: "{{ hydra_clients }}" + notify: + - Reload hydra clients + become: true