From 8ddcfb8038720aac49d1119fc68e280552e253da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 22 Feb 2022 14:03:41 +0100 Subject: Add keys creation in rundeck --- tasks/keys.yml | 33 +++++++++++++++++++++++++++++++++ tasks/main.yml | 5 +++++ 2 files changed, 38 insertions(+) create mode 100644 tasks/keys.yml (limited to 'tasks') diff --git a/tasks/keys.yml b/tasks/keys.yml new file mode 100644 index 0000000..98c6136 --- /dev/null +++ b/tasks/keys.yml @@ -0,0 +1,33 @@ +--- +- name: Build scoped path + set_fact: + rundeck_key_full_path: "{{ rundeck_keys_scoped_by_project | default(true) | ternary('project/' + rundeck_project + '/' + key_group_path, key_group_path) }}" + vars: + group_name: "{{ rundeck_jobs_group | default('') }}" + key_group_path: "{{ rundeck_keys_scoped_by_group | default((group_name|length) > 0) | ternary(group_name + '/' + item.path, item.path) }}" + +- name: Check key existence + uri: + url: "{{ rundeck_api_url }}/{{ rundeck_api_version }}/storage/keys/{{ rundeck_key_full_path }}" + method: GET + headers: + Accept: application/json + X-Rundeck-Auth-Token: "{{ rundeck_api_token }}" + status_code: [200, 404] + register: rundeck_existing_key + +- name: Set method + set_fact: + rundeck_key_uri_method: "{{ (rundeck_existing_key.status == 404) | ternary('POST', 'PUT') }}" + +- name: Import key + uri: + url: "{{ rundeck_api_url }}/{{ rundeck_api_version }}/storage/keys/{{ rundeck_key_full_path }}" + method: "{{ rundeck_key_uri_method }}" + headers: + Accept: application/json + Content-Type: "{{ item.type }}" + X-Rundeck-Auth-Token: "{{ rundeck_api_token }}" + status_code: [200, 201] + body: "{{ item.value }}" + body_format: raw diff --git a/tasks/main.yml b/tasks/main.yml index 3d41031..644fef0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -3,3 +3,8 @@ include_tasks: rundeck.yml tags: - rundeck-jobs +- name: Include rundeck keys + include_tasks: keys.yml + tags: + - rundeck-keys + with_items: "{{ rundeck_jobs_keys }}" -- cgit v1.2.3