Optimise volume setup
This commit is contained in:
parent
8dae9d4e76
commit
2cc62f57ec
@ -2,6 +2,20 @@
|
|||||||
- name: "Deploy services"
|
- name: "Deploy services"
|
||||||
hosts: the_nine_worlds
|
hosts: the_nine_worlds
|
||||||
|
|
||||||
|
vars:
|
||||||
|
volumes:
|
||||||
|
rproxy:
|
||||||
|
- "etc-letsencrypt"
|
||||||
|
www: []
|
||||||
|
lrproxy:
|
||||||
|
- "etc-letsencrypt"
|
||||||
|
database:
|
||||||
|
- "wal"
|
||||||
|
- "data"
|
||||||
|
cloud:
|
||||||
|
- "nextcloud"
|
||||||
|
- "data"
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- include_tasks: tasks/services/b-user/service-user.yml
|
- include_tasks: tasks/services/b-user/service-user.yml
|
||||||
with_items: "{{ host_services }}"
|
with_items: "{{ host_services }}"
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
- name: Create volume data directory for user {{ service_user_name }}
|
- include_tasks: _volumes.yml
|
||||||
file:
|
with_items: "{{ volumes[service_name] }}"
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}"
|
loop_control:
|
||||||
state: directory
|
loop_var: volume
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
- name: Create volume {{ volume }} for user {{ service_user_name }}
|
||||||
|
file:
|
||||||
|
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/{{ volume }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ service_user_name }}"
|
||||||
|
group: "{{ service_user_name }}"
|
||||||
|
mode: 0755
|
||||||
|
|
||||||
|
- name: Check if {{ volume }} mount directory exists for user {{ service_user_name }}
|
||||||
|
stat:
|
||||||
|
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/{{ volume }}/_data"
|
||||||
|
register: volume_mount_directory
|
||||||
|
|
||||||
|
- name: Create {{ volume }} mount directory for user {{ service_user_name }}
|
||||||
|
file:
|
||||||
|
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/{{ volume }}/_data"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ service_user_name }}"
|
||||||
|
group: "{{ service_user_name }}"
|
||||||
|
mode: 0755
|
||||||
|
when:
|
||||||
|
not volume_mount_directory.stat.exists
|
@ -1,53 +0,0 @@
|
|||||||
- name: Create volume data directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Create nextcloud directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/nextcloud"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Check if nextcloud mount directory exists for user {{ service_user_name }}
|
|
||||||
stat:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/nextcloud/_data"
|
|
||||||
register: nextcloud_mount_directory
|
|
||||||
|
|
||||||
- name: Create nextcloud mount directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/nextcloud/_data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
when:
|
|
||||||
not nextcloud_mount_directory.stat.exists
|
|
||||||
|
|
||||||
- name: Create data directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Check if data mount directory exists for user {{ service_user_name }}
|
|
||||||
stat:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data/_data"
|
|
||||||
register: data_mount_directory
|
|
||||||
|
|
||||||
- name: Create data mount directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data/_data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
when:
|
|
||||||
not data_mount_directory.stat.exists
|
|
@ -1,53 +0,0 @@
|
|||||||
- name: Create volume data directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Create wal directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/wal"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Check if wal mount directory exists for user {{ service_user_name }}
|
|
||||||
stat:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/wal/_data"
|
|
||||||
register: wal_mount_directory
|
|
||||||
|
|
||||||
- name: Create wal mount directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/wal/_data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
when:
|
|
||||||
not wal_mount_directory.stat.exists
|
|
||||||
|
|
||||||
- name: Create data directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Check if data mount directory exists for user {{ service_user_name }}
|
|
||||||
stat:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data/_data"
|
|
||||||
register: data_mount_directory
|
|
||||||
|
|
||||||
- name: Create data mount directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data/_data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
when:
|
|
||||||
not data_mount_directory.stat.exists
|
|
@ -1,30 +0,0 @@
|
|||||||
- name: Create volume data directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Create etc-letsencrypt directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Check if etc-letsencrypt mount directory exists for user {{ service_user_name }}
|
|
||||||
stat:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt/_data"
|
|
||||||
register: etc_letsencrypt_mount_directory
|
|
||||||
|
|
||||||
- name: Create etc-letsencrypt mount directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt/_data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
when:
|
|
||||||
not etc_letsencrypt_mount_directory.stat.exists
|
|
@ -1,30 +0,0 @@
|
|||||||
- name: Create volume data directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Create etc-letsencrypt directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- name: Check if etc-letsencrypt mount directory exists for user {{ service_user_name }}
|
|
||||||
stat:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt/_data"
|
|
||||||
register: etc_letsencrypt_mount_directory
|
|
||||||
|
|
||||||
- name: Create etc-letsencrypt mount directory for user {{ service_user_name }}
|
|
||||||
file:
|
|
||||||
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt/_data"
|
|
||||||
state: directory
|
|
||||||
owner: "{{ service_user_name }}"
|
|
||||||
group: "{{ service_user_name }}"
|
|
||||||
mode: 0755
|
|
||||||
when:
|
|
||||||
not etc_letsencrypt_mount_directory.stat.exists
|
|
@ -49,6 +49,14 @@
|
|||||||
group: "{{ service_user_name }}"
|
group: "{{ service_user_name }}"
|
||||||
mode: 0755
|
mode: 0755
|
||||||
|
|
||||||
|
- name: Create volume data directory for user {{ service_user_name }}
|
||||||
|
file:
|
||||||
|
path: "/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ service_user_name }}"
|
||||||
|
group: "{{ service_user_name }}"
|
||||||
|
mode: 0755
|
||||||
|
|
||||||
- include_tasks: "{{ item }}"
|
- include_tasks: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
- files:
|
- files:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
- name: Create volume data dataset for user {{ service_user_name }}
|
- include_tasks: _volumes.yml
|
||||||
zfs:
|
with_items: "{{ volumes[service_name] }}"
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}
|
loop_control:
|
||||||
state: present
|
loop_var: volume
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
- name: Create {{ volume }} dataset for user {{ service_user_name }}
|
||||||
|
zfs:
|
||||||
|
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/{{ volume }}
|
||||||
|
state: present
|
@ -1,16 +0,0 @@
|
|||||||
- name: Create data dataset for user {{ service_user_name }}
|
|
||||||
zfs:
|
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}
|
|
||||||
state: present
|
|
||||||
extra_zfs_properties:
|
|
||||||
canmount: "off"
|
|
||||||
|
|
||||||
- name: Create app dataset for user {{ service_user_name }}
|
|
||||||
zfs:
|
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/nextcloud
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Create data dataset for user {{ service_user_name }}
|
|
||||||
zfs:
|
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/data
|
|
||||||
state: present
|
|
@ -1,10 +1,3 @@
|
|||||||
- name: Create data dataset for user {{ service_user_name }}
|
|
||||||
zfs:
|
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}
|
|
||||||
state: present
|
|
||||||
extra_zfs_properties:
|
|
||||||
canmount: "off"
|
|
||||||
|
|
||||||
- name: Create wal dataset for user {{ service_user_name }}
|
- name: Create wal dataset for user {{ service_user_name }}
|
||||||
zfs:
|
zfs:
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/wal
|
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/wal
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
- name: Create data dataset for user {{ service_user_name }}
|
|
||||||
zfs:
|
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}
|
|
||||||
state: present
|
|
||||||
extra_zfs_properties:
|
|
||||||
canmount: "off"
|
|
||||||
|
|
||||||
- name: Create etc-letsencrypt dataset for user {{ service_user_name }}
|
|
||||||
zfs:
|
|
||||||
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}/etc-letsencrypt
|
|
||||||
state: present
|
|
@ -12,6 +12,13 @@
|
|||||||
when:
|
when:
|
||||||
user_zfs_home is changed
|
user_zfs_home is changed
|
||||||
|
|
||||||
|
- name: Create data dataset for user {{ service_user_name }}
|
||||||
|
zfs:
|
||||||
|
name: rpool/var/lib/{{ ansible_hostname }}/data/{{ service_user_name }}
|
||||||
|
state: present
|
||||||
|
extra_zfs_properties:
|
||||||
|
canmount: "off"
|
||||||
|
|
||||||
- include_tasks: "{{ item }}"
|
- include_tasks: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
- files:
|
- files:
|
||||||
|
Loading…
Reference in New Issue
Block a user