Bootstraping Ansible
This project needs to set up base requirements for provisioning a workstation (and other servers) using Ansible.
Ansible itself requires Python 3.8. After that, the most cross-platform method to install Ansible is with pip -- this way I don't have to write OS-specific clauses.
Python 3.8 can be installed various ways. According to Python virtualenv wrapper fns - virtualenv vs venv (#3 - closed) and switch to ASDF environment management (#2 - closed), I should use ASDF.
There are many ways to install ASDF, too, but the most cross-platform way to install it seems to be the git method. This is also the way that GitLab's GitLab Development Kit does it.
Finally, then, I need to install git. There doesn't seem to be a generic way to do this, instead it seems one should use the relevant OS package manager. At least the package name is always git
.
So then, the steps seem to be
- check and install the OS package manager (i.e. X-Code and Homebrew, on a Mac, Chocolately on Windows, nothing to do on openSUSE)
- check and install git if required, using the OS package manager
- install ASDF using git
- install the python plugin for asdf
- install python 3.8
- install Ansible with pip
That means at the end one will have a system with Ansible in an ASDF-managed python, and also have a git, which means that the other Radix projects can be cloned either directly, or through Ansible plays.