--- - name: "services : asgard:&zfs" hosts: "asgard:&zfs" vars_files: - "vars/services/volumes.yml" tasks: - name: "datasets : user" ansible.builtin.include_role: name: "services/datasets/user" apply: tags: - "services:{{ services_service_name }}" - "services:datasets" - "services:datasets:user" - "services:datasets:user:{{ services_service_name }}" - "services:{{ services_service_name }}:datasets:user" vars: services_service_volumes: "{{ services_volumes[services_service_name] }}" loop: "{{ services_host_services | dict2items | map(attribute='key') }}" loop_control: loop_var: "services_service_name" tags: "always" - name: "services : asgard" hosts: "asgard" vars_files: - "vars/services/volumes.yml" - "vars/services/deploy/versions.yml" roles: - role: "services/setup/system" tags: - "services:setup" - "services:setup:system" vars: services_setup_system_containers_storage_fuse_overlay: "{{ 'zfs' in group_names }}" tasks: - name: "setup : user" ansible.builtin.include_role: name: "services/setup/user" apply: tags: - "services:{{ services_service_name }}" - "services:setup" - "services:setup:user" - "services:setup:user:{{ services_service_name }}" - "services:{{ services_service_name }}:setup:user" vars: services_service_volumes: "{{ services_volumes[services_service_name] }}" loop: "{{ services_host_services | dict2items | map(attribute='key') }}" loop_control: loop_var: "services_service_name" tags: "always" - name: "deploy rproxy" ansible.builtin.include_role: name: "services/deploy/rproxy" apply: tags: - "services:rproxy" - "services:deploy" - "services:deploy:rproxy" - "services:rproxy:deploy" vars: services_service_name: "rproxy" services_deploy_rproxy_nginx_stream_config: "files/services/deploy/stream.conf" services_deploy_rproxy_nginx_subdomain_config_files: - "files/services/deploy/rproxy/nginx-conf.d/http-default.conf" - "files/services/deploy/rproxy/nginx-conf.d/wojciechkozlowski.eu.conf" - "files/services/deploy/rproxy/nginx-conf.d/www.wojciechkozlowski.eu.conf" services_service_deploy_versions: "{{ services_deploy_versions.rproxy }}" when: "'rproxy' in services_host_services" tags: "always" - name: "deploy lrproxy" ansible.builtin.include_role: name: "services/deploy/rproxy" apply: tags: - "services:lrproxy" - "services:deploy" - "services:deploy:lrproxy" - "services:lrproxy:deploy" vars: services_service_name: "lrproxy" services_deploy_rproxy_nginx_stream_config: "files/services/deploy/stream.conf" services_deploy_rproxy_nginx_subdomain_config_files: - "files/services/deploy/lrproxy/nginx-conf.d/archive.music.thenineworlds.net.conf" - "files/services/deploy/lrproxy/nginx-conf.d/cloud.wojciechkozlowski.eu.conf" - "files/services/deploy/lrproxy/nginx-conf.d/dash.thenineworlds.net.conf" - "files/services/deploy/lrproxy/nginx-conf.d/database.thenineworlds.net.conf" - "files/services/deploy/lrproxy/nginx-conf.d/git.thenineworlds.net.conf" - "files/services/deploy/lrproxy/nginx-conf.d/music.thenineworlds.net.conf" - "files/services/deploy/lrproxy/nginx-conf.d/notes.thenineworlds.net.conf" services_service_deploy_versions: "{{ services_deploy_versions.lrproxy }}" when: "'lrproxy' in services_host_services" tags: "always" - name: "deploy" ansible.builtin.include_role: name: "services/deploy/{{ services_service_name }}" apply: tags: - "services:{{ services_service_name }}" - "services:deploy" - "services:deploy:{{ services_service_name }}" - "services:{{ services_service_name }}:deploy" vars: services_service_deploy_versions: "{{ services_deploy_versions[services_service_name] }}" loop: "{{ services_host_services | dict2items | rejectattr('key', '==', 'rproxy') | rejectattr('key', '==', 'lrproxy') | map(attribute='key') }}" loop_control: loop_var: "services_service_name" tags: "always" - name: "services : asgard:&zfs" hosts: "asgard:&zfs" tasks: - name: "datasets : backups : user" ansible.builtin.include_role: name: "services/datasets/backups/user" apply: tags: - "services:{{ services_service_name }}" - "services:datasets" - "services:datasets:backups" - "services:datasets:backups:user" - "services:datasets:backups:user:{{ services_service_name }}" - "services:{{ services_service_name }}:datasets:backups:user" loop: "{{ services_host_services | dict2items | map(attribute='key') }}" loop_control: loop_var: "services_service_name" tags: "always" - name: "backups : snapshots" ansible.builtin.include_role: name: "backups/snapshots/user" apply: tags: - "services:{{ services_service_name }}" - "services:backups" - "services:backups:snapshots" - "services:backups:snapshots:user" - "services:backups:snapshots:user:{{ services_service_name }}" - "services:{{ services_service_name }}:backups:snapshots:user" vars: backups_snapshots_user_name: "\ {{ services_backups_snapshots_services[services_service_name].user_name }}" backups_snapshots_user_data_dataset: "\ {{ services_backups_snapshots_services[services_service_name].data_dataset }}" backups_snapshots_user_backup_dataset: "\ {{ services_backups_snapshots_services[services_service_name].backup_dataset }}" backups_snapshots_user_recursive: "\ {{ services_backups_snapshots_services[services_service_name].recursive }}" backups_snapshots_user_skip_parent: "\ {{ services_backups_snapshots_services[services_service_name].skip_parent }}" loop: "{{ services_host_services | dict2items | map(attribute='key') }}" loop_control: loop_var: "services_service_name" tags: "always" - name: "services : asgard:&restic" hosts: "asgard:&restic" tasks: - name: "backups : restic" ansible.builtin.include_role: name: "backups/restic/user" apply: tags: - "services:{{ services_service_name }}" - "services:backups" - "services:backups:restic:user" - "services:backups:restic:user:{{ services_service_name }}" - "services:{{ services_service_name }}:backups:restic:user" vars: backups_restic_user_name: "\ {{ services_backups_restic_services[services_service_name].user_name }}" backups_restic_user_use_dataset: "{{ 'zfs' in group_names }}" backups_restic_user_data_dataset: "\ {{ services_backups_restic_services[services_service_name].data_dataset | default('') }}" backups_restic_user_data_directory: "\ {{ services_backups_restic_services[services_service_name].data_directory }}" backups_restic_user_data_exclude_list: "\ {{ services_backups_restic_services[services_service_name].exclude }}" backups_restic_user_aws_bucket_prefix: "\ {{ services_backups_restic_services[services_service_name].aws_bucket_prefix }}" loop: "{{ services_host_services | dict2items | map(attribute='key') }}" when: "services_host_services[services_service_name].restic" loop_control: loop_var: "services_service_name" tags: "always"