59 lines
2.8 KiB
YAML
59 lines
2.8 KiB
YAML
---
|
|
|
|
- name: Reset variables
|
|
set_fact:
|
|
docker_volume_definition: []
|
|
container_published_ports: []
|
|
docker_volumes_new: []
|
|
final_docker_volumes: "{{ docker_volumes }}"
|
|
container_image: ''
|
|
container_networks: []
|
|
|
|
- name: Warn about docker_volumes legacy format
|
|
debug:
|
|
msg: "docker_volumes is deprecated. This support may be removed after december 2022. Use docker_mounts instead!"
|
|
when: docker_volumes | length > 0
|
|
|
|
- name: Convert docker_volumes from legacy format (DEPRECATED)
|
|
when: docker_volumes | length > 0 and docker_volumes[0] is not mapping
|
|
block:
|
|
- name: Add legacy docker volumes to docker_volumes_new using the new format
|
|
set_fact:
|
|
docker_volumes_new: "{{ docker_volumes_new | default([]) + [{'name': item.split(':')[0] | regex_replace('^' + docker_service_name + '_', ''), 'path': item.split(':')[1]}] }}"
|
|
when: "'/' not in item.split(':')[0]"
|
|
loop: "{{ docker_volumes }}"
|
|
- name: Add legacy docker src bind mounts to docker_volumes_new using the new format
|
|
set_fact:
|
|
docker_volumes_new: "{{ docker_volumes_new | default([]) + [{'src': item.split(':')[0], 'path': item.split(':')[1]}] }}"
|
|
when: "'/' in item.split(':')[0]"
|
|
loop: "{{ docker_volumes }}"
|
|
- name: Set final_docker_volumes variable
|
|
set_fact:
|
|
final_docker_volumes: "{{ docker_volumes_new }}"
|
|
|
|
- name: Convert final_docker_volumes to docker_mounts (DEPRECATED)
|
|
set_fact:
|
|
docker_mounts: "{{ final_docker_volumes }}"
|
|
when: docker_mounts | length == 0 and final_docker_volumes | length > 0
|
|
|
|
- name: Set assistive variables
|
|
set_fact:
|
|
template_mounts_needed: "{{ docker_mounts | selectattr('template', 'defined') | list | length > 0 }}"
|
|
copypath_mounts_needed: "{{ docker_mounts | selectattr('copypath', 'defined') | list | length > 0 }}"
|
|
volumes_needed: "{{ docker_mounts | selectattr('name', 'defined') | list | length > 0 or docker_database != 'none' }}"
|
|
dockerfile_needed: "{{ dockerfile | length > 0 }}"
|
|
db_config_mounts_needed: "{{ docker_mariadb_config | length > 0 }}"
|
|
- name: Set more assistive variables
|
|
set_fact:
|
|
bind_volumes_needed: "{{ volumes_needed and docker_volume_type == 'bind' }}"
|
|
named_volumes_needed: "{{ volumes_needed and docker_volume_type == 'named' }}"
|
|
- name: Set even more assistive variables
|
|
set_fact:
|
|
create_opt_directory: "{{ dockerfile_needed or docker_host_user or bind_volumes_needed or template_mounts_needed or copypath_mounts_needed or db_config_mounts_needed }}"
|
|
create_mounts_directory: "{{ bind_volumes_needed or template_mounts_needed or copypath_mounts_needed or db_config_mounts_needed }}"
|
|
|
|
- name: Set docker service full name
|
|
set_fact:
|
|
docker_service_name: "{{ docker_service }}_{{ docker_service_suffix }}"
|
|
when: docker_service_suffix is defined
|