A Ansible playbook that configures a clean install of linux to my preferences.
- Run
curl https://raw.githubusercontent.com/justin-p/ansible-playbook-my-linux-workstation/master/setup.sh | bash
- Enter sudo password.
- Reboot the system.
git clone https://github.com/justin-p/ansible-my-linux-workstation
cd ansible-my-linux-workstation
sudo apt-get update -y && sudo apt-get install git curl python3 python3-pip
pip3 install --user ansible
export PATH=$PATH:/$HOME/.local/bin
ansible-playbook main.yml -i inventory.yml
- Reboot the system.
This playbook includes Molecule that will spin up a local docker environment to deploy, configure and test this playbook.
Development requirements:
- Docker
- Molecule
- yamllint
- ansible-lint
or simply use a VM with this configuration.
-
Build a container and apply the current playbook:
molecule converge
Note, when using converge the container is not destroyed, allowing you to quickly test changes by running this command consecutive times. -
Interact with the containers created by molecule:
molecule login
Note, this works great with converge allowing you to peek inside the container and manually check why things didnt work. -
Apply tests defined in the
verify.yml
file:molecule verify
-
Remove any containers left over from the converge command:
molecule destroy
-
Run the playbook and any included tests against clean containers:
molecule test
MIT
Justin Perdok (@justin-p)
Feel free to open issues, contribute and submit your Pull Requests. You can also ping me on Twitter (@JustinPerdok).