Files
computer-playbook/roles/sys-svc-rdbms/templates/services/mariadb.yml.j2
Kevin Veen-Birkenbach c0980e91c0 Fix CI Docker-in-Docker deployment, introduce vfs storage-driver, add inner dockerd bootstrap, enable portable json-file logging when running inside a container, and update workflow triggers for multi-branch testing.
Includes:
- Rewrite of test-deploy workflow to use isolated inner dockerd with privileged mode.
- Switch logging drivers to 'json-file' when IS_CONTAINER=true for compatibility with non-systemd CI runners.
- Adjust Dockerfile to install docker CLI and simplify package setup.
- Improve inventory creation and deploy steps for CI stability.
- Fully compatible with Ansible 2.20 variable handling.

Conversation reference:
https://chatgpt.com/share/6930e285-9604-800f-aad8-7a81c928548c
2025-12-04 02:24:10 +01:00

23 lines
879 B
Django/Jinja

{# This template needs to be included in docker-compose.yml, which depend on a mariadb database #}
{% if not applications | get_app_conf(application_id, 'features.central_database', False) %}
{{ database_host }}:
container_name: {{ application_id | get_entity_name }}-database
logging:
driver: {{ "json-file" if IS_CONTAINER | bool else 'journald' }}
image: {{ database_image }}:{{ database_version }}
restart: {{ DOCKER_RESTART_POLICY }}
env_file:
- {{ database_env }}
command: "--transaction-isolation=READ-COMMITTED --binlog-format=ROW"
volumes:
- database:/var/lib/mysql
healthcheck:
test: [ "CMD", "sh", "-c", "/usr/bin/mariadb --user=$$MYSQL_USER --password=$$MYSQL_PASSWORD --execute 'SHOW DATABASES;'" ]
interval: 10s
timeout: 5s
retries: 18
networks:
- default
{% endif %}
{{ "\n" }}