51 lines
1.8 KiB
YAML
51 lines
1.8 KiB
YAML
---
|
|
- 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: templates.yaml
|
|
when: _service_template_mounts | length > 0
|
|
|
|
- name: Additional containers for {{ service_name }}
|
|
ansible.builtin.include_tasks: additional.yaml
|
|
when: _service_additional_containers | 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_image_creds: "{{ service_container_image_creds }}"
|
|
container_command: "{{ service_container_command }}"
|
|
container_user: "{{ service_container_user }}"
|
|
container_mounts: "{{ _service_container_mounts }}"
|
|
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_requires: "{{ _service_container_requires }}"
|
|
container_wants: "{{ _service_container_wants }}"
|
|
container_auto_update: "{{ service_auto_update }}"
|
|
|
|
- name: Socat for {{ service_name }}
|
|
ansible.builtin.include_tasks: socat.yaml
|
|
when: service_container_http_port > 0
|
|
|
|
- name: Reverse proxy for {{ service_name }}
|
|
ansible.builtin.include_tasks: proxy.yaml
|
|
when: service_domains | length > 0
|