diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-07-19 00:23:36 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-07-19 00:23:36 +0200 |
| commit | 457ea6648783258458bb12280d39d5816450ff62 (patch) | |
| tree | d1f7375ede93c47710fab15d2fb973e0f5bfdf86 /roles/backup | |
| parent | 11e661babdb681924d902cbf193ed248dd88c039 (diff) | |
Rename backup -> mount as a role
Diffstat (limited to 'roles/backup')
| -rw-r--r-- | roles/backup/README.md | 75 | ||||
| -rw-r--r-- | roles/backup/defaults/main.yml | 4 | ||||
| -rw-r--r-- | roles/backup/meta/argument_specs.yml | 20 | ||||
| -rw-r--r-- | roles/backup/meta/main.yml | 11 | ||||
| -rw-r--r-- | roles/backup/tasks/main.yml | 18 |
5 files changed, 0 insertions, 128 deletions
diff --git a/roles/backup/README.md b/roles/backup/README.md deleted file mode 100644 index 62cada76..00000000 --- a/roles/backup/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# Backup Role - -Mounts a dedicated backup drive on the target host. - -## Overview - -Prepares a dedicated storage device as the local backup destination S3-compatible object store (ex. Garage). - -## Configuration - -### Required Variables - -```yaml -backup_device: "PARTLABEL=backup" # no default — must set in host_vars -``` - -### Optional Variables - -```yaml -backup_mount_point: "/backup" -backup_fstype: "ext4" -backup_mount_options: "defaults,noatime" -``` - -## Preparing the Drive - -### 1. Install parted - -```bash -sudo apt install parted -``` - -### 2. Partition with a named label - -```bash -# check device name -lsblk - -# create GPT partition table + single labeled partition -sudo parted /dev/sdX --script mklabel gpt mkpart backup ext4 0% 100% -sudo parted /dev/nvme0nX --script mklabel gpt mkpart backup ext4 0% 100% - -# verify label -sudo parted /dev/sdX print -sudo parted /dev/nvme0nX print -``` - -### 3. Format as ext4 - -```bash -sudo mkfs.ext4 /dev/sdX1 -sudo mkfs.ext4 /dev/nvme0nXp1 - -# verify -sudo blkid /dev/sdX1 -sudo blkid /dev/nvme0nXp1 - -ls /dev/disk/by-partlabel/ -``` - -### 4. Set host variable - -In `host_vars/rpi5.local.yml`: - -```yaml -backup_device: "PARTLABEL=backup" -``` - -`PARTLABEL` is stable across reboots regardless of device enumeration order (`/dev/sda` vs `/dev/sdb`). -`ansible.posix.mount` handles `PARTLABEL=` values natively. - -## Notes - -- `noatime` mount option reduces unnecessary write cycles on the drive -- Role adds a persistent fstab entry — drive auto-mounts on reboot diff --git a/roles/backup/defaults/main.yml b/roles/backup/defaults/main.yml deleted file mode 100644 index 6fc18f9a..00000000 --- a/roles/backup/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -backup_mount_point: "/backup" -backup_fstype: "ext4" -backup_mount_options: "defaults,noatime" diff --git a/roles/backup/meta/argument_specs.yml b/roles/backup/meta/argument_specs.yml deleted file mode 100644 index 459187ee..00000000 --- a/roles/backup/meta/argument_specs.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -argument_specs: - main: - options: - backup_device: - type: "str" - description: "Device to mount (e.g. PARTLABEL=backup)" - required: true - backup_mount_point: - type: "str" - description: "Mount point for the backup drive" - default: "/mnt/backup" - backup_fstype: - type: "str" - description: "Filesystem type of the backup device" - default: "ext4" - backup_mount_options: - type: "str" - description: "Mount options for the backup device" - default: "defaults,noatime" diff --git a/roles/backup/meta/main.yml b/roles/backup/meta/main.yml deleted file mode 100644 index 616d6a42..00000000 --- a/roles/backup/meta/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -dependencies: [] -galaxy_info: - author: "a14m" - description: "Mount a dedicated backup drive" - license: "MIT" - min_ansible_version: "2.18" - platforms: - - name: "Debian" - versions: - - "bookworm" diff --git a/roles/backup/tasks/main.yml b/roles/backup/tasks/main.yml deleted file mode 100644 index 2180d659..00000000 --- a/roles/backup/tasks/main.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: "Create backup mount point" - become: true - ansible.builtin.file: - path: "{{ backup_mount_point }}" - state: "directory" - owner: "root" - group: "root" - mode: "0755" - -- name: "Mount backup drive" - become: true - ansible.posix.mount: - path: "{{ backup_mount_point }}" - src: "{{ backup_device }}" - fstype: "{{ backup_fstype }}" - opts: "{{ backup_mount_options }}" - state: "mounted" |
