Feat: add network share to nas
This commit is contained in:
7
roles/nfs_server/defaults/main.yml
Normal file
7
roles/nfs_server/defaults/main.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
# defaults file for nfs_server
|
||||
shares:
|
||||
- mount_point: /media/nfs/default
|
||||
server: test.lan
|
||||
export: /test
|
||||
options: defaults
|
||||
4
roles/nfs_server/handlers/main.yml
Normal file
4
roles/nfs_server/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
# handlers file for nfs_server
|
||||
- name: reload nfs
|
||||
command: 'exportfs -ra'
|
||||
7
roles/nfs_server/tasks/debian.yml
Normal file
7
roles/nfs_server/tasks/debian.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
- name: Debian - Install nfs
|
||||
apt:
|
||||
name:
|
||||
- nfs-common
|
||||
- nfs-kernel-server
|
||||
state: present
|
||||
23
roles/nfs_server/tasks/main.yml
Normal file
23
roles/nfs_server/tasks/main.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
# tasks file for nfs_server
|
||||
- name: Install os-specific packages
|
||||
include_tasks: "{{ ansible_os_family | lower }}.yml"
|
||||
|
||||
- name: Ensure directories to export exist
|
||||
file: # noqa 208
|
||||
path: "{{ item.src }}"
|
||||
state: directory
|
||||
with_items: "{{ nfs_exports }}"
|
||||
|
||||
- name: Copy exports file.
|
||||
template:
|
||||
src: exports.j2
|
||||
dest: /etc/exports
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
notify: reload nfs
|
||||
|
||||
- name: Ensure nfs is running.
|
||||
service: "name=nfs-kernel-server state=started enabled=yes"
|
||||
when: nfs_exports|length
|
||||
13
roles/nfs_server/templates/exports.j2
Normal file
13
roles/nfs_server/templates/exports.j2
Normal file
@@ -0,0 +1,13 @@
|
||||
# /etc/exports: the access control list for filesystems which may be exported
|
||||
# to NFS clients. See exports(5).
|
||||
#
|
||||
# Example for NFSv2 and NFSv3:
|
||||
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
|
||||
#
|
||||
# Example for NFSv4:
|
||||
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
|
||||
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
|
||||
#
|
||||
{% for export in nfs_exports %}
|
||||
{{ export.src }} {{ export.allowedIP }}({{ export.options }})
|
||||
{% endfor %}
|
||||
2
roles/nfs_server/tests/inventory
Normal file
2
roles/nfs_server/tests/inventory
Normal file
@@ -0,0 +1,2 @@
|
||||
localhost
|
||||
|
||||
5
roles/nfs_server/tests/test.yml
Normal file
5
roles/nfs_server/tests/test.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- nfs_server
|
||||
2
roles/nfs_server/vars/main.yml
Normal file
2
roles/nfs_server/vars/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for nfs_server
|
||||
Reference in New Issue
Block a user