72 lines
1.7 KiB
YAML
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"
|
|
- defer: rm -f {{.DEST_FILE}}
|
|
- >
|
|
{{.AUTHELIA_DOCKER}}
|
|
validate-config --config /data/{{.DEST_FILE}}
|
|
|
|
authelia-gen-random-string:
|
|
cmds:
|
|
- >
|
|
{{.AUTHELIA_DOCKER}}
|
|
crypto rand --length 32 --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 .
|