You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.6 KiB
YAML

---
- name: Check if helm is already installed.
stat:
path: "{{ helm_install_dir }}/helm"
failed_when: false
register: helm_stat
- name: >
"Check the installed helm version against the desired version
{{ helm_version }}."
command: "{{ helm_install_dir }}/helm version"
changed_when: false
failed_when: false
when: helm_stat.stat.exists
register: existing_helm_version
- name: Install helm
block:
- name: Create a tmp directory to extract helm tar.gz
file:
path: "{{ tmp_dir }}"
state: directory
mode: 0700
notify: Clean up tmp dir
- name: Download helm tar.gz.
get_url:
url: "{{ helm_release_base_url }}/\
helm-v{{ helm_version }}-linux-{{ helm_arch }}.tar.gz"
dest: "{{ tmp_dir }}"
checksum: "sha256:{{ helm_download_sha256[helm_version][helm_arch] }}"
mode: 0700
- name: Extract helm tar.gz
unarchive:
src: "{{ tmp_dir }}/\
helm-v{{ helm_version }}-linux-{{ helm_arch }}.tar.gz"
dest: "{{ tmp_dir }}"
remote_src: true
mode: 0700
- name: Make sure install directory exists.
file:
path: "{{ helm_install_dir }}"
state: directory
mode: 0755
become: true
- name: Copy helm binary from tmp folder to install location.
copy:
src: "{{ tmp_dir }}/linux-{{ helm_arch }}/helm"
remote_src: true
dest: "{{ helm_install_dir }}/helm"
mode: 0755
become: true
when: >
not helm_stat.stat.exists or
helm_version not in existing_helm_version.stdout