Files
ansible-docker/roles/service/tasks/init.yml
2024-07-28 01:12:26 +03:00

64 lines
3.0 KiB
YAML

---
- name: Fail if docker_volumes defined
ansible.builtin.fail:
msg: "docker_volumes is not supported anymore. Use docker_mounts instead!"
when: docker_volumes is defined
- name: Store variables to be reset in the end
ansible.builtin.set_fact:
_docker_service_name: "{{ docker_service_name }}"
_docker_mount_definition: "{{ docker_mount_definition }}"
_container_published_ports: "{{ container_published_ports }}"
_container_image: "{{ container_image }}"
_container_networks: "{{ container_networks }}"
_template_mounts_needed: "{{ template_mounts_needed }}"
_copypath_mounts_needed: "{{ copypath_mounts_needed }}"
_volumes_needed: "{{ volumes_needed }}"
_dockerfile_needed: "{{ dockerfile_needed }}"
_db_config_mounts_needed: "{{ db_config_mounts_needed }}"
_bind_volumes_needed: "{{ bind_volumes_needed }}"
_named_volumes_needed: "{{ named_volumes_needed }}"
_create_opt_directory: "{{ create_opt_directory }}"
_create_mounts_directory: "{{ create_mounts_directory }}"
_docker_service_underscore_name: "{{ docker_service_underscore_name }}"
_image_user: "{{ image_user }}"
when: create_mounts_directory is defined
- name: Initialize variables
ansible.builtin.set_fact:
_docker_namespace: "{{ docker_namespace }}"
docker_service_name: "{{ docker_namespace }}"
docker_mount_definition: []
container_published_ports: []
container_image: ''
image_user: ''
container_networks: []
- name: Add suffix to docker_service_name
ansible.builtin.set_fact:
docker_service_name: "{{ docker_service_name }}-{{ docker_service_suffix }}"
when: docker_service_suffix | length > 0
- name: Add docker_service to docker_service_name
ansible.builtin.set_fact:
docker_service_name: "{{ docker_service_name }}-{{ docker_service }}"
when: docker_namespace != docker_service
- name: Set assistive variables
set_fact:
docker_service_underscore_name: "{{ docker_service_name | replace('-', '_') }}"
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 }}"