feat: Add nfs server to host machines
This commit is contained in:
parent
2b05fc7363
commit
547ab91972
5 changed files with 50 additions and 0 deletions
5
roles/nfs/defaults/main.yaml
Normal file
5
roles/nfs/defaults/main.yaml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
|
||||
nfs_export_lines:
|
||||
- "/srv/media 192.168.0.0/24(rw,async,nosuid,no_subtree_check)"
|
||||
- "/srv/files 192.168.0.0/24(rw,async,nosuid,no_subtree_check)"
|
||||
7
roles/nfs/handlers/main.yaml
Normal file
7
roles/nfs/handlers/main.yaml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
- name: Reload nfs service
|
||||
ansible.builtin.systemd:
|
||||
name: nfs-server.service
|
||||
daemon_reload: true
|
||||
state: restarted
|
||||
become: true
|
||||
30
roles/nfs/tasks/main.yaml
Normal file
30
roles/nfs/tasks/main.yaml
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
- name: Install nfs kernel package
|
||||
ansible.builtin.package:
|
||||
name: nfs-kernel-server
|
||||
state: present
|
||||
become: true
|
||||
notify: Reload nfs service
|
||||
|
||||
- name: Create exports conf file
|
||||
ansible.builtin.template:
|
||||
src: exports.jinja
|
||||
dest: /etc/exports
|
||||
mode: '0644'
|
||||
become: true
|
||||
notify: Reload nfs service
|
||||
|
||||
- name: Ensure share directories exist
|
||||
ansible.builtin.file:
|
||||
state: directory
|
||||
# nfs conf lines start with the shared dir
|
||||
path: "{{ item.split(' ')[0] }}"
|
||||
become: true
|
||||
loop: "{{ nfs_export_lines }}"
|
||||
|
||||
- name: Enable nfs server unit
|
||||
ansible.builtin.systemd:
|
||||
enabled: true
|
||||
name: nfs-server.service
|
||||
state: started
|
||||
become: true
|
||||
3
roles/nfs/templates/exports.jinja
Normal file
3
roles/nfs/templates/exports.jinja
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{% for line in nfs_export_lines %}
|
||||
{{ line }}
|
||||
{% endfor %}
|
||||
|
|
@ -25,6 +25,11 @@
|
|||
name: system
|
||||
tags: system
|
||||
|
||||
- name: Set up nfs shares
|
||||
ansible.builtin.import_role:
|
||||
name: nfs
|
||||
tags: nfs
|
||||
|
||||
# FIXME: Role needs much fixup before it can run
|
||||
# - name: Prepare incus
|
||||
# ansible.builtin.import_role:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue