diff options
Diffstat (limited to 'ansible/roles/application/tasks/install-helm-plugins.yml')
-rw-r--r-- | ansible/roles/application/tasks/install-helm-plugins.yml | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ansible/roles/application/tasks/install-helm-plugins.yml b/ansible/roles/application/tasks/install-helm-plugins.yml new file mode 100644 index 00000000..5d933ed2 --- /dev/null +++ b/ansible/roles/application/tasks/install-helm-plugins.yml @@ -0,0 +1,33 @@ +--- +- name: Install helm plugins if needed + block: + - name: Get helm environment information + command: "{{ helm_bin_dir }}/helm env" + register: helm_env + - name: Set helm data dir + set_fact: + helm_data_dir: + "{% if 'HELM_DATA_HOME' in helm_env.stdout -%} + {{ (helm_env.stdout | replace('\"', '') | regex_search('HELM_DATA_HOME.*')).split('=')[1] }} + {%- else -%} + {{ '~/.local/share/helm' }} + {%- endif %}" + - name: Ensure that dir for helm plugins exists + file: + path: "{{ helm_data_dir }}/plugins" + state: directory + mode: 0755 + - name: Register all plugins to be inserted by dir names + find: + paths: "{{ app_helm_plugins_directory }}" + file_type: "directory" + register: list_of_plugins + delegate_to: localhost + - name: Install all helm plugins from {{ app_helm_plugins_directory }} dir + copy: + src: "{{ item.path }}" + dest: "{{ helm_data_dir }}/plugins" + directory_mode: true + mode: 0755 + loop: "{{ list_of_plugins.files }}" + when: app_helm_plugins_directory is defined and app_helm_plugins_directory is not none |