summaryrefslogtreecommitdiff
path: root/roles/storage
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-01-15 22:54:53 +0100
committerChristian Pointner <equinox@spreadspace.org>2022-01-15 22:54:53 +0100
commit92f596265ec0968a0c424f5f2e5cdd22d61a62ba (patch)
tree34c7e53370613dcd0a63f3dc8859a63a0a7c445c /roles/storage
parentextend storage/volume interface (diff)
(zfs|lvm)/volume: add handling of owner/group and permissions
Diffstat (limited to 'roles/storage')
-rw-r--r--roles/storage/lvm/volume/defaults/main.yml5
-rw-r--r--roles/storage/lvm/volume/tasks/main.yml8
-rw-r--r--roles/storage/zfs/volume/defaults/main.yml5
-rw-r--r--roles/storage/zfs/volume/tasks/main.yml8
4 files changed, 24 insertions, 2 deletions
diff --git a/roles/storage/lvm/volume/defaults/main.yml b/roles/storage/lvm/volume/defaults/main.yml
index 670dc43b..89876087 100644
--- a/roles/storage/lvm/volume/defaults/main.yml
+++ b/roles/storage/lvm/volume/defaults/main.yml
@@ -1,9 +1,12 @@
---
# lvm_volume:
-# dest: /srv/foo/bar
# vg: foo
# lv: bar
# size: 10G
# fs: ext4
+# dest: /srv/foo/bar
+# mode: 0750
+# owner: root
+# group: users
lvm_volume: "{{ storage_volume }}"
diff --git a/roles/storage/lvm/volume/tasks/main.yml b/roles/storage/lvm/volume/tasks/main.yml
index 9d335285..2537c28c 100644
--- a/roles/storage/lvm/volume/tasks/main.yml
+++ b/roles/storage/lvm/volume/tasks/main.yml
@@ -16,3 +16,11 @@
path: "{{ lvm_volume.dest }}"
fstype: "{{ lvm_volume.fs }}"
state: mounted
+
+- name: set volume owner/group and mode
+ file:
+ state: directory
+ path: "{{ lvm_volume.dest }}"
+ mode: "{{ lvm_volume.mode | default(omit) }}"
+ owner: "{{ lvm_volume.owner | default(omit) }}"
+ group: "{{ lvm_volume.group | default(omit) }}"
diff --git a/roles/storage/zfs/volume/defaults/main.yml b/roles/storage/zfs/volume/defaults/main.yml
index e438f28c..b4df433e 100644
--- a/roles/storage/zfs/volume/defaults/main.yml
+++ b/roles/storage/zfs/volume/defaults/main.yml
@@ -1,9 +1,12 @@
---
# zfs_volume:
-# dest: /srv/foo/bar
# pool: tank
# name: foo/bar
# properties:
# quota: 10G
+# dest: /srv/foo/bar
+# mode: 0750
+# owner: root
+# group: users
zfs_volume: "{{ storage_volume }}"
diff --git a/roles/storage/zfs/volume/tasks/main.yml b/roles/storage/zfs/volume/tasks/main.yml
index 25180fee..1bd198bb 100644
--- a/roles/storage/zfs/volume/tasks/main.yml
+++ b/roles/storage/zfs/volume/tasks/main.yml
@@ -17,3 +17,11 @@
fstype: none
opts: bind,x-systemd.automount,nofail
state: mounted
+
+- name: set volume owner/group and mode
+ file:
+ state: directory
+ path: "{{ zfs_volume.dest | default((zfs_pools[zfs_volume.pool].mountpoint, zfs_volume.name) | path_join) }}"
+ mode: "{{ zfs_volume.mode | default(omit) }}"
+ owner: "{{ zfs_volume.owner | default(omit) }}"
+ group: "{{ zfs_volume.group | default(omit) }}"