summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
Diffstat (limited to 'roles')
-rw-r--r--roles/restic/defaults/main.yml2
-rw-r--r--roles/restic/meta/argument_specs.yml8
-rw-r--r--roles/restic/meta/main.yml18
-rw-r--r--roles/restic/tasks/main.yml12
4 files changed, 40 insertions, 0 deletions
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