feat(nfs): Add auto mounted nfs filesystem
This commit is contained in:
parent
9c510251ca
commit
5e64e89647
7 changed files with 74 additions and 1 deletions
|
|
@ -9,7 +9,6 @@ packages_terminal:
|
||||||
- aerc
|
- aerc
|
||||||
- ansible
|
- ansible
|
||||||
- atuin
|
- atuin
|
||||||
- autofs
|
|
||||||
- bat
|
- bat
|
||||||
- bc
|
- bc
|
||||||
- bottom
|
- bottom
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,8 @@
|
||||||
tags: power
|
tags: power
|
||||||
- role: gnupg
|
- role: gnupg
|
||||||
tags: gnupg
|
tags: gnupg
|
||||||
|
- role: nfs
|
||||||
|
tags: nfs
|
||||||
|
|
||||||
- role: fonts
|
- role: fonts
|
||||||
tags: fonts
|
tags: fonts
|
||||||
|
|
|
||||||
12
roles/nfs/defaults/main.yaml
Normal file
12
roles/nfs/defaults/main.yaml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
nfs_mount_dir: /mnt/nfs
|
||||||
|
|
||||||
|
# TODO: Remove hard-coding to IP for vpn access
|
||||||
|
nfs_mounts:
|
||||||
|
- name: media
|
||||||
|
src: "192.168.0.151:/srv/media"
|
||||||
|
- name: files
|
||||||
|
src: "192.168.0.151:/srv/files"
|
||||||
|
- name: videos
|
||||||
|
src: "192.168.0.151:/mnt/ext/data/videos"
|
||||||
8
roles/nfs/handlers/main.yaml
Normal file
8
roles/nfs/handlers/main.yaml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
- name: Restart autofs service
|
||||||
|
community.general.runit:
|
||||||
|
name: autofs
|
||||||
|
state: restarted
|
||||||
|
retries: 3
|
||||||
|
tags:
|
||||||
|
- services
|
||||||
48
roles/nfs/tasks/main.yaml
Normal file
48
roles/nfs/tasks/main.yaml
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
- name: Install nfs related packages
|
||||||
|
community.general.xbps:
|
||||||
|
name:
|
||||||
|
- nfs-utils
|
||||||
|
- autofs
|
||||||
|
state: "{{ desired_package_state | default('present') }}"
|
||||||
|
tags:
|
||||||
|
- packages
|
||||||
|
|
||||||
|
- name: Ensure autofs master config directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
dest: "/etc/autofs/auto.master.d"
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Add nfs master autofs configuration
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: nfs.autofs.jinja
|
||||||
|
dest: "/etc/autofs/auto.master.d/nfs.autofs"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
force: true
|
||||||
|
notify: Restart autofs service
|
||||||
|
|
||||||
|
- name: Ensure nfs main mount directory
|
||||||
|
ansible.builtin.file:
|
||||||
|
dest: "{{ nfs_mount_dir }}"
|
||||||
|
state: directory
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Add nfs automounts configuration
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: auto.nfs.jinja
|
||||||
|
dest: "/etc/autofs/auto.nfs"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
force: true
|
||||||
|
notify: Restart autofs service
|
||||||
|
|
||||||
|
- name: Enable autofs service
|
||||||
|
ansible.builtin.file:
|
||||||
|
force: "yes"
|
||||||
|
src: "/etc/sv/autofs"
|
||||||
|
dest: "/etc/runit/runsvdir/default/autofs"
|
||||||
|
state: link
|
||||||
3
roles/nfs/templates/auto.nfs.jinja
Normal file
3
roles/nfs/templates/auto.nfs.jinja
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{% for mount in nfs_mounts %}
|
||||||
|
{{ mount.name }} -fstype=nfs4,rw,soft,intr {{ mount.src }}
|
||||||
|
{% endfor %}
|
||||||
1
roles/nfs/templates/nfs.autofs.jinja
Normal file
1
roles/nfs/templates/nfs.autofs.jinja
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{{ nfs_mount_dir }} /etc/autofs/auto.nfs --timeout=300
|
||||||
Loading…
Add table
Add a link
Reference in a new issue