generated from infra/template
5 changed files with 99 additions and 0 deletions
-
2.drone.yml
-
2Makefile
-
1playbooks/k8s-dev/init.yml
-
84roles/helm/tasks/main.yml
-
10roles/helm/vars/main.yml
@ -0,0 +1,84 @@ |
|||||
|
--- |
||||
|
- name: create download directory |
||||
|
file: |
||||
|
state: directory |
||||
|
mode: 'u=rwx,go=rx' |
||||
|
dest: '{{ helm_download_dir }}' |
||||
|
|
||||
|
- name: download sha256sum |
||||
|
get_url: |
||||
|
url: '{{ helm_mirror }}/{{ helm_filename }}.sha256' |
||||
|
dest: '{{ helm_download_dir }}/{{ helm_filename }}.sha256' |
||||
|
force: no |
||||
|
use_proxy: yes |
||||
|
validate_certs: yes |
||||
|
mode: 'u=rw,go=r' |
||||
|
|
||||
|
- name: read sha256sum |
||||
|
slurp: |
||||
|
src: '{{ helm_download_dir }}/{{ helm_filename }}.sha256' |
||||
|
register: helm_sha256sum |
||||
|
|
||||
|
- name: download Helm |
||||
|
get_url: |
||||
|
url: '{{ helm_mirror }}/{{ helm_filename }}' |
||||
|
dest: '{{ helm_download_dir }}/{{ helm_filename }}' |
||||
|
sha256sum: '{{ helm_sha256sum.content | b64decode | trim }}' |
||||
|
force: no |
||||
|
use_proxy: yes |
||||
|
validate_certs: yes |
||||
|
mode: 'u=rw,go=r' |
||||
|
|
||||
|
- name: check current version |
||||
|
command: > |
||||
|
{{ helm_install_dir }}/helm version --client --template {{ "'{{ if .Version }}{{ .Version }}{{ else }}{{ .Client.SemVer }}{{ end }}'" }} |
||||
|
register: helm_current_version |
||||
|
failed_when: no |
||||
|
changed_when: no |
||||
|
|
||||
|
- name: current version |
||||
|
debug: |
||||
|
msg: '{{ helm_current_version.stdout }}' |
||||
|
when: helm_current_version.rc == 0 |
||||
|
|
||||
|
- name: remove existing installation |
||||
|
become: yes |
||||
|
file: |
||||
|
path: '{{ helm_install_dir }}' |
||||
|
state: absent |
||||
|
when: |
||||
|
- helm_current_version.rc == 0 |
||||
|
- helm_current_version.stdout != ('v' + helm_version) |
||||
|
|
||||
|
- name: create the Helm installation dir |
||||
|
become: yes |
||||
|
file: |
||||
|
state: directory |
||||
|
owner: root |
||||
|
group: root |
||||
|
mode: 'u=rwx,go=rx' |
||||
|
dest: '{{ helm_install_dir }}' |
||||
|
|
||||
|
- name: install Helm |
||||
|
become: yes |
||||
|
unarchive: |
||||
|
src: '{{ helm_download_dir }}/{{ helm_filename }}' |
||||
|
remote_src: yes |
||||
|
dest: '{{ helm_install_dir }}' |
||||
|
extra_opts: |
||||
|
- '--strip-components=1' |
||||
|
owner: root |
||||
|
group: root |
||||
|
mode: 'o-w' |
||||
|
creates: '{{ helm_install_dir }}/helm' |
||||
|
|
||||
|
- name: create helm link |
||||
|
become: yes |
||||
|
file: |
||||
|
src: '{{ helm_install_dir }}/helm' |
||||
|
dest: '/usr/local/bin/helm' |
||||
|
state: link |
||||
|
owner: root |
||||
|
group: root |
||||
|
mode: 'u=rwx,go=rx' |
||||
|
... |
@ -0,0 +1,10 @@ |
|||||
|
--- |
||||
|
helm_version: '3.5.4' |
||||
|
helm_os: 'linux' |
||||
|
helm_architecture: 'amd64' |
||||
|
helm_filename: 'helm-v{{ helm_version }}-{{ helm_os }}-{{ helm_architecture }}.tar.gz' |
||||
|
|
||||
|
helm_mirror: 'https://get.helm.sh' |
||||
|
helm_install_dir: '/usr/local/share/helm' |
||||
|
helm_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}" |
||||
|
... |
Reference in new issue