Ansible and taskfile
Usage:
File .env
ANSIBLE_ROLES_PATH='../ansible-roles'
ANSIBLE_VAULT_PASSWORD_FILE=./get-avp.sh
INVENTORY=inventory/hosts.yml
PLAYBOOK=playbook/playbook.yml
VAULT_FILE=inventory/vault/data.yml
File taskfile.yml
version: "3"
dotenv: [".env"]
tasks:
help:
desc: Show available tasks
cmds:
- task --list
pull:
desc: Update this repo and the roles repo
deps: [pull-self, pull-roles]
pull-self:
desc: Git pull for this repository
cmds:
- git pull
pull-roles:
desc: Git pull for the ansible-roles repository
dir: "{{ .ANSIBLE_ROLES_PATH }}"
cmds:
- git pull
vars:
desc: Show all vars
cmds:
- ansible-playbook -i {{.INVENTORY}} {{.CLI_ARGS}} playbook/vars.yml
plan:
desc: Run the Ansible playbook in check mode
cmds:
- ansible-playbook --check --diff -i {{.INVENTORY}} {{.CLI_ARGS}} {{.PLAYBOOK}}
apply:
desc: Run the Ansible playbook
cmds:
- ansible-playbook --diff -i {{.INVENTORY}} {{.CLI_ARGS}} {{.PLAYBOOK}}
vault-edit:
desc: Edit a vault file
cmds:
- ansible-vault edit {{.VAULT_FILE}}
vault-view:
desc: View contents of a vault file
cmds:
- ansible-vault view {{.VAULT_FILE}}
File: ./get-avp.sh