Initial commit.

master
Curtis Wilson 4 years ago
parent 54bd58260a
commit 5e8d09951f

@ -1,2 +1,42 @@
# helm-ansible-role
Role Name
=========
An Ansible role to install helm.
Requirements
------------
None
Role Variables
--------------
```yml
helm_version: 3.7.2
helm_arch: amd64
```
Dependencies
------------
None
Example Playbook
----------------
```yml
- name: Install helm.
hosts: all
roles:
- { role: install_helm, helm_version: 3.7,2, helm_arch: amd64 }
```
License
-------
MIT
Author Information
------------------
This role was created by [shnee](https://github.com/shnee).

@ -0,0 +1,13 @@
---
helm_version: 3.7.2
helm_arch: amd64
helm_install_dir: /usr/local/bin
helm_release_base_url: https://get.helm.sh
helm_download_sha256:
3.7.2:
amd64: 4ae30e48966aba5f807a4e140dad6736ee1a392940101e4d79ffb4ee86200a9e
arm64: b0214eabbb64791f563bd222d17150ce39bf4e2f5de49f49fdb456ce9ae8162f
# A temporary directory to extract the tar.gz helm release. It get's deleted by
# a handler if it's ever created.
tmp_dir: /tmp/helm-ansible

@ -0,0 +1,5 @@
---
- name: Clean up tmp dir
file:
path: "{{ tmp_dir }}"
state: absent

@ -0,0 +1,21 @@
---
galaxy_info:
author: shnee
description: A ansible role to install helm.
license: MIT
min_ansible_version: 2.1
platforms:
- name: Ubuntu
versions:
- focal # 20.04
galaxy_tags:
- containers
- orchestration
- helm
- kubernetes
dependencies: []

@ -0,0 +1,60 @@
---
- 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
Loading…
Cancel
Save