Skip to content
This repository has been archived by the owner on Apr 11, 2021. It is now read-only.

gantsign/ansible_role_kops

Repository files navigation

Ansible Role: kops

Build Status Ansible Galaxy License

Role to download and install kops the tool for getting production grade Kubernetes clusters up and running.

Requirements

  • Ansible >= 2.8

  • Linux Distribution

    • Debian Family

      • Debian

        • Jessie (8)
        • Stretch (9)
      • Ubuntu

        • Xenial (16.04)
        • Bionic (18.04)
    • RedHat Family

      • CentOS

        • 7
    • 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):

# kops version number
kops_version: 'v1.18.2'

# Mirror to download the kops from
kops_mirror: 'https://github.com/kubernetes/kops/releases/download/{{ kops_version }}'

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

Example Playbook

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

Tab Completion for Zsh

Using Ansible

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

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

    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
          antigen_bundles:
            - name: kops

Using Antigen

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

antigen bundle kops

Manual configuration

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

eval "$(kops completion zsh)"

More Roles From GantSign

You can find more roles from GantSign on Ansible Galaxy.

Development & Testing

This project uses Molecule to aid in the development and testing; the role is unit tested using Testinfra and pytest.

To develop or test you'll need to have installed the following:

Because the above can be tricky to install, this project includes Molecule Wrapper. Molecule Wrapper is a shell script that installs Molecule and it's dependencies (apart from Linux) and then executes Molecule with the command you pass it.

To test this role using Molecule Wrapper run the following command from the project root:

./moleculew test

Note: some of the dependencies need sudo permission to install.

License

MIT

Author Information

John Freeman

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