--- - name: Validate inputs ansible.builtin.import_tasks: validation.yaml - name: Database for {{ service_name }} ansible.builtin.include_tasks: database.yaml when: _service_setup_database - name: Redis for {{ service_name }} ansible.builtin.include_tasks: redis.yaml when: service_redis - name: Secrets for {{ service_name }} ansible.builtin.include_tasks: secrets.yaml when: _service_container_secrets | length > 0 - name: Template mounts for {{ service_name }} ansible.builtin.include_tasks: host_mounts.yaml when: (_service_all_template_mounts + _service_all_copy_mounts) | length > 0 - name: Additional containers for {{ service_name }} ansible.builtin.include_tasks: additional.yaml when: _service_additional_containers | length > 0 - name: Native socket for {{ service_name }} ansible.builtin.include_role: name: uumas.general.systemd_socket vars: systemd_socket_name: "{{ service_name }}" systemd_socket_requires: - "{{ service_name }}.service" when: _service_native_socket - name: Main container for {{ service_name }} ansible.builtin.import_role: name: container vars: container_name: "{{ service_name }}" container_image: "{{ service_container_image }}" container_command: "{{ service_container_command }}" container_entrypoint: "{{ service_container_entrypoint }}" container_user: "{{ service_container_user }}" container_mounts: "{{ _service_container_mounts }}" container_devices: "{{ service_container_devices }}" container_publish_ports: "{{ _service_container_publish_ports }}" container_networks: "{{ _service_container_networks }}" container_ip: "{{ service_container_ip }}" container_secrets: "{{ _service_container_secrets }}" container_env: "{{ service_container_env }}" container_add_capabilities: "{{ service_container_add_capabilities }}" container_requires: "{{ _service_container_requires }}" container_wants: "{{ _service_container_wants }}" container_auto_update: "{{ service_auto_update }}" - name: Socat for http of {{ service_name }} ansible.builtin.include_role: name: socat when: service_container_http_port > 0 vars: socat_service_name: "{{ service_name }}" socat_target_http_port: "{{ service_container_http_port }}" socat_container_ip: >- {{ service_container_ip | ansible.utils.ipmath(3) if _service_static_ip else '' }} socat_auto_update: "{{ service_auto_update }}" - name: Socat for socket published ports of {{ service_name }} ansible.builtin.include_role: name: socat loop: "{{ _service_container_publish_socket_ports }}" loop_control: loop_var: publish_port vars: socat_service_name: "{{ service_name }}-{{ publish_port.name }}" socat_target_container: "{{ service_name }}" socat_target_http_port: "{{ publish_port.container_port }}" socat_auto_update: "{{ service_auto_update }}" - name: Reverse proxy for {{ service_name }} ansible.builtin.include_tasks: proxy.yaml when: service_domains | length > 0