safely integrate agru, format justfile, format requirements.yml

This commit is contained in:
Aine 2023-03-25 17:47:13 +02:00
parent e60febc9ca
commit 34a03cf732
No known key found for this signature in database
GPG Key ID: 34969C908CCA2804
2 changed files with 23 additions and 36 deletions

View File

@ -1,48 +1,58 @@
# Shows help # Shows help
default: default:
@just --list --justfile {{ justfile() }} @just --list --justfile {{ justfile() }}
# Pulls external Ansible roles # Pulls external Ansible roles
roles: roles:
rm -rf roles/galaxy #!/usr/bin/env sh
ansible-galaxy install -r requirements.yml -p roles/galaxy/ --force set -euo pipefail
if [ -x "$(command -v agru)" ]; then
agru
else
rm -rf roles/galaxy
ansible-galaxy install -r requirements.yml -p roles/galaxy/ --force
fi
# Updates requirements.yml if there are any new tags available. Requires agru
update:
@agru -u
# Runs ansible-lint against all roles in the playbook # Runs ansible-lint against all roles in the playbook
lint: lint:
ansible-lint ansible-lint
# Runs the playbook with --tags=install-all,ensure-matrix-users-created,start and optional arguments # Runs the playbook with --tags=install-all,ensure-matrix-users-created,start and optional arguments
install-all *extra_args: (run-tags "install-all,ensure-matrix-users-created,start" extra_args) install-all *extra_args: (run-tags "install-all,ensure-matrix-users-created,start" extra_args)
# Runs installation tasks for a single service # Runs installation tasks for a single service
install-service service *extra_args: install-service service *extra_args:
just --justfile {{ justfile() }} run --tags=install-{{ service }},start-group --extra-vars=group={{ service }} {{ extra_args }} just --justfile {{ justfile() }} run --tags=install-{{ service }},start-group --extra-vars=group={{ service }} {{ extra_args }}
# Runs the playbook with --tags=setup-all,ensure-matrix-users-created,start and optional arguments # Runs the playbook with --tags=setup-all,ensure-matrix-users-created,start and optional arguments
setup-all *extra_args: (run-tags "setup-all,ensure-matrix-users-created,start" extra_args) setup-all *extra_args: (run-tags "setup-all,ensure-matrix-users-created,start" extra_args)
# Runs the playbook with the given list of arguments # Runs the playbook with the given list of arguments
run +extra_args: run +extra_args:
time ansible-playbook -i inventory/hosts setup.yml {{ extra_args }} time ansible-playbook -i inventory/hosts setup.yml {{ extra_args }}
# Runs the playbook with the given list of comma-separated tags and optional arguments # Runs the playbook with the given list of comma-separated tags and optional arguments
run-tags tags *extra_args: run-tags tags *extra_args:
just --justfile {{ justfile() }} run --tags={{ tags }} {{ extra_args }} just --justfile {{ justfile() }} run --tags={{ tags }} {{ extra_args }}
# Runs the playbook in user-registration mode # Runs the playbook in user-registration mode
register-user username password admin_yes_or_no *extra_args: register-user username password admin_yes_or_no *extra_args:
time ansible-playbook -i inventory/hosts setup.yml --tags=register-user --extra-vars="username={{ username }} password={{ password }} admin={{ admin_yes_or_no }}" {{ extra_args }} time ansible-playbook -i inventory/hosts setup.yml --tags=register-user --extra-vars="username={{ username }} password={{ password }} admin={{ admin_yes_or_no }}" {{ extra_args }}
# Starts all services # Starts all services
start-all *extra_args: (run-tags "start-all" extra_args) start-all *extra_args: (run-tags "start-all" extra_args)
# Starts a specific service group # Starts a specific service group
start-group group *extra_args: start-group group *extra_args:
@just --justfile {{ justfile() }} run-tags start-group --extra-vars="group={{ group }}" {{ extra_args }} @just --justfile {{ justfile() }} run-tags start-group --extra-vars="group={{ group }}" {{ extra_args }}
# Stops all services # Stops all services
stop-all *extra_args: (run-tags "stop-all" extra_args) stop-all *extra_args: (run-tags "stop-all" extra_args)
# Stops a specific service group # Stops a specific service group
stop-group group *extra_args: stop-group group *extra_args:
@just --justfile {{ justfile() }} run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }} @just --justfile {{ justfile() }} run-tags stop-group --extra-vars="group={{ group }}" {{ extra_args }}

