73 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			73 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.template.yml dest={{.DEST_FILE}}" 
 | |
|         --extra-vars "@vars/secrets.yml"
 | |
|         --extra-vars "@files/authelia/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 .
 |