helm

Ansible Role: Helm

Tests Ansible Galaxy License

Role to download and install Helm the package manager for Kubernetes.

Requirements

  • Ansible Core >= 2.12

  • Linux Distribution

    • Debian Family

      • Debian

        • Buster (10)
        • Bullseye (11)
      • Ubuntu

        • Bionic (18.04)
        • Focal (20.04)
    • RedHat Family

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • SUSE Family

      • openSUSE

        • 15.5
    • Note: other versions are likely to work but have not been tested.

Role Variables

The following variables will change the behavior of this role (default values are shown below):

# Helm version number
helm_version: '3.12.2'

# The CPU architecture of the Helm executable to install
helm_architecture: 'amd64'

# Mirror to download Helm from
helm_mirror: 'https://get.helm.sh'

# Dir where Helm should be installed
helm_install_dir: '/usr/local/share/helm'

# Directory to store files downloaded for Helm
helm_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

Example Playbook

- hosts: servers
  roles:
    - role: gantsign.helm

Tab Completion for Zsh

Using Ansible

We recommend using the gantsign.antigen role to enable tab completion for Helm (this must be configured for each user).

- hosts: servers
  roles:
    - role: gantsign.helm

    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
          antigen_bundles:
            # Oh My Zsh Helm plugin
            - name: helm

Using Antigen

If you prefer to use Antigen directly add the following to your Antigen configuration:

antigen use oh-my-zsh
antigen bundle helm

Manual configuration

To manually configure Zsh add the following to your .zshrc:

eval "$(helm completion zsh)"

More Roles From GantSign

You can find more roles from GantSign on Ansible Galaxy.

Development & Testing

This project uses the following tooling:

  • Molecule for orchestrating test scenarios
  • Testinfra for testing the changes on the remote
  • pytest the testing framework
  • Tox manages Python virtual environments for linting and testing
  • pip-tools for managing dependencies

A Visual Studio Code Dev Container is provided for developing and testing this role.

License

MIT

Author Information

John Freeman

GantSign Ltd. Company No. 06109112 (registered in England)

About

Ansible role for downloading and installing Helm the package manager for Kubernetes.

Install
ansible-galaxy install gantsign/ansible_role_helm
GitHub repository
License
mit
Downloads
32804