diff --git a/roles/nfs_client/README.md b/roles/nfs_client/README.md new file mode 100644 index 0000000..b90a26b --- /dev/null +++ b/roles/nfs_client/README.md @@ -0,0 +1,11 @@ +# Configure NFS mounts + +Examples: +``` +nfs_mounts: + - path: /mnt/nas_data__data_lan + nfs_server: 192.168.100.1 + src: /mnt/pool-safe/data_lan + +``` + diff --git a/roles/nfs_client/defaults/main.yml b/roles/nfs_client/defaults/main.yml new file mode 100644 index 0000000..f2891dc --- /dev/null +++ b/roles/nfs_client/defaults/main.yml @@ -0,0 +1,4 @@ + +nsf_mount__default: [] +nfs_mounts: "{{ vars | dict2items | selectattr('key', 'match', '^nfs_mounts__.*') | map(attribute='value') | list | flatten | unique }}" + diff --git a/roles/nfs_client/tasks/main.yml b/roles/nfs_client/tasks/main.yml index 535f85c..1ef5f55 100644 --- a/roles/nfs_client/tasks/main.yml +++ b/roles/nfs_client/tasks/main.yml @@ -21,11 +21,13 @@ src: "{{ src }}" fstype: "{{ fstype }}" state: "{{ state }}" + opts: "{{ opts }}" loop: "{{ nfs_mounts }}" vars: state: "{{ item.state | default('mounted') }}" fstype: nfs - src: "{{ nfs_server }}:{{ item.src }}" + src: "{{ item.server }}:{{ item.src }}" path: "{{ item.path }}" + opts: "{{ item.opts | d('ro') }}"