Solved database feature naming bug

This commit is contained in:
Kevin Veen-Birkenbach 2025-05-09 19:00:01 +02:00
parent e7c193f409
commit 27bfee2438
No known key found for this signature in database
GPG Key ID: 44D8F11FD62F878E
19 changed files with 26 additions and 24 deletions

View File

@ -5,6 +5,8 @@
msg: |
database_instance: "{{ database_instance | default('undefined') }}"
database_name: "{{ database_name | default('undefined') }}"
database_type: "{{ database_type | default('undefined') }}"
database_host: "{{ database_host | default('undefined') }}"
database_username: "{{ database_username | default('undefined') }}"
database_password: "{{ database_password | default('undefined') }}"
when: enable_debug | bool

View File

@ -16,12 +16,12 @@
src: "env/{{database_type}}.env.j2"
dest: "{{database_env}}"
notify: docker compose project build and setup
when: not applications[application_id].features.database | bool
when: not applications | is_feature_enabled('central_database',application_id)
- name: "Create central database"
include_role:
name: "docker-{{database_type}}"
when: applications[application_id].features.database | bool
when: applications | is_feature_enabled('central_database',application_id)
- name: "Add database to backup"
include_tasks: "{{ playbook_dir }}/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml"

View File

@ -1,5 +1,5 @@
# This template needs to be included in docker-compose.yml, which depend on a mariadb database
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
database:
container_name: {{application_id}}-database
logging:

View File

@ -1,5 +1,5 @@
# This template needs to be included in docker-compose.yml, which depend on a postgres database
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
database:
image: postgres:{{applications.postgres.version}}-alpine
container_name: {{application_id}}-database

View File

@ -1,5 +1,5 @@
database_instance: "{{ 'central-' + database_type if applications[application_id].features.database | bool else application_id }}"
database_host: "{{ 'central-' + database_type if applications[application_id].features.database | bool else 'database' }}"
database_instance: "{{ 'central-' + database_type if applications | is_feature_enabled('central_database',application_id) else application_id }}"
database_host: "{{ 'central-' + database_type if applications | is_feature_enabled('central_database',application_id) else 'database' }}"
database_name: "{{ applications[application_id].credentials.database.name | default( application_id ) }}" # The overwritte configuration is needed by bigbluebutton
database_username: "{{ applications[application_id].credentials.database.username | default( application_id )}}" # The overwritte configuration is needed by bigbluebutton
database_port: "{{ 3306 if database_type == 'mariadb' else 5432 }}"

View File

@ -11,7 +11,7 @@
command:
cmd: "docker network connect {{applications.discourse.network}} central-{{ database_type }}"
ignore_errors: true
when: applications[application_id].features.database | bool
when: applications | is_feature_enabled('central_database',application_id)
listen: recreate discourse
- name: rebuild discourse

View File

@ -83,7 +83,7 @@
cmd: "docker network connect central_postgres {{applications.discourse.container}}"
ignore_errors: true
when:
- applications[application_id].features.database | bool
- applications | is_feature_enabled('central_database',application_id)
- run_once_docker_discourse is not defined
- name: "remove central database from {{application_id}}_default"
@ -91,7 +91,7 @@
cmd: "docker network disconnect {{applications.discourse.network}} central-{{ database_type }}"
ignore_errors: true
when:
- applications[application_id].features.database | bool
- applications | is_feature_enabled('central_database',application_id)
- run_once_docker_discourse is not defined
- name: run the docker_discourse tasks once

View File

@ -1,5 +1,5 @@
templates:
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
- "templates/postgres.template.yml"
{% endif %}
#- "templates/redis.template.yml"

View File

@ -1,7 +1,7 @@
---
application_id: "matomo"
application_id: "matomo"
database_type: "mariadb"
database_password: "{{applications.matomo.credentials.database_password}}"
database_password: "{{ applications[application_id].credentials.database_password }}"
# I don't know if this is still necessary
domain: "{{domains.matomo}}"
domain: "{{ domains[application_id] }}"

View File

@ -7,7 +7,7 @@
- name: "create {{database_name}} database"
include_role:
name: docker-postgres
when: applications[application_id].features.database | bool
when: applications | is_feature_enabled('central_database',application_id)
- name: "include seed-database-to-backup.yml"
include_tasks: "{{ playbook_dir }}/roles/backup-docker-to-local/tasks/seed-database-to-backup.yml"

View File

@ -1,6 +1,6 @@
application_id: "pgadmin"
database_type: "postgres"
database_host: "{{ 'central-' + database_type if applications[application_id].features.database }}"
database_host: "{{ 'central-' + database_type if applications | is_feature_enabled('central_database',application_id)"
database_var_file: "{{playbook_dir}}/roles/docker-central-database/vars/database.yml"
pgadmin_user: 5050
pgadmin_group: "{{pgadmin_user}}"

View File

@ -1,3 +1,3 @@
application_id: "phpmyadmin"
database_type: "mariadb"
database_host: "{{ 'central-' + database_type if applications[application_id].features.database}}"
database_host: "{{ 'central-' + database_type if applications | is_feature_enabled('central_database',application_id)"

View File

@ -27,7 +27,7 @@ DB_DATABASE={{database_name}}
DB_USERNAME={{database_username}}
DB_PASSWORD={{database_password}}
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
MYSQL_ROOT_PASSWORD={{database_password}}
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'

View File

@ -1,10 +1,10 @@
{# This template needs to be included in docker-compose.yml #}
networks:
{% if applications | is_feature_enabled('central_database',application_id) | bool and database_type is defined %}
{% if applications | is_feature_enabled('central_database',application_id) and database_type is defined %}
central_{{ database_type }}:
external: true
{% endif %}
{% if applications[application_id].get('features', {}).get('ldap', false) | bool and applications.ldap.network.docker | bool %}
{% if applications[application_id].get('features', {}).get('ldap', false) and applications.ldap.network.docker | bool %}
central_ldap:
external: true
{% endif %}

View File

@ -1,5 +1,5 @@
{# This needs to be included in docker-compose.yml which just contain a database volume #}
{% if not (applications[application_id].features.database | default(false)) | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
volumes:
database:
{% endif %}

View File

@ -1,6 +1,6 @@
{# This template needs to be included in docker-compose.yml which contain a database and additional volumes #}
volumes:
{% if not (applications[application_id].features.database | default(false)) | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
database:
{% endif %}
{{ "\n" }}

View File

@ -1,6 +1,6 @@
{# This template needs to be included in docker-compose.yml containers which depend on a database and additional containers #}
depends_on:
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
database:
condition: service_healthy
{% endif %}

View File

@ -1,6 +1,6 @@
{# This template needs to be included in docker-compose.yml containers, which depend on a database, redis and optional additional volumes #}
depends_on:
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
database:
condition: service_healthy
{% endif %}

View File

@ -1,5 +1,5 @@
{# This template needs to be included in docker-compose.yml containers, which just depend on a database #}
{% if not applications[application_id].features.database | bool %}
{% if not applications | is_feature_enabled('central_database',application_id) %}
depends_on:
database:
condition: service_healthy