# https://taskfile.dev version: '3' vars: USER_ID: sh: 'id -u' GROUP_ID: sh: 'id -g' HOSTS_FILE: 'production.yml' REMOTE_USER: sh: 'yq .ungrouped.hosts.server.ansible_user {{.HOSTS_FILE}}' REMOTE_HOST: sh: 'yq .ungrouped.hosts.server.ansible_host {{.HOSTS_FILE}}' AUTHELIA_DOCKER: 'docker run --rm -v $PWD:/data authelia/authelia:4.39.4 authelia' tasks: install-roles: cmds: - ansible-galaxy role install --role-file requirements.yml --force ssh: cmds: - ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} btop: cmds: - ssh {{.REMOTE_USER}}@{{.REMOTE_HOST}} -t btop vars-decrypt: cmds: - ansible-vault decrypt vars/vars.yml vars-encrypt: cmds: - ansible-vault encrypt vars/vars.yml authelia-cli: cmds: - "{{.AUTHELIA_DOCKER}} {{.CLI_ARGS}}" authelia-validate-config: vars: DEST_FILE: "temp/configuration.yml" cmds: - > ansible localhost --module-name template --args "src=files/authelia/configuration.yml.j2 dest={{.DEST_FILE}}" --extra-vars "@vars/secrets.yml" - > {{.AUTHELIA_DOCKER}} validate-config --config /data/{{.DEST_FILE}} - rm -f {{.DEST_FILE}} authelia-gen-random-string: cmds: - > {{.AUTHELIA_DOCKER}} crypto rand --length 64 --charset alphanumeric authelia-gen-secret-and-hash: cmds: - > {{.AUTHELIA_DOCKER}} crypto hash generate pbkdf2 --variant sha512 --random --random.length 72 --random.charset rfc3986 format-py-files: cmds: - >- docker run --rm -u {{.USER_ID}}:{{.GROUP_ID}} -v $PWD:/app -w /app pyfound/black:latest_release black .