/ansible_role_minikube

Ansible role for downloading and installing Minikube

Primary LanguagePythonMIT LicenseMIT

Ansible Role: Minikube

Tests Ansible Galaxy License

Role to download and install Minikube the tool for running Kubernetes locally.

Requirements

  • Ansible Core >= 2.12

  • Linux Distribution

    • Debian Family

      • Debian

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

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

      • Rocky Linux

        • 9
      • Fedora

        • 35
    • SUSE Family

      • openSUSE

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

  • VirtualBox / Docker (already installed)

Role Variables

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

# Minikube version number
minikube_version: '1.30.1'

# Directory to store files downloaded for Minikube
minikube_download_dir: "{{ x_ansible_download_dir | default(ansible_facts.env.HOME + '/.ansible/tmp/downloads') }}"

Example Playbook

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

Tab Completion for Zsh

Using Ansible

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

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

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

Using Antigen

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

antigen use oh-my-zsh
antigen bundle minikube

Manual configuration

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

eval "$(minikube 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)