summaryrefslogtreecommitdiffstats
path: root/ansible/roles/application/tasks/transfer-helm-charts.yml
blob: 56c95cc43cb2b37b2c584e958588dedc2734f227 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
# 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
      command: tar -cvzf {{ app_helm_charts_install_directory }}.tgz -C {{ app_helm_charts_install_directory }} .
      args:
        warn: false
      tags:
        - skip_ansible_lint  # Prevent '[303] tar used in place of unarchive module'
      changed_when: false  # for idempotency
      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
      loop: "{{ list_of_plugins.files }}"
  when: app_helm_plugins_directory is defined and app_helm_plugins_directory is not none