safely integrate agru, format justfile, format requirements.ymlpull/2606/head
| @@ -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 | |||||
| ansible-galaxy install -r requirements.yml -p roles/galaxy/ --force | |||||
| #!/usr/bin/env sh | |||||
| 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 }} | |||||
| @@ -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 | |||||