From f8c9873a76c45a391329b9fed138741e0648fbf5 Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Tue, 11 Jul 2023 21:16:59 +0200 Subject: [PATCH] Add restic backups to valkyrie --- inventory/group_vars/restic/vars.yml | 6 +++++- inventory/host_vars/valkyrie/vars.yml | 2 ++ inventory/host_vars/yggdrasil/vars.yml | 6 ++++++ inventory/production | 1 + inventory/testing | 1 + playbooks/services.yml | 3 ++- 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/inventory/group_vars/restic/vars.yml b/inventory/group_vars/restic/vars.yml index db87c9b..b2b5eb8 100644 --- a/inventory/group_vars/restic/vars.yml +++ b/inventory/group_vars/restic/vars.yml @@ -22,10 +22,14 @@ services_backups_restic_services: "\ {{ services_backups_restic_service.update( { service: { 'user_name': ( 'pod-' ~ service ), - 'data_dataset': ( services_data_dataset ~ '/pod-' ~ service ), 'data_directory': ( services_data_directory ~ '/pod-' ~ service ), 'aws_bucket_prefix': ( 'the-nine-worlds---pod-' ~ service ), }} ) }}\ + {% if services_data_dataset is defined %}\ + {{ services_backups_restic_service[service].update( + { 'data_dataset': ( services_data_dataset ~ '/pod-' ~ service ) } + ) }}\ + {% endif %}\ {% endfor %}\ {{ services_backups_restic_service }}" diff --git a/inventory/host_vars/valkyrie/vars.yml b/inventory/host_vars/valkyrie/vars.yml index 35758db..4ca3936 100644 --- a/inventory/host_vars/valkyrie/vars.yml +++ b/inventory/host_vars/valkyrie/vars.yml @@ -37,5 +37,7 @@ services_host_services: rproxy: address: "{{ vpn_bridge_prefix }}.2" tcp: [80, 443] + restic: true www: address: "{{ vpn_bridge_prefix }}.3" + restic: false diff --git a/inventory/host_vars/yggdrasil/vars.yml b/inventory/host_vars/yggdrasil/vars.yml index 4af435d..3e4461e 100644 --- a/inventory/host_vars/yggdrasil/vars.yml +++ b/inventory/host_vars/yggdrasil/vars.yml @@ -143,19 +143,25 @@ services_host_services: lrproxy: address: "{{ vpn_bridge_prefix }}.2" tcp: [80, 443] + restic: true database: address: "{{ vpn_bridge_prefix }}.3" + restic: true cloud: address: "{{ vpn_bridge_prefix }}.4" + restic: true git: address: "{{ vpn_bridge_prefix }}.5" tcp: ["{{ services.git.ssh_port }}"] + restic: true notes: address: "{{ vpn_bridge_prefix }}.6" + restic: true music: address: "{{ vpn_bridge_prefix }}.7" collection_path: "{{ music_user_data_collection_directory }}" archive_path: "{{ music_user_data_archive_directory }}" + restic: true # -------------------------------------------------------------------------------------------------- # services:backups diff --git a/inventory/production b/inventory/production index 9369555..39e5db2 100644 --- a/inventory/production +++ b/inventory/production @@ -16,6 +16,7 @@ yggdrasil # Hosts with restic backups. [restic] +valkyrie yggdrasil # -------------------------------------------------------------------------------------------------- diff --git a/inventory/testing b/inventory/testing index 840b5c9..819a2c1 100644 --- a/inventory/testing +++ b/inventory/testing @@ -20,6 +20,7 @@ yggdrasil # Hosts with restic backups. [restic] +valkyrie yggdrasil # -------------------------------------------------------------------------------------------------- diff --git a/playbooks/services.yml b/playbooks/services.yml index 93c6787..f4a28db 100644 --- a/playbooks/services.yml +++ b/playbooks/services.yml @@ -126,12 +126,13 @@ {{ 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 }}" + {{ 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_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"