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