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
|
||||
- ansible
|
||||
- atuin
|
||||
- autofs
|
||||
- bat
|
||||
- bc
|
||||
- bottom
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@
|
|||
tags: power
|
||||
- role: gnupg
|
||||
tags: gnupg
|
||||
- role: nfs
|
||||
tags: nfs
|
||||
|
||||
- role: 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