# https://taskfile.dev version: '3' vars: USER_ID: sh: 'id -u' GROUP_ID: sh: 'id -g' HOSTS_FILE: 'ansible/hosts_prod' REMOTE_USER: 'major' REMOTE_HOST: sh: 'cat {{.HOSTS_FILE}} | xargs' tasks: ssh: cmds: - ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} edit-vars: cmds: - ansible-vault edit ansible/vars/vars.yml env: EDITOR: micro list-tags: cmds: - >- ansible-playbook --inventory="{{.HOSTS_FILE}}" --list-tags ansible/configuration.yml configure: internal: true vars: TAGS: '{{ (empty .TAGS) | ternary "" (list "--tags=\"" .TAGS "\"" | join "") }}' cmds: - >- ansible-playbook --become --user="{{.REMOTE_USER}}" --inventory="{{.HOSTS_FILE}}" --extra-vars="ansible_python_interpreter=/usr/bin/python3" {{.TAGS}} -vvv ansible/configuration.yml configure-all: cmds: - task: configure configure-monitoring: cmds: - task: configure vars: { TAGS: 'monitoring' } configure-apps: cmds: - task: configure vars: { TAGS: 'webserver,apps,env' } configure-users: cmds: - task: configure vars: { TAGS: 'apps,env' } format-py-files: cmds: - >- docker run --rm -u {{.USER_ID}}:{{.GROUP_ID}} -v $PWD/app:/app -w /app pyfound/black:latest_release black .