--- - name: Install davfs2 ansible.builtin.dnf: name: davfs2 state: present - name: Configure davfs2 secrets ansible.builtin.lineinfile: path: /etc/davfs2/secrets line: "{{ storagebox_url }} {{ storagebox_user }} {{ storagebox_password }}" create: yes mode: "0600" owner: root group: root - name: Create mount point ansible.builtin.file: path: "{{ storagebox_mount_point }}" state: directory mode: "0755" - name: Add fstab entry for StorageBox ansible.builtin.lineinfile: path: /etc/fstab line: "{{ storagebox_url }} {{ storagebox_mount_point }} davfs _netdev,auto,user,rw,uid={{ storagebox_uid | default('root') }},gid={{ storagebox_gid | default('root') }}{% if storagebox_dir_mode is defined %},dir_mode={{ storagebox_dir_mode }}{% endif %}{% if storagebox_file_mode is defined %},file_mode={{ storagebox_file_mode }}{% endif %} 0 0" regexp: "^{{ storagebox_url | regex_escape() }}" state: present notify: - Reload systemd - refresh storagebox mount - name: Mount StorageBox ansible.builtin.mount: path: "{{ storagebox_mount_point }}" src: "{{ storagebox_url }}" fstype: davfs opts: "_netdev,auto,user,rw,uid={{ storagebox_uid | default('root') }},gid={{ storagebox_gid | default('root') }}{% if storagebox_dir_mode is defined %},dir_mode={{ storagebox_dir_mode }}{% endif %}{% if storagebox_file_mode is defined %},file_mode={{ storagebox_file_mode }}{% endif %}" state: mounted notify: - refresh storagebox mount - name: Write mount marker ansible.builtin.copy: content: "mounted by ansible" dest: "{{ storagebox_mount_point }}/.mounted_marker" mode: '0644' - name: Create managed StorageBox directories ansible.builtin.file: path: "{{ item.path }}" state: directory owner: "{{ item.owner | default(omit) }}" group: "{{ item.group | default(omit) }}" mode: "{{ item.mode | default('0755') }}" loop: "{{ storagebox_managed_directories | default([]) }}" notify: "refresh storagebox mount"