--- # 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: Ensure that dir for helm plugins exists file: path: "~/.helm/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 - name: Install all helm plugins from {{ app_helm_plugins_directory }} dir command: "{{ helm_bin_dir }}/helm plugin install {{ item.path }}" with_items: "{{ list_of_plugins.files }}" register: helm_plugin_install_result failed_when: "helm_plugin_install_result.rc > 0 and helm_plugin_install_result.stderr != 'Error: plugin already exists'" become: true when: app_helm_plugins_directory is defined and app_helm_plugins_directory is not none - name: "Execute custome role {{ application_pre_install_role }} if defined." include_tasks: custom_role.yml vars: application_custom_role: "{{ application_pre_install_role }}"