Create managed StorageBox directories from Ansible and document the precipitation image bind mount required by the test Swarm deployment.
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
---
|
|
- 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=root,gid=root 0 0"
|
|
state: present
|
|
|
|
- name: Mount StorageBox
|
|
ansible.builtin.mount:
|
|
path: "{{ storagebox_mount_point }}"
|
|
src: "{{ storagebox_url }}"
|
|
fstype: davfs
|
|
opts: "_netdev,auto,user,rw,uid=root,gid=root"
|
|
state: mounted
|
|
|
|
- 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([]) }}"
|