This is a simple playbook to install a useful set of tools for dealing with cloud type things.
sudo apt install --no-install-recommends software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install -qq --yes --no-install-recommends ansible git
localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3
Github may sometimes rate-limit non-authenticated access, which can cause the playbook to fail. If you don't already have one, you can Create a personal access token for github. Then set the GH_USER and GH_TOKEN environment variables as follows
export GH_USER=my_github_username
export GH_TOKEN=3739blahblah873298573248597325
ansible-playbook -K -i hosts cloud_tools.yml -l localhost
- minikube
- kind
- kubectl
- kubeadm
- kubectx
- kubens
- Kui
- skaffold
- helm
- docker-machine
- docker-compose
- dive (docker layer stats)
- dlayer (docker layer stats)
- drone (drone-cli)
- AWS awscli (v2)
- AWS gimme-aws-creds
- AWS ecs-cli
- AWS eksctl
- Azure azure-cli
- Linode linode-cli
- terraform (not supported in Focal/20.04 or below)
- Terraform-switcher tfswitch
- vault (not supported in Focal/20.04 or below)
- vagrant (not supported in Focal/20.04 or below)
- Hammer
- github-cli
Unfortunately Hashicorp no longer supports Ubuntu Focal/20.04 since it went EOL in May 2025. So any Hashicorp tools will be removed from the install list if we're running under Ubuntu Focal/20.04
Build a list of the tools to install with the following syntax - set the variable cloud_tools to the list of desired tools by name above. The list should be comma-delimited, inside square-brackets.
ansible-playbook -K -i hosts cloud_tools.yml -l localhost --extra-vars '{cloud_tools: [ awscli, eksctl, kubectl ] }'
For testing with molecule, can use a cmdline like
molecule converge -- --extra-vars '{cloud_tools: [ gimme-aws-creds, linode-cli, ecs-cli ] }'