# 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 }}"
+