1
0
Files
pet-project-server/Taskfile.yml

72 lines
1.7 KiB
YAML

# 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 .