--- - 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