Add an autofs role for mounting removable media automatically on FreeBSD.
This commit is contained in:
parent
f3c65defb7
commit
94b2f3846f
@ -2,25 +2,26 @@
|
||||
vars:
|
||||
ansible_become: True
|
||||
roles:
|
||||
- sudo
|
||||
- users
|
||||
- package_manager
|
||||
- zrepl
|
||||
- zsh
|
||||
- network
|
||||
- sshd
|
||||
- base
|
||||
- firewall
|
||||
- cpu
|
||||
- ntp
|
||||
- build
|
||||
- graphics
|
||||
- gpg
|
||||
- fonts
|
||||
- alacritty
|
||||
- sway
|
||||
- emacs
|
||||
- firefox
|
||||
- devfs
|
||||
- ssh_client
|
||||
- jail
|
||||
# - sudo
|
||||
# - users
|
||||
# - package_manager
|
||||
# - zrepl
|
||||
# - zsh
|
||||
# - network
|
||||
# - sshd
|
||||
# - base
|
||||
# - firewall
|
||||
# - cpu
|
||||
# - ntp
|
||||
# - build
|
||||
# - graphics
|
||||
# - gpg
|
||||
# - fonts
|
||||
# - alacritty
|
||||
# - sway
|
||||
# - emacs
|
||||
# - firefox
|
||||
# - devfs
|
||||
# - ssh_client
|
||||
# - jail
|
||||
- autofs
|
||||
|
11
ansible/roles/autofs/files/auto_master
Normal file
11
ansible/roles/autofs/files/auto_master
Normal file
@ -0,0 +1,11 @@
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Automounter master map, see auto_master(5) for details.
|
||||
#
|
||||
/net -hosts -nobrowse,nosuid,intr
|
||||
# When using the -media special map, make sure to edit devd.conf(5)
|
||||
# to move the call to "automount -c" out of the comments section.
|
||||
/media -media -nosuid,noatime,autoro
|
||||
#/- -noauto
|
||||
|
||||
# /mtp -simple-mtpfs -allow_other
|
6
ansible/roles/autofs/files/autofs_devd.conf
Normal file
6
ansible/roles/autofs/files/autofs_devd.conf
Normal file
@ -0,0 +1,6 @@
|
||||
# Discard autofs caches, useful for the -media special map.
|
||||
notify 100 {
|
||||
match "system" "GEOM";
|
||||
match "subsystem" "DEV";
|
||||
action "/usr/sbin/automount -c";
|
||||
};
|
1
ansible/roles/autofs/files/autofs_loader.conf
Normal file
1
ansible/roles/autofs/files/autofs_loader.conf
Normal file
@ -0,0 +1 @@
|
||||
autofs_load=YES
|
1
ansible/roles/autofs/files/automount_rc.conf
Normal file
1
ansible/roles/autofs/files/automount_rc.conf
Normal file
@ -0,0 +1 @@
|
||||
autofs_enable="YES"
|
14
ansible/roles/autofs/tasks/common.yaml
Normal file
14
ansible/roles/autofs/tasks/common.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
- import_tasks: tasks/freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
||||
|
||||
- include_tasks:
|
||||
file: tasks/peruser.yaml
|
||||
apply:
|
||||
become: yes
|
||||
become_user: "{{ initialize_user }}"
|
||||
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
|
||||
loop_control:
|
||||
loop_var: initialize_user
|
50
ansible/roles/autofs/tasks/freebsd.yaml
Normal file
50
ansible/roles/autofs/tasks/freebsd.yaml
Normal file
@ -0,0 +1,50 @@
|
||||
- name: Install service configuration
|
||||
copy:
|
||||
src: "files/{{ item }}_rc.conf"
|
||||
dest: "/etc/rc.conf.d/{{ item }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- automount
|
||||
|
||||
- name: Install Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: auto_master
|
||||
dest: /etc/auto_master
|
||||
|
||||
- name: Install loader.conf
|
||||
copy:
|
||||
src: "files/{{ item }}_loader.conf"
|
||||
dest: "/boot/loader.conf.d/{{ item }}.conf"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- autofs
|
||||
|
||||
- name: Create directories
|
||||
file:
|
||||
name: "{{ item }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- /usr/local/etc/devd
|
||||
|
||||
- name: Install devd Configuration
|
||||
copy:
|
||||
src: "files/{{ item.src }}_devd.conf"
|
||||
dest: "/usr/local/etc/devd/{{ item.dest|default(item.src) }}.conf"
|
||||
mode: 0644
|
||||
owner: root
|
||||
group: wheel
|
||||
loop:
|
||||
- src: autofs
|
6
ansible/roles/autofs/tasks/linux.yaml
Normal file
6
ansible/roles/autofs/tasks/linux.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
# - name: Install packages
|
||||
# pacman:
|
||||
# name:
|
||||
# - foo
|
||||
# state: present
|
||||
# update_cache: true
|
1
ansible/roles/autofs/tasks/main.yaml
Normal file
1
ansible/roles/autofs/tasks/main.yaml
Normal file
@ -0,0 +1 @@
|
||||
- import_tasks: tasks/common.yaml
|
29
ansible/roles/autofs/tasks/peruser.yaml
Normal file
29
ansible/roles/autofs/tasks/peruser.yaml
Normal file
@ -0,0 +1,29 @@
|
||||
- include_role:
|
||||
name: per_user
|
||||
|
||||
# - name: Create directories
|
||||
# file:
|
||||
# name: "{{ account_homedir.stdout }}/{{ item }}"
|
||||
# state: directory
|
||||
# mode: 0700
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - ".config/foo"
|
||||
|
||||
# - name: Copy files
|
||||
# copy:
|
||||
# src: "files/{{ item.src }}"
|
||||
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
|
||||
# mode: 0600
|
||||
# owner: "{{ account_name.stdout }}"
|
||||
# group: "{{ group_name.stdout }}"
|
||||
# loop:
|
||||
# - src: foo.conf
|
||||
# dest: .config/foo/foo.conf
|
||||
|
||||
- import_tasks: tasks/peruser_freebsd.yaml
|
||||
when: 'os_flavor == "freebsd"'
|
||||
|
||||
- import_tasks: tasks/peruser_linux.yaml
|
||||
when: 'os_flavor == "linux"'
|
0
ansible/roles/autofs/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/autofs/tasks/peruser_freebsd.yaml
Normal file
0
ansible/roles/autofs/tasks/peruser_linux.yaml
Normal file
0
ansible/roles/autofs/tasks/peruser_linux.yaml
Normal file
Loading…
Reference in New Issue
Block a user