Files
computer-playbook/roles/web-app-taiga/templates/compose.yml.j2

155 lines
7.4 KiB
Django/Jinja

{% include 'roles/sys-svc-compose/templates/base.yml.j2' %}
{% set TAIGA_BACKEND_AUTH_BUILD_PROPS -%}
build:
context: "{{ compose_repository_path }}"
dockerfile: Dockerfile.taiga-back
{{ lookup('container_image', application_id, 'taiga', image=entity_name ~ '-back-auth', version=TAIGA_VERSION) }}
{{ lookup('compose_only', 'pull_policy', 'never') }}
{%- endset %}
{% set service_name = TAIGA_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER) }}
hostname: {{ TAIGA_HOSTNAME }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{% if TAIGA_PLUGINS_ENABLED | bool %}
{{ TAIGA_BACKEND_AUTH_BUILD_PROPS | indent(4, true) }}
entrypoint: ["/bin/sh", "-c"]
command:
- "if ! grep -qF {{ TAIGA_CONFIG_APPEND_MARKER | quote }} /taiga-back/settings/config.py; then cat {{ lookup('volume', 'web-app-taiga', 'config-append').target }} >> /taiga-back/settings/config.py; fi; exec /taiga-back/docker/entrypoint.sh"
{% else %}
{{ lookup('container_image', application_id, 'taiga', image='taigaio/taiga-back', version=TAIGA_VERSION) }}
{% endif %}
{{ lookup('container_volumes', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{{ lookup('container_depends_on', application_id, extra={
TAIGA_EVENTS_RABBITMQ_SERVICE: {'condition': 'service_started'},
TAIGA_ASYNC_RABBITMQ_SERVICE: {'condition': 'service_started'},
}) | indent(4) }}
{% set service_name = TAIGA_ASYNC_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{% if TAIGA_PLUGINS_ENABLED | bool %}
{{ TAIGA_BACKEND_AUTH_BUILD_PROPS | indent(4, true) }}
entrypoint: ["/bin/sh", "-c"]
command:
- "if ! grep -qF {{ TAIGA_CONFIG_APPEND_MARKER | quote }} /taiga-back/settings/config.py; then cat {{ lookup('volume', 'web-app-taiga', 'config-append').target }} >> /taiga-back/settings/config.py; fi; exec /taiga-back/docker/async_entrypoint.sh"
{% else %}
{{ lookup('container_image', application_id, 'async', image='taigaio/taiga-back', version=TAIGA_VERSION) }}
entrypoint: ["/taiga-back/docker/async_entrypoint.sh"]
{% endif %}
{{ lookup('container_volumes', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{{ lookup('container_depends_on', application_id, extra={
TAIGA_SERVICE: {'condition': 'service_started'},
TAIGA_EVENTS_RABBITMQ_SERVICE: {'condition': 'service_started'},
TAIGA_ASYNC_RABBITMQ_SERVICE: {'condition': 'service_started'},
}) | indent(4) }}
{% set service_name = TAIGA_ASYNC_RABBITMQ_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{{ lookup('container_image', application_id, 'async-rabbitmq') }}
hostname: "{{ TAIGA_ASYNC_RABBITMQ_SERVICE }}"
{{ lookup('container_volumes', service_name) | indent(4) }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{% set service_name = TAIGA_FRONT_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{% if TAIGA_OIDC_ENABLED | bool %}
build:
context: "{{ compose_repository_path }}"
dockerfile: Dockerfile.taiga-front
{{ lookup('container_image', application_id, 'front', image=entity_name ~ '-front-oidc', version=TAIGA_VERSION) }}
{{ lookup('compose_only', 'pull_policy', 'never') }}
{% else %}
{{ lookup('container_image', application_id, 'front', image='taigaio/taiga-front', version=TAIGA_VERSION) }}
{% endif %}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{{ lookup('container_volumes', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{% set service_name = TAIGA_EVENTS_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{{ lookup('container_image', application_id, 'events') }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{{ lookup('depends_on', {TAIGA_EVENTS_RABBITMQ_SERVICE: 'service_started'}) }}
{% set service_name = TAIGA_EVENTS_RABBITMQ_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{{ lookup('container_image', application_id, 'events-rabbitmq') }}
hostname: {{ service_name }}
{{ lookup('container_volumes', service_name) | indent(4) }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{% set service_name = TAIGA_PROTECTED_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{{ lookup('container_image', application_id, 'protected') }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{% set service_name = 'gateway' %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_CONTAINER ~ '-' ~ service_name) }}
{{ lookup('container_image', application_id, 'gateway') }}
{{ lookup('container_ports', ['taiga', 'http', DOCKER_BIND_HOST]) | indent(4) }}
{{ lookup('container_volumes', service_name) | indent(4) }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_healthcheck', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{{ lookup('depends_on', [TAIGA_FRONT_SERVICE, TAIGA_SERVICE, TAIGA_EVENTS_SERVICE]) }}
{% set service_name = TAIGA_MANAGER_SERVICE %}
{{ service_name }}:
{{ lookup('compose_only', 'container_name', TAIGA_MANAGER_CONTAINER) }}
{% include 'roles/sys-svc-container/templates/base.yml.j2' %}
{{ lookup('container_image', application_id, 'manager', image='taigaio/taiga-back', version=TAIGA_VERSION) }}
environment:
CELERY_ENABLED: "False"
entrypoint: ["sleep", "infinity"]
{{ lookup('container_depends_on', application_id, extra={
TAIGA_SERVICE: {'condition': 'service_started'},
}) | indent(4) }}
{{ lookup('container_volumes', service_name) | indent(4) }}
{{ lookup('container_extra_hosts') | indent(4) }}
{{ lookup('container_networks') | indent(4) }}
taiga:
{{ lookup('compose_volumes') }}
{{ lookup('compose_networks') }}
taiga: