xoxys.smb/tasks/main.yml

36 lines
1.1 KiB
YAML

---
- name: Install requirements
ansible.builtin.package:
name: "{{ item }}"
state: present
loop: "{{ smb_packages }}"
- name: Ensure credentials folder exist
ansible.builtin.file:
path: /root/.smbcredentials
owner: root
group: root
mode: "0600"
state: directory
- name: Create secrets file
ansible.builtin.template:
src: "smbcredentials.j2"
dest: "/root/.smbcredentials/{{ item.name }}"
mode: "0600"
loop: "{{ smb_shares }}"
loop_control:
label: "/root/.smbcredentials/{{ item.name }}"
when: item.password is defined and item.password
- name: Mount volume
ansible.posix.mount:
path: "{{ item.mountpoint }}"
src: "{{ item.source }}"
fstype: "cifs"
opts: "{{ ((item.mountopts | default([])) if not (item.password is defined and item.password) else ((item.mountopts | default([])) + ['credentials=/root/.smbcredentials/' + item.name])) | join(',') }}"
state: "{{ item.state | default('mounted') }}"
loop: "{{ smb_shares }}"
loop_control:
label: "mount: {{ item.source }} {{ item.mountpoint }} cifs {% if item.mountopts is defined %}{{ item.mountopts | join(',') }}{% endif %}"