diff --git a/group_vars/mash_servers b/group_vars/mash_servers index b448214..a6b4bac 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -144,7 +144,7 @@ devture_postgres_identifier: "{{ mash_playbook_service_identifier_prefix }}postg devture_postgres_architecture: "{{ mash_playbook_architecture }}" -devture_postgres_base_path: "{{ mash_playbook_base_path }}/postgres" +devture_postgres_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}postgres" devture_postgres_uid: "{{ mash_playbook_uid }}" devture_postgres_gid: "{{ mash_playbook_gid }}" @@ -233,7 +233,7 @@ devture_postgres_backup_identifier: "{{ mash_playbook_service_identifier_prefix devture_postgres_backup_architecture: "{{ mash_playbook_architecture }}" -devture_postgres_backup_base_path: "{{ mash_playbook_base_path }}/postgres-backup" +devture_postgres_backup_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}postgres-backup" devture_postgres_backup_systemd_required_services_list: | {{ @@ -275,9 +275,9 @@ devture_postgres_backup_databases: "{{ devture_postgres_managed_databases | map( devture_playbook_state_preserver_uid: "{{ mash_playbook_uid }}" devture_playbook_state_preserver_gid: "{{ mash_playbook_gid }}" -devture_playbook_state_preserver_vars_preservation_dst: "{{ mash_playbook_base_path }}/vars.yml" +devture_playbook_state_preserver_vars_preservation_dst: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}vars.yml" -devture_playbook_state_preserver_commit_hash_preservation_dst: "{{ mash_playbook_base_path }}/git_hash.yml" +devture_playbook_state_preserver_commit_hash_preservation_dst: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}git_hash.yml" ######################################################################## # # @@ -297,7 +297,7 @@ devture_container_socket_proxy_enabled: "{{ devture_traefik_enabled }}" devture_container_socket_proxy_identifier: "{{ mash_playbook_service_identifier_prefix }}container-socket-proxy" -devture_container_socket_proxy_base_path: "{{ mash_playbook_base_path }}/container-socket-proxy" +devture_container_socket_proxy_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}container-socket-proxy" devture_container_socket_proxy_uid: "{{ mash_playbook_uid }}" devture_container_socket_proxy_gid: "{{ mash_playbook_gid }}" @@ -323,7 +323,7 @@ devture_traefik_enabled: "{{ mash_playbook_reverse_proxy_type == 'playbook-manag devture_traefik_identifier: "{{ mash_playbook_service_identifier_prefix }}traefik" -devture_traefik_base_path: "{{ mash_playbook_base_path }}/traefik" +devture_traefik_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}traefik" devture_traefik_uid: "{{ mash_playbook_uid }}" devture_traefik_gid: "{{ mash_playbook_gid }}" @@ -399,7 +399,7 @@ adguard_home_identifier: "{{ mash_playbook_service_identifier_prefix }}adguard-h adguard_home_uid: "{{ mash_playbook_uid }}" adguard_home_gid: "{{ mash_playbook_gid }}" -adguard_home_base_path: "{{ mash_playbook_base_path }}/adguard-home" +adguard_home_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}adguard-home" adguard_home_container_additional_networks: | {{ @@ -429,7 +429,7 @@ collabora_online_enabled: false collabora_online_identifier: "{{ mash_playbook_service_identifier_prefix }}collabora-online" -collabora_online_base_path: "{{ mash_playbook_base_path }}/collabora-online" +collabora_online_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}collabora-online" collabora_online_uid: "{{ mash_playbook_uid }}" collabora_online_gid: "{{ mash_playbook_gid }}" @@ -462,7 +462,7 @@ docker_registry_enabled: false docker_registry_identifier: "{{ mash_playbook_service_identifier_prefix }}docker-registry" -docker_registry_base_path: "{{ mash_playbook_base_path }}/docker-registry" +docker_registry_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}docker-registry" docker_registry_uid: "{{ mash_playbook_uid }}" docker_registry_gid: "{{ mash_playbook_gid }}" @@ -495,7 +495,7 @@ docker_registry_browser_enabled: false docker_registry_browser_identifier: "{{ mash_playbook_service_identifier_prefix }}docker-registry-browser" -docker_registry_browser_base_path: "{{ mash_playbook_base_path }}/docker-registry-browser" +docker_registry_browser_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}docker-registry-browser" docker_registry_browser_uid: "{{ mash_playbook_uid }}" docker_registry_browser_gid: "{{ mash_playbook_gid }}" @@ -528,7 +528,7 @@ docker_registry_purger_enabled: false docker_registry_purger_identifier: "{{ mash_playbook_service_identifier_prefix }}docker-registry-purger" -docker_registry_purger_base_path: "{{ mash_playbook_base_path }}/docker-registry-purger" +docker_registry_purger_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}docker-registry-purger" docker_registry_purger_uid: "{{ mash_playbook_uid }}" docker_registry_purger_gid: "{{ mash_playbook_gid }}" @@ -551,7 +551,7 @@ focalboard_enabled: false focalboard_identifier: "{{ mash_playbook_service_identifier_prefix }}focalboard" -focalboard_base_path: "{{ mash_playbook_base_path }}/focalboard" +focalboard_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}focalboard" focalboard_uid: "{{ mash_playbook_uid }}" focalboard_gid: "{{ mash_playbook_gid }}" @@ -598,7 +598,7 @@ gitea_enabled: false gitea_identifier: "{{ mash_playbook_service_identifier_prefix }}gitea" -gitea_base_path: "{{ mash_playbook_base_path }}/gitea" +gitea_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}gitea" gitea_uid: "{{ mash_playbook_uid }}" gitea_gid: "{{ mash_playbook_gid }}" @@ -645,7 +645,7 @@ grafana_enabled: false grafana_identifier: "{{ mash_playbook_service_identifier_prefix }}grafana" -grafana_base_path: "{{ mash_playbook_base_path }}/grafana" +grafana_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}grafana" grafana_uid: "{{ mash_playbook_uid }}" grafana_gid: "{{ mash_playbook_gid }}" @@ -682,7 +682,7 @@ miniflux_enabled: false miniflux_identifier: "{{ mash_playbook_service_identifier_prefix }}miniflux" -miniflux_base_path: "{{ mash_playbook_base_path }}/miniflux" +miniflux_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}miniflux" miniflux_uid: "{{ mash_playbook_uid }}" miniflux_gid: "{{ mash_playbook_gid }}" @@ -727,7 +727,7 @@ nextcloud_enabled: false nextcloud_identifier: "{{ mash_playbook_service_identifier_prefix }}nextcloud" -nextcloud_base_path: "{{ mash_playbook_base_path }}/nextcloud" +nextcloud_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}nextcloud" nextcloud_uid: "{{ mash_playbook_uid }}" nextcloud_gid: "{{ mash_playbook_gid }}" @@ -774,7 +774,7 @@ peertube_enabled: false peertube_identifier: "{{ mash_playbook_service_identifier_prefix }}peertube" -peertube_base_path: "{{ mash_playbook_base_path }}/peertube" +peertube_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}peertube" peertube_uid: "{{ mash_playbook_uid }}" peertube_gid: "{{ mash_playbook_gid }}" @@ -828,7 +828,7 @@ prometheus_enabled: false prometheus_identifier: "{{ mash_playbook_service_identifier_prefix }}prometheus" -prometheus_base_path: "{{ mash_playbook_base_path }}/prometheus" +prometheus_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}prometheus" prometheus_uid: "{{ mash_playbook_uid }}" prometheus_gid: "{{ mash_playbook_gid }}" @@ -851,7 +851,7 @@ prometheus_blackbox_exporter_enabled: false prometheus_blackbox_exporter_identifier: "{{ mash_playbook_service_identifier_prefix }}prometheus-blackbox-exporter" -prometheus_blackbox_exporter_base_path: "{{ mash_playbook_base_path }}/prometheus-blackbox-exporter" +prometheus_blackbox_exporter_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}prometheus-blackbox-exporter" prometheus_blackbox_exporter_uid: "{{ mash_playbook_uid }}" prometheus_blackbox_exporter_gid: "{{ mash_playbook_gid }}" @@ -889,7 +889,7 @@ prometheus_node_exporter_enabled: false prometheus_node_exporter_identifier: "{{ mash_playbook_service_identifier_prefix }}prometheus-node-exporter" -prometheus_node_exporter_base_path: "{{ mash_playbook_base_path }}/prometheus-node-exporter" +prometheus_node_exporter_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}prometheus-node-exporter" prometheus_node_exporter_uid: "{{ mash_playbook_uid }}" prometheus_node_exporter_gid: "{{ mash_playbook_gid }}" @@ -938,7 +938,7 @@ radicale_enabled: false radicale_identifier: "{{ mash_playbook_service_identifier_prefix }}radicale" -radicale_base_path: "{{ mash_playbook_base_path }}/radicale" +radicale_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}radicale" radicale_uid: "{{ mash_playbook_uid }}" radicale_gid: "{{ mash_playbook_gid }}" @@ -970,7 +970,7 @@ redmine_enabled: false redmine_identifier: "{{ mash_playbook_service_identifier_prefix }}redmine" -redmine_base_path: "{{ mash_playbook_base_path }}/redmine" +redmine_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}redmine" redmine_uid: "{{ mash_playbook_uid }}" redmine_gid: "{{ mash_playbook_gid }}" @@ -1020,7 +1020,7 @@ redis_enabled: false redis_identifier: "{{ mash_playbook_service_identifier_prefix }}redis" -redis_base_path: "{{ mash_playbook_base_path }}/redis" +redis_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}redis" redis_uid: "{{ mash_playbook_uid }}" redis_gid: "{{ mash_playbook_gid }}" @@ -1046,7 +1046,7 @@ syncthing_identifier: "{{ mash_playbook_service_identifier_prefix }}syncthing" syncthing_uid: "{{ mash_playbook_uid }}" syncthing_gid: "{{ mash_playbook_gid }}" -syncthing_base_path: "{{ mash_playbook_base_path }}/syncthing" +syncthing_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}syncthing" syncthing_container_additional_networks: | {{ @@ -1079,7 +1079,7 @@ vaultwarden_identifier: "{{ mash_playbook_service_identifier_prefix }}vaultwarde vaultwarden_uid: "{{ mash_playbook_uid }}" vaultwarden_gid: "{{ mash_playbook_gid }}" -vaultwarden_base_path: "{{ mash_playbook_base_path }}/vaultwarden" +vaultwarden_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}vaultwarden" vaultwarden_systemd_required_systemd_services_list: | {{ @@ -1123,7 +1123,7 @@ uptime_kuma_enabled: false uptime_kuma_identifier: "{{ mash_playbook_service_identifier_prefix }}uptime-kuma" -uptime_kuma_base_path: "{{ mash_playbook_base_path }}/uptime-kuma" +uptime_kuma_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}uptime-kuma" uptime_kuma_uid: "{{ mash_playbook_uid }}" uptime_kuma_gid: "{{ mash_playbook_gid }}" @@ -1159,7 +1159,7 @@ devture_woodpecker_ci_server_identifier: "{{ mash_playbook_service_identifier_pr devture_woodpecker_ci_server_uid: "{{ mash_playbook_uid }}" devture_woodpecker_ci_server_gid: "{{ mash_playbook_gid }}" -devture_woodpecker_ci_server_base_path: "{{ mash_playbook_base_path }}/woodpecker-ci/server" +devture_woodpecker_ci_server_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}woodpecker-ci/server" devture_woodpecker_ci_server_systemd_required_systemd_services_list: | {{ @@ -1210,7 +1210,7 @@ devture_woodpecker_ci_agent_identifier: "{{ mash_playbook_service_identifier_pre devture_woodpecker_ci_agent_uid: "{{ mash_playbook_uid }}" devture_woodpecker_ci_agent_gid: "{{ mash_playbook_gid }}" -devture_woodpecker_ci_agent_base_path: "{{ mash_playbook_base_path }}/woodpecker-ci/agent" +devture_woodpecker_ci_agent_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}woodpecker-ci/agent" devture_woodpecker_ci_agent_systemd_required_systemd_services_list: | {{ @@ -1246,7 +1246,7 @@ hubsite_enabled: false hubsite_identifier: "{{ mash_playbook_service_identifier_prefix }}hubsite" -hubsite_base_path: "{{ mash_playbook_base_path }}/hubsite" +hubsite_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}hubsite" hubsite_uid: "{{ mash_playbook_uid }}" hubsite_gid: "{{ mash_playbook_gid }}" @@ -1349,7 +1349,7 @@ firezone_enabled: false firezone_identifier: "{{ mash_playbook_service_identifier_prefix }}firezone" -firezone_base_path: "{{ mash_playbook_base_path }}/firezone" +firezone_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}firezone" firezone_uid: "{{ mash_playbook_uid }}" firezone_gid: "{{ mash_playbook_gid }}" diff --git a/roles/mash/playbook_base/defaults/main.yml b/roles/mash/playbook_base/defaults/main.yml index 2367e7d..c3b33f1 100644 --- a/roles/mash/playbook_base/defaults/main.yml +++ b/roles/mash/playbook_base/defaults/main.yml @@ -17,10 +17,15 @@ mash_playbook_gid: ~ # You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`). mash_playbook_generic_secret_key: '' -# Controls the prefixed used for all service identifiers. +# Controls the prefix used for all service identifiers. # This affects systemd service names, container names, container networks, etc. mash_playbook_service_identifier_prefix: "{{ mash_playbook_identifier }}-" +# Controls the prefix of the base directory for all services. +# Example: `/mash/{PREFIX}traefik`. +# If `mash_playbook_identifier` is the default (mash), we intentionally use an empty prefix. +mash_playbook_service_base_directory_name_prefix: "{{ '' if mash_playbook_identifier == 'mash' else (mash_playbook_identifier + '-') }}" + # Controls the base path where all services will be installed mash_playbook_base_path: "/{{ mash_playbook_identifier }}" mash_playbook_base_path_mode: "750"