Add service role
This commit is contained in:
64
roles/service/tasks/mounts.yml
Normal file
64
roles/service/tasks/mounts.yml
Normal file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
|
||||
- name: Create directories and put files in them
|
||||
when: create_mounts_directory
|
||||
block:
|
||||
- name: Define mount directory owner
|
||||
set_fact:
|
||||
mount_owner: "{{ user.uid if docker_host_user else image_user }}"
|
||||
mount_group: "{{ user.group if docker_host_user else '' }}"
|
||||
|
||||
- name: "Create docker bind mount directories for {{ docker_service_name }}"
|
||||
file:
|
||||
path: "{{ docker_mounts_dir }}/{{ item.name }}"
|
||||
state: directory
|
||||
owner: "{{ mount_owner if (item.set_owner is not defined or item.set_owner) and mount_owner | length > 0 else omit }}"
|
||||
group: "{{ mount_group if (item.set_group is not defined or item.set_group) and mount_group | length > 0 else omit }}"
|
||||
mode: "{{ item.mode | default('0755') }}"
|
||||
when: item.name is defined and docker_volume_type == 'bind'
|
||||
loop: "{{ docker_mounts }}"
|
||||
- name: Set docker_mount_definition for named binds
|
||||
set_fact:
|
||||
docker_mount_definition: "{{ docker_mount_definition + [{'source': docker_mounts_dir + '/' + item.name, 'target': item.path, 'type': 'bind', 'read_only': item.readonly | default(false)}] }}"
|
||||
when: item.name is defined and docker_volume_type == 'bind'
|
||||
loop: "{{ docker_mounts }}"
|
||||
|
||||
- name: Template docker template mounts for {{ docker_service_name }}
|
||||
template:
|
||||
src: "{{ item.template }}.j2"
|
||||
dest: "{{ docker_mounts_dir }}/{{ item.template }}"
|
||||
mode: "{{ item.mode | default('0644') }}"
|
||||
when: item.template is defined
|
||||
loop: "{{ docker_mounts }}"
|
||||
notify: Restart container
|
||||
- name: Set docker_mount_definition for template mounts
|
||||
set_fact:
|
||||
docker_mount_definition: "{{ docker_mount_definition + [{'source': docker_mounts_dir + '/' + item.template, 'target': item.path, 'type': 'bind', 'read_only': true}] }}"
|
||||
when: item.template is defined
|
||||
loop: "{{ docker_mounts }}"
|
||||
|
||||
- name: Copy docker copypath mounts for {{ docker_service_name }}
|
||||
copy:
|
||||
src: "files/{{ item.copypath }}"
|
||||
dest: "{{ docker_mounts_dir }}/"
|
||||
mode: "{{ item.mode | default('0755') }}"
|
||||
when: item.copypath is defined
|
||||
loop: "{{ docker_mounts }}"
|
||||
notify: Restart container
|
||||
- name: Set docker_mount_definition for copypath mounts
|
||||
set_fact:
|
||||
docker_mount_definition: "{{ docker_mount_definition + [{'source': docker_mounts_dir + '/' + item.copypath, 'target': item.path, 'type': 'bind', 'read_only': true}] }}"
|
||||
when: item.copypath is defined
|
||||
loop: "{{ docker_mounts }}"
|
||||
|
||||
- name: Set docker_mount_definition for named volumes
|
||||
set_fact:
|
||||
docker_mount_definition: "{{ docker_mount_definition + [{'source': docker_namespace + ('-' + docker_service_suffix if docker_service_suffix | length > 0 else '') + '-' + item.name, 'target': item.path, 'type': 'volume', 'read_only': item.readonly | default(false)}] }}"
|
||||
when: docker_volume_type == 'named' and item.name is defined
|
||||
loop: "{{ docker_mounts }}"
|
||||
|
||||
- name: Set docker_mount_definition for src binds
|
||||
set_fact:
|
||||
docker_mount_definition: "{{ docker_mount_definition + [{'source': item.src, 'target': item.path, 'type': 'bind', 'read_only': item.readonly | default(false)}] }}"
|
||||
when: item.src is defined
|
||||
loop: "{{ docker_mounts }}"
|
||||
Reference in New Issue
Block a user