diff --git a/justfile b/justfile index e4b69d7..bf4b02c 100644 --- a/justfile +++ b/justfile @@ -1,44 +1,54 @@ # Shows help default: - @just --list --justfile {{ justfile() }} + @just --list --justfile {{ justfile() }} # Pulls external Ansible 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 lint: - ansible-lint + ansible-lint # Runs the playbook with --tags=install-all,start and optional arguments install-all *extra_args: (run-tags "install-all,start" extra_args) # Runs installation tasks for a single service 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,start and optional arguments setup-all *extra_args: (run-tags "setup-all,start" extra_args) # Runs the playbook with the given list of arguments 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 run-tags tags *extra_args: - just --justfile {{ justfile() }} run --tags={{ tags }} {{ extra_args }} + just --justfile {{ justfile() }} run --tags={{ tags }} {{ extra_args }} # Starts all services start-all *extra_args: (run-tags "start-all" extra_args) # Starts a specific service group 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 stop-all *extra_args: (run-tags "stop-all" extra_args) # Stops a specific service group 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 }} diff --git a/requirements.yml b/requirements.yml index 7ee6e6a..70f5cef 100644 --- a/requirements.yml +++ b/requirements.yml @@ -1,137 +1,96 @@ ---- - - src: git+https://github.com/geerlingguy/ansible-role-docker - name: geerlingguy.docker version: 6.1.0 - -- src: git+https://gitlab.com/etke.cc/roles/swap + name: geerlingguy.docker +- src: git+https://gitlab.com/etke.cc/roles/swap.git version: 843a0222b76a5ec361b35f31bf4dc872b6d7d54e - -- src: git+https://gitlab.com/etke.cc/roles/ssh +- src: git+https://gitlab.com/etke.cc/roles/ssh.git version: 237adf859f9270db8a60e720bc4a58164806644e - -- src: git+https://gitlab.com/etke.cc/roles/fail2ban +- src: git+https://gitlab.com/etke.cc/roles/fail2ban.git version: 09886730e8d3c061f22d1da4a542899063f97f0a - - src: git+https://github.com/devture/com.devture.ansible.role.docker_sdk_for_python.git version: 129c8590e106b83e6f4c259649a613c6279e937a - - src: git+https://github.com/devture/com.devture.ansible.role.playbook_help.git version: c1f40e82b4d6b072b6f0e885239322bdaaaf554f - - src: git+https://github.com/devture/com.devture.ansible.role.systemd_docker_base.git version: 327d2e17f5189ac2480d6012f58cf64a2b46efba - - src: git+https://github.com/devture/com.devture.ansible.role.timesync.git version: 3d5bb2976815958cdce3f368fa34fb51554f899b - - src: git+https://github.com/devture/com.devture.ansible.role.playbook_state_preserver.git version: ff2fd42e1c1a9e28e3312bbd725395f9c2fc7f16 - - src: git+https://github.com/devture/com.devture.ansible.role.postgres.git version: 38764398bf82b06a1736c3bfedc71dfd229e4b52 - - src: git+https://github.com/devture/com.devture.ansible.role.postgres_backup.git version: 8e9ec48a09284c84704d7a2dce17da35f181574d - - src: git+https://github.com/devture/com.devture.ansible.role.container_socket_proxy.git version: v0.1.1-1 - - src: git+https://github.com/devture/com.devture.ansible.role.traefik.git version: v2.9.9-0 - - src: git+https://github.com/devture/com.devture.ansible.role.systemd_service_manager.git version: 6ccb88ac5fc27e1e70afcd48278ade4b564a9096 - - src: git+https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages.git version: 9b4b088c62b528b73a9a7c93d3109b091dd42ec6 - - src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_server.git version: v0.15.7-2 - - src: git+https://github.com/devture/com.devture.ansible.role.woodpecker_ci_agent.git version: v0.15.7-1 - - src: git+https://gitlab.com/etke.cc/roles/miniflux.git version: v2.0.43-2 - - src: git+https://gitlab.com/etke.cc/roles/grafana.git version: v9.4.7-0 - - src: git+https://gitlab.com/etke.cc/roles/radicale.git version: v3.1.8.1-2 - - src: git+https://gitlab.com/etke.cc/roles/uptime_kuma.git version: v1.21.0-0 - - src: git+https://gitlab.com/etke.cc/roles/redis.git version: v7.0.10-0 - - src: git+https://gitlab.com/etke.cc/roles/prometheus_node_exporter.git version: v1.5.0-7 - - src: git+https://gitlab.com/etke.cc/roles/prometheus_blackbox_exporter.git version: v0.23.0-3 - - src: git+https://gitlab.com/etke.cc/roles/redmine.git version: v5.0.5-1 - - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-adguard-home.git - name: adguard_home version: v0.107.26-0 - + name: adguard_home - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-aux.git + version: v1.0.0-0 name: aux - version: v1.0.0-0 - - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-collabora-online.git - name: collabora_online version: v22.05.12.1.1-0 - + name: collabora_online - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-docker-registry.git - name: docker_registry version: v2.8.1-1 - + name: docker_registry - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-docker-registry-browser.git - name: docker_registry_browser version: v1.6.0-0 - + name: docker_registry_browser - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-docker-registry-purger.git - name: docker_registry_purger version: v1.0.0-0 - + name: docker_registry_purger - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-focalboard.git - name: focalboard version: v7.8.0-0 - + name: focalboard - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-gitea.git - name: gitea version: v1.19.0-0 - + name: gitea - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-nextcloud.git - name: nextcloud version: v26.0.0-0 - + name: nextcloud - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-peertube.git - name: peertube version: v5.1.0-0 - + name: peertube - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-prometheus.git - name: prometheus version: v2.43.0-0 - + name: prometheus - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-syncthing.git - name: syncthing version: v1.23.2-0 - + name: syncthing - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-vaultwarden.git - name: vaultwarden version: v1.27.0-2 - + name: vaultwarden - src: git+https://github.com/moan0s/hubsite.git - name: hubsite version: da6fed398a9dd0761db941cb903b53277c341cc6 - + name: hubsite - src: git+https://github.com/moan0s/role-firezone.git - name: firezone version: ac8564d5e11a75107ba93aec6427b83be824c30a + name: firezone