diff --git a/group_vars/all/home.yml b/group_vars/all/home.yml new file mode 100644 index 0000000..c41417c --- /dev/null +++ b/group_vars/all/home.yml @@ -0,0 +1,4 @@ +--- +glob_home: + ip: 172.16.42.1 + mountpoint: /rpool/home diff --git a/plays/base.yml b/plays/base.yml index 4a65a1a..fb0a281 100755 --- a/plays/base.yml +++ b/plays/base.yml @@ -4,6 +4,7 @@ - import_playbook: apt.yml - import_playbook: ntp.yml - import_playbook: ldap-client.yml +- import_playbook: home.yml - hosts: all roles: diff --git a/plays/home.yml b/plays/home.yml new file mode 100755 index 0000000..4cdfdbe --- /dev/null +++ b/plays/home.yml @@ -0,0 +1,7 @@ +#!/usr/bin/env ansible-playbook +--- +- hosts: debian + vars: + home: '{{ glob_home | combine(loc_home | default({})) }}' + roles: + - home diff --git a/roles/home/README.md b/roles/home/README.md new file mode 100644 index 0000000..80dddb9 --- /dev/null +++ b/roles/home/README.md @@ -0,0 +1,8 @@ +# HOME-NOUNOUS + +Ce rôle permet d'exporter les homes vers les différents serveurs. + +## VARS + +home_nounous: + ip: l'ip du serveur nfs diff --git a/roles/home/tasks/main.yml b/roles/home/tasks/main.yml new file mode 100644 index 0000000..68262d8 --- /dev/null +++ b/roles/home/tasks/main.yml @@ -0,0 +1,31 @@ +--- +- name: Install NFS client + apt: + update_cache: true + name: + - nfs-common + state: present + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Create directory home + file: + path: /home + state: directory + owner: root + group: user + mode: 0750 + +- name: Deploy nfs systemd mount + template: + src: systemd/system/home.mount.j2 + dest: /etc/systemd/system/home.mount + mode: 0644 + +- name: Load and activate nfs systemd mount + systemd: + name: home.mount + daemon_reload: true + enabled: true + state: started diff --git a/roles/home/templates/systemd/system/home.mount.j2 b/roles/home/templates/systemd/system/home.mount.j2 new file mode 100644 index 0000000..511baeb --- /dev/null +++ b/roles/home/templates/systemd/system/home.mount.j2 @@ -0,0 +1,14 @@ +{{ ansible_header | comment }} +[Unit] +Description=Mount home +Wants=network-online.target +After=network-online.target + +[Mount] +What={{ home.ip }}:{{ home.mountpoint }} +Where=/home +Type=nfs +Options=rw,nosuid + +[Install] +WantedBy=multi-user.target