--- version: '3' silent: false vars: CONFIG_PATHS: | /zroot/vm/.templates/alpine.conf SERVICES: "haproxy apache24 nginx plexmediaserver" SERVICE_PORTS: 80 443 22 32400 command: 'echo $(whoami)@$(hostname -f)' dotenv: - .env env: GITLAB_PROJECT_ID: '{{ .stashapp_project_id }}' GITLAB_PROJECT_SLUG: stashapp tasks: default: - task: services run: ssh -tt "$stashapp_domain" '{{.command}}' run-root: ssh -qtt "$stashapp_domain" 'su -l root -c "{{.command}}"' host-run: ssh -tt "$stashbox_domain" '{{.command}}' host-run-root: ssh -qtt "$stashbox_domain" 'su -l root -c "{{.command}}"' exec: - task: run vars: command: "{{.CLI_ARGS}}" exec-root: - task: run-root vars: command: "{{.CLI_ARGS}}" exec-host: - task: host-run vars: command: "{{.CLI_ARGS}}" exec-host-root: - task: host-run-root vars: command: "{{.CLI_ARGS}}" services: - task: run vars: command: docker ps host-services: - task: host-run-root vars: command: vm list # Terraform plan: - task: tf vars: CLI_ARGS: plan apply: - task: tf vars: CLI_ARGS: apply tf: source .env; terraform init; terraform {{.CLI_ARGS}} # Utilities printenv: source .env; printenv path-update: echo scp "{{.local_path}}" "$stashapp_domain:{{.remote_path}}" path-backup: scp "$stashapp_domain:{{.remote_path}}" "./.$(basename {{.remote_path}})-$(date +%s)" || echo "No file found." path-diff: - task: path-backup vars: remote_path: "{{.remote_path}}" - diff "$(ls -c .$(basename {{.remote_path}})-*|head -n1)" "$(basename {{.remote_path}})" || [ "$?" == "1" ] safe-update: - task: path-backup vars: remote_path: "{{.remote_path}}" - echo scp "$(basename {{.remote_path}})" "$stashapp_domain:{{.remote_path}}" - task: path-diff vars: remote_path: "{{.remote_path}}"