]> git.immae.eu Git - github/fretlink/ansible-rundeck-jobs.git/blame - tasks/keys.yml
Add an option to remove existing keys that are not declared in ansible
[github/fretlink/ansible-rundeck-jobs.git] / tasks / keys.yml
CommitLineData
8ddcfb80 1---
d58fd115 2- name: Set scope variables
8ddcfb80 3 set_fact:
d58fd115 4 rundeck_keys_base_path: "{{ rundeck_keys_scoped_by_project | default(true) | ternary('project/' + rundeck_project + '/' + rundeck_keys_group_path, rundeck_keys_group_path) }}"
8ddcfb80
IB
5 vars:
6 group_name: "{{ rundeck_jobs_group | default('') }}"
d58fd115 7 rundeck_keys_group_path: "{{ rundeck_keys_scoped_by_group | default((group_name|length) > 0) | ternary(group_name, '') }}"
8ddcfb80 8
d58fd115
IB
9- name: Include rundeck key
10 include_tasks: key.yml
11 with_items: "{{ rundeck_jobs_keys }}"
12
13- name: Get all stored keys
14 script:
15 cmd: "{{ role_path }}/files/fetch_keys.sh {{ rundeck_api_url }}/{{ rundeck_api_version }} {{ rundeck_api_token }} keys/{{ rundeck_keys_base_path }}"
16 register: rundeck_existing_keys
17 when: rundeck_remove_missing_keys
8ddcfb80 18
d58fd115 19- name: "Prepare list of keys to remove"
8ddcfb80 20 set_fact:
d58fd115
IB
21 rundeck_existing_keys: "{{ rundeck_existing_keys.stdout_lines | list }}"
22 rundeck_known_keys: "{{ rundeck_jobs_keys | map(attribute='path') | list }}"
23 when: rundeck_remove_missing_keys
8ddcfb80 24
d58fd115 25- name: "Remove jobs not declared"
8ddcfb80 26 uri:
d58fd115
IB
27 url: "{{ rundeck_api_url }}/{{ rundeck_api_version }}/storage/keys/{{ rundeck_keys_base_path }}/{{ item }}"
28 method: DELETE
8ddcfb80
IB
29 headers:
30 Accept: application/json
8ddcfb80 31 X-Rundeck-Auth-Token: "{{ rundeck_api_token }}"
d58fd115
IB
32 status_code: [204, 404]
33 with_items: "{{ rundeck_existing_keys | difference(rundeck_known_keys) }}"
34 when: rundeck_remove_missing_keys