--- # before custom specific code is executed we need to move helm charts to infra - name: Distribute helm charts to infra node block: - name: Archive helm charts archive: path: "{{ app_helm_charts_install_directory }}/*" dest: "{{ app_helm_charts_install_directory }}.tgz" delegate_to: localhost - name: Create helm charts dir on infra file: path: "{{ app_helm_charts_infra_directory }}" state: directory mode: 0755 - name: Unarchive helm charts on infra node unarchive: src: "{{ app_helm_charts_install_directory }}.tgz" dest: "{{ app_helm_charts_infra_directory }}" - name: Install helm plugins if needed block: - name: Get helm dir command: "{{ helm_bin_dir }}/helm home" register: helm_home_dir - name: Ensure that dir for helm plugins exists file: path: "{{ helm_home_dir.stdout }}/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_home_dir.stdout }}/plugins" directory_mode: true mode: 0755 with_items: "{{ list_of_plugins.files }}" when: app_helm_plugins_directory is defined and app_helm_plugins_directory is not none