Files
computer-playbook/roles/svc-db-mariadb/vars
Kevin Veen-Birkenbach 379b1d420e Refactor MariaDB and PostgreSQL roles for Ansible 2.20 compatibility and Infinito.Nexus conventions
- Replace legacy docker_container-based MariaDB deployment with docker-compose based workflow
- Add custom Dockerfile and docker-compose templates for MariaDB
- Split MariaDB command into separate arguments to avoid entrypoint parsing errors
- Introduce MARIADB_CUSTOM_IMAGE and MARIADB_EXPOSE_LOCAL variables
- Add docker_compose_flush_handlers to ensure correct handler execution on first run
- Replace utils/once/finalize.yml with utils/once/flag.yml for new run-once semantics
- Align variable naming with Infinito.Nexus UPPERCASE conventions
- Fix PostgreSQL custom image variable name (POSTGRES_CUSTOM_IMAGE_NAME → POSTGRES_CUSTOM_IMAGE)
- Remove obsolete flush_handlers var injection in svc-db-postgres/tasks/main.yml
- General cleanup after migration from Ansible 2.18 → 2.20

Conversation reference:
https://chatgpt.com/share/69306c81-9934-800f-b317-f53a8f246a73
2025-12-03 18:00:30 +01:00
..

vars/

This directory contains variable definition files for the svc-db-mariadb Ansible role. It centralizes all configurable values related to MariaDB deployment and can be adjusted without modifying task logic.


files and their purpose

1. config/main.yml

Contains configuration values that determine which Docker image version to use and what hostname the container will be registered under.

  • version (string):

    • Default: "latest"
    • The MariaDB image tag to pull (e.g. 10.6, 10.11, or latest).
  • hostname (string):

    • Default: "central-mariadb"
    • The container name and DNS alias within the central_mariadb network. Used by other services (like Moodle) to connect.

Tip: Pin to a specific minor version (e.g., 10.6.12) in production to avoid breaking changes on rebuilds.


2. main.yml

Minimal file defining the application identifier for the role.

  • application_id (string):

    • Default: "mariadb"
    • Logical name used in templates, notifications, or paths when multiple roles/services may coexist.