# e.g. app_helm_chart_name: onap
 app_helm_chart_name:
 
+# Targets for helm charts repository build
+# e.g. for ONAP Casablanca
+# app_helm_build_targets:
+#   - all
+#   - onap
+app_helm_build_targets:
+
+# Directory with helm plugins
+# It's an optional parameter used e.g. in OOM Casablanca
+# app_helm_plugins_directory: "{{ app_helm_charts_infra_directory}}/kubernetes/helm/plugins/"
+app_helm_plugins_directory:
+
 # Helm release name (visible in POD names) used by Helm
 # e.g. app_helm_release_name: "{{ project_configuration }}"
 app_helm_release_name:
 
 - name: Helm Add Repo
   command: "{{ helm_bin_dir }}/helm repo add {{ helm_repository_name }} {{ helm_repository_url }}"
 
-- name: Helm Make All
+- name: Build local helm repository
   make:
     chdir: "{{ app_helm_charts_infra_directory }}"
-    target: all
+    target: "{{ item }}"
+  with_items: "{{ app_helm_build_targets }}"
   environment:
     PATH: "{{ helm_bin_dir }}:{{ ansible_env.PATH }}"
 
 
         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 }}"
+