View File

@ -1,70 +1,47 @@
---
- src: git+https://github.com/geerlingguy/ansible-role-docker - src: git+https://github.com/geerlingguy/ansible-role-docker
name: geerlingguy.docker
version: 6.1.0 version: 6.1.0
name: geerlingguy.docker
- src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git
version: 129c8590e106b83e6f4c259649a613c6279e937a version: 129c8590e106b83e6f4c259649a613c6279e937a
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git
version: c1f40e82b4d6b072b6f0e885239322bdaaaf554f version: c1f40e82b4d6b072b6f0e885239322bdaaaf554f
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git
version: 327d2e17f5189ac2480d6012f58cf64a2b46efba version: 327d2e17f5189ac2480d6012f58cf64a2b46efba
- src: git+https://github.com/devture/com.devture.ansible.role.timesync.git - src: git+https://github.com/devture/com.devture.ansible.role.timesync.git
version: 3d5bb2976815958cdce3f368fa34fb51554f899b version: 3d5bb2976815958cdce3f368fa34fb51554f899b
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_state_preserver.git - src: git+https://github.com/devture/com.devture.ansible.role.playbook_state_preserver.git
version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16 version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16
- src: git+https://github.com/devture/com.devture.ansible.role.postgres.git - src: git+https://github.com/devture/com.devture.ansible.role.postgres.git
version: 38764398bf82b06a1736c3bfedc71dfd229e4b52 version: 38764398bf82b06a1736c3bfedc71dfd229e4b52
- src: git+https://github.com/devture/com.devture.ansible.role.postgres_backup.git - src: git+https://github.com/devture/com.devture.ansible.role.postgres_backup.git
version: 8e9ec48a09284c84704d7a2dce17da35f181574d version: 8e9ec48a09284c84704d7a2dce17da35f181574d
- src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git - src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git
version: 6ccb88ac5fc27e1e70afcd48278ade4b564a9096 version: 6ccb88ac5fc27e1e70afcd48278ade4b564a9096
- src: git+https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages.git - src: git+https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages.git
version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6 version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6
- src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git - src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git
version: v1.5.0-7 version: v1.5.0-7
- src: git+https://gitlab.com/etke.cc/roles/prometheus_postgres_exporter.git - src: git+https://gitlab.com/etke.cc/roles/prometheus_postgres_exporter.git
version: v0.12.0-0 version: v0.12.0-0
- src: git+https://gitlab.com/etke.cc/roles/backup_borg.git - src: git+https://gitlab.com/etke.cc/roles/backup_borg.git
version: v1.2.4-1.7.9-0 version: v1.2.4-1.7.9-0
- src: git+https://gitlab.com/etke.cc/roles/grafana.git - src: git+https://gitlab.com/etke.cc/roles/grafana.git
version: v9.4.7-0 version: v9.4.7-0
- src: git+https://gitlab.com/etke.cc/roles/ntfy.git - src: git+https://gitlab.com/etke.cc/roles/ntfy.git
version: v2.2.0-0 version: v2.2.0-0
- src: git+https://gitlab.com/etke.cc/roles/redis.git - src: git+https://gitlab.com/etke.cc/roles/redis.git
version: v7.0.10-0 version: v7.0.10-0
- src: git+https://gitlab.com/etke.cc/roles/etherpad.git - src: git+https://gitlab.com/etke.cc/roles/etherpad.git
version: v1.8.18-2 version: v1.8.18-2
- src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git
version: v0.1.1-1 version: v0.1.1-1
- src: git+https://github.com/devture/com.devture.ansible.role.traefik.git - src: git+https://github.com/devture/com.devture.ansible.role.traefik.git
version: v2.9.9-0 version: v2.9.9-0
- src: git+https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper.git - src: git+https://github.com/devture/com.devture.ansible.role.traefik_certs_dumper.git
version: v2.8.1-0 version: v2.8.1-0
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-aux.git - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-aux.git
name: aux
version: v1.0.0-0 version: v1.0.0-0
name: aux
- src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git
name: prometheus
version: v2.43.0-0 version: v2.43.0-0
name: prometheus