install.fairie/.config/taskfiles/install/Taskfile-ansible.yml
Brian Zalewski f42899b107 Latest
2022-12-24 15:04:59 -05:00

67 lines
1.5 KiB
YAML

---
version: '3'
vars:
ANSIBLE_VENV:
sh: echo "$HOME/.local/megabytelabs/ansible"
tasks:
install:ansible:
cmds:
- pip3 install ansible
main:
deps:
- install:ansible
cmds:
- task: requirements
requirements:
deps:
- requirements:galaxy
- requirements:python
requirements:galaxy:
cmds:
- |
PATH="$PATH:$HOME/.local/bin"
ansible-galaxy install -r requirements.yml
status:
- '[ ! -f requirements.yml ]'
requirements:python:
cmds:
- pip3 install requirements.txt
status:
- '[ ! -f requirements.txt ]'
role:
deps:
- :install:software:docker
desc: Install an Ansible role by using Docker
summary: |
# Install an Ansible Role
This task installs a single Ansible role on the localhost. It
will download the role from Ansible Galaxy and then provision
the localhost using a Docker container (so that Ansible dependencies
are not permanently installed).
**Example:**
`task install:ansible:role -- professormanhattan/androidstudio
cmds:
- |
if [ -d ~/.ansible/roles/{{.CLI_ARGS}} ]; then
rm -rf ~/.ansible/roles/{{.CLI_ARGS}}
fi
- ansible-galaxy install --force --ignore-errors professormanhattan.androidstudio
- echo "TODO - run Docker and provision"
start:
deps:
- :install:software:python
cmds:
- python3 -m venv {{.ANSIBLE_VENV}}
- |
source {{.ANSIBLE_VENV}}/bin/activate
task install:ansible:main