diff options
| author | Ahmed AbdelHalim <[email protected]> | 2026-06-27 00:33:35 +0200 |
|---|---|---|
| committer | Ahmed AbdelHalim <[email protected]> | 2026-06-27 00:34:50 +0200 |
| commit | 9c48ed9b1c68c5c719494fe62124c2ee9eb22191 (patch) | |
| tree | 8c1cda52afd8eb55f4f61e1f71e14e8b9871db1e | |
| parent | a559d67db567c480647d3dbb67592c659fa67f76 (diff) | |
Add restic role w/testing
| -rw-r--r-- | configure.yml | 1 | ||||
| -rw-r--r-- | host_vars/desktop.local.yml.example | 1 | ||||
| -rw-r--r-- | host_vars/pve.local.yml | bin | 728 -> 754 bytes | |||
| -rw-r--r-- | host_vars/pve.local.yml.example | 2 | ||||
| -rw-r--r-- | molecule/archlinux-gnome/converge.yml | 1 | ||||
| -rw-r--r-- | molecule/archlinux/converge.yml | 1 | ||||
| -rw-r--r-- | molecule/debian/converge.yml | 1 | ||||
| -rw-r--r-- | molecule/proxmox/converge.yml | 1 | ||||
| -rw-r--r-- | molecule/raspberrypi/converge.yml | 1 | ||||
| -rw-r--r-- | molecule/ubuntu/converge.yml | 1 | ||||
| -rw-r--r-- | roles/restic/defaults/main.yml | 2 | ||||
| -rw-r--r-- | roles/restic/meta/argument_specs.yml | 8 | ||||
| -rw-r--r-- | roles/restic/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/restic/tasks/main.yml | 12 |
14 files changed, 50 insertions, 0 deletions
diff --git a/configure.yml b/configure.yml index 8cb3bb79..c876d287 100644 --- a/configure.yml +++ b/configure.yml @@ -127,3 +127,4 @@ - role: "dotfiles" - role: "password_store" - role: "vim" + - role: "restic" diff --git a/host_vars/desktop.local.yml.example b/host_vars/desktop.local.yml.example index ba2122ab..c1b4aff9 100644 --- a/host_vars/desktop.local.yml.example +++ b/host_vars/desktop.local.yml.example @@ -23,6 +23,7 @@ ansible_core_version: "2.20.1" molecule_version: "25.9.0" ansible_lint_version: "25.9.2" yamllint_version: "1.37.1" +restic_version: "0.19.0" wireguard_connections: wg-vpn1: | diff --git a/host_vars/pve.local.yml b/host_vars/pve.local.yml Binary files differindex 411f7c6e..d21e9240 100644 --- a/host_vars/pve.local.yml +++ b/host_vars/pve.local.yml diff --git a/host_vars/pve.local.yml.example b/host_vars/pve.local.yml.example index 0b211e4c..0e70d476 100644 --- a/host_vars/pve.local.yml.example +++ b/host_vars/pve.local.yml.example @@ -11,3 +11,5 @@ network_ipv4_dns: "10.0.0.254" network_ipv6_address: "fd5c:fd8b:2b8c::253/64" network_ipv6_gateway: "fd5c:fd8b:2b8c::254" network_ipv6_dns: "fd5c:fd8b:2b8c::254" + +restic_version: "0.19.0" diff --git a/molecule/archlinux-gnome/converge.yml b/molecule/archlinux-gnome/converge.yml index e1c218c0..d6f04195 100644 --- a/molecule/archlinux-gnome/converge.yml +++ b/molecule/archlinux-gnome/converge.yml @@ -114,3 +114,4 @@ - role: "brightnessctl" - role: "wiremix" - role: "localsend" + - role: "restic" diff --git a/molecule/archlinux/converge.yml b/molecule/archlinux/converge.yml index 41968d07..3f9f121c 100644 --- a/molecule/archlinux/converge.yml +++ b/molecule/archlinux/converge.yml @@ -110,3 +110,4 @@ - role: "prometheus-node-exporter" - role: "grafana" - role: "localsend" + - role: "restic" diff --git a/molecule/debian/converge.yml b/molecule/debian/converge.yml index 6187cede..54750286 100644 --- a/molecule/debian/converge.yml +++ b/molecule/debian/converge.yml @@ -116,3 +116,4 @@ - role: "pipewire" - role: "claude" - role: "localsend" + - role: "restic" diff --git a/molecule/proxmox/converge.yml b/molecule/proxmox/converge.yml index ace4aa74..c8af9d75 100644 --- a/molecule/proxmox/converge.yml +++ b/molecule/proxmox/converge.yml @@ -62,3 +62,4 @@ - role: "dotfiles" - role: "password_store" - role: "vim" + - role: "restic" diff --git a/molecule/raspberrypi/converge.yml b/molecule/raspberrypi/converge.yml index 49f81392..c21c849f 100644 --- a/molecule/raspberrypi/converge.yml +++ b/molecule/raspberrypi/converge.yml @@ -117,3 +117,4 @@ - role: "pipewire" - role: "claude" - role: "localsend" + - role: "restic" diff --git a/molecule/ubuntu/converge.yml b/molecule/ubuntu/converge.yml index 9a834156..00d4e6bc 100644 --- a/molecule/ubuntu/converge.yml +++ b/molecule/ubuntu/converge.yml @@ -107,3 +107,4 @@ - role: "claude" - role: "steam" - role: "localsend" + - role: "restic" diff --git a/roles/restic/defaults/main.yml b/roles/restic/defaults/main.yml new file mode 100644 index 00000000..0b3fbd93 --- /dev/null +++ b/roles/restic/defaults/main.yml @@ -0,0 +1,2 @@ +--- +restic_version: "latest" diff --git a/roles/restic/meta/argument_specs.yml b/roles/restic/meta/argument_specs.yml new file mode 100644 index 00000000..4622a3f8 --- /dev/null +++ b/roles/restic/meta/argument_specs.yml @@ -0,0 +1,8 @@ +--- +argument_specs: + main: + options: + restic_version: + type: "str" + description: "Restic version to install via mise (e.g. 'latest', '0.17.3')" + default: "latest" diff --git a/roles/restic/meta/main.yml b/roles/restic/meta/main.yml new file mode 100644 index 00000000..539ca10d --- /dev/null +++ b/roles/restic/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: + - role: "mise" +galaxy_info: + author: "a14m" + description: "Install restic via mise" + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/restic/tasks/main.yml b/roles/restic/tasks/main.yml new file mode 100644 index 00000000..ae82d3bc --- /dev/null +++ b/roles/restic/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: "Check installed restic versions" + ansible.builtin.command: + cmd: "mise ls restic" + register: restic_installed_versions + changed_when: false + +- name: "Install restic" + ansible.builtin.command: + cmd: "mise use --global restic@{{ restic_version }}" + changed_when: true + when: restic_version not in restic_installed_versions.stdout |
