feat: initial commit

This commit is contained in:
Simon Cornet 2026-04-07 16:43:41 +02:00
commit 369761fcb6
11 changed files with 167 additions and 93 deletions

41
tasks/config.yaml Normal file
View file

@ -0,0 +1,41 @@
---
# transform __nfs_mount['local_dir_path']
- name: "set variables"
ansible.builtin.set_fact:
__systemctl_unit_name: "{{ __nfs_mount['local_dir_path'][1:] | replace('-', '\\x2d') | replace('/', '-') }}"
# create local data folder
- name: "directory - create folder {{ __nfs_mount['local_dir_path'] }}"
ansible.builtin.file:
path: "{{ __nfs_mount['local_dir_path'] }}"
state: "directory"
owner: "{{ __nfs_mount['local_dir_owner'] | default('root') }}"
group: "{{ __nfs_mount['local_dir_group'] | default('root') }}"
mode: "{{ __nfs_mount['local_dir_mode'] | default('0775') }}"
# set systemd mount file
- name: "systemd - config - {{ __systemctl_unit_name }}.mount"
ansible.builtin.template:
src: "templates/systemd/mount.j2"
dest: "/etc/systemd/system/{{ __systemctl_unit_name }}.mount"
owner: "root"
group: "root"
mode: "0644"
# start service one time
- name: "systemd - service - start"
ansible.builtin.systemd:
name: "{{ __systemctl_unit_name }}.mount"
daemon_reload: true
state: "started"
enabled: true
# fix permissions local folder
- name: "directory - fix folder permissions {{ __nfs_mount['local_dir_path'] }}"
ansible.builtin.file:
path: "{{ __nfs_mount['local_dir_path'] }}"
state: "directory"
owner: "{{ __nfs_mount['local_dir_owner'] | default('root') }}"
group: "{{ __nfs_mount['local_dir_group'] | default('root') }}"
mode: "{{ __nfs_mount['local_dir_mode'] | default('0775') }}"

10
tasks/install.yaml Normal file
View file

@ -0,0 +1,10 @@
---
# install nfs client package
- name: "install - nfs common package"
ansible.builtin.apt:
name: "nfs-common"
state: "present"
update_cache: "true"
cache_valid_time: "120"
when: 'ansible_os_family == "Debian"'

13
tasks/main.yaml Normal file
View file

@ -0,0 +1,13 @@
---
# install nfs_server
- name: "install"
ansible.builtin.import_tasks: "install.yaml"
# configure nfs mount
- name: "mounts"
ansible.builtin.include_tasks: "config.yaml"
loop: "{{ nfs_mount }}"
loop_control:
loop_var: "__nfs_mount"
when: "nfs_mount is defined"