42 lines
1.4 KiB
YAML
42 lines
1.4 KiB
YAML
---
|
|
- name: Validate inputs
|
|
ansible.builtin.import_tasks: validation.yaml
|
|
|
|
- name: Initialize variables
|
|
ansible.builtin.set_fact:
|
|
_service_container_mounts: []
|
|
_service_container_requires: "{{ service_requires }}"
|
|
|
|
- name: Databse for {{ service_name }}
|
|
ansible.builtin.include_tasks: database.yaml
|
|
when: "service_database_type != 'none'"
|
|
|
|
- name: Secrets for {{ service_name }}
|
|
ansible.builtin.include_tasks: secrets.yaml
|
|
when: service_container_secrets | length > 0
|
|
|
|
- name: Mounts for {{ service_name }}
|
|
ansible.builtin.include_tasks: mounts.yaml
|
|
when: service_container_mounts | length > 0
|
|
|
|
- name: Main container for {{ service_name }}
|
|
ansible.builtin.import_role:
|
|
name: container
|
|
vars:
|
|
container_name: "{{ service_name }}"
|
|
container_image: "{{ service_container_image }}"
|
|
container_user: "{{ service_container_user }}"
|
|
container_mounts: "{{ _service_container_mounts }}"
|
|
container_publish_ports: "{{ service_container_publish_ports }}"
|
|
container_networks:
|
|
- "{{ service_name }}"
|
|
container_secrets: "{{ _service_container_secrets }}"
|
|
container_env: "{{ service_container_env }}"
|
|
container_requires: "{{ _service_container_requires }}"
|
|
container_wants: "{{ _service_container_wants }}"
|
|
container_auto_update: "{{ service_auto_update }}"
|
|
|
|
- name: Reverse proxy for {{ service_name }}
|
|
ansible.builtin.include_tasks: proxy.yaml
|
|
when: service_domains | length > 0
|