service: Add support for mongodb

This commit is contained in:
uumas
2026-03-12 00:35:42 +02:00
parent efc7bf5434
commit 69ae1687b7
6 changed files with 16 additions and 4 deletions

View File

@@ -292,6 +292,7 @@ argument_specs:
choices: choices:
- postgres - postgres
- mariadb - mariadb
- mongo
- none - none
required: false required: false
default: none default: none

View File

@@ -1,5 +1,5 @@
--- ---
- name: Incude variables for database {{ service_database_type }} - name: Include variables for database {{ service_database_type }}
ansible.builtin.include_vars: ansible.builtin.include_vars:
file: database/{{ service_database_type }}.yaml file: database/{{ service_database_type }}.yaml
@@ -17,8 +17,6 @@
container_hostname: "{{ service_database_type }}" container_hostname: "{{ service_database_type }}"
container_ip: >- container_ip: >-
{{ service_container_ip | ansible.utils.ipmath(1) if _service_static_ip else '' }} {{ service_container_ip | ansible.utils.ipmath(1) if _service_static_ip else '' }}
container_secrets: container_secrets: "{{ _service_database_secrets }}"
- name: "{{ _service_database_name }}"
target: "{{ service_database_type }}"
container_env: "{{ _service_database_env }}" container_env: "{{ _service_database_env }}"
container_auto_update: "{{ service_auto_update }}" container_auto_update: "{{ service_auto_update }}"

View File

@@ -1,6 +1,7 @@
--- ---
_service_database_image: docker.io/library/mariadb:lts _service_database_image: docker.io/library/mariadb:lts
_service_database_mount_destination: /var/lib/mysql _service_database_mount_destination: /var/lib/mysql
_service_database_authenticated: true
_service_database_env: _service_database_env:
MARIADB_RANDOM_ROOT_PASSWORD: "1" MARIADB_RANDOM_ROOT_PASSWORD: "1"
MARIADB_USER: "{{ service_name | replace('-', '_') }}" MARIADB_USER: "{{ service_name | replace('-', '_') }}"

View File

@@ -0,0 +1,6 @@
---
_service_database_image: docker.io/library/mongo:latest
_service_database_mount_destination: /data/db
_service_database_authenticated: false
_service_database_env:
MONGO_INITDB_DATABASE: "{{ service_name | replace('-', '_') }}"

View File

@@ -7,6 +7,7 @@ _service_database_mount_destination: >-
and (service_postgres_tag | split('-') | first) is version('18', '<') and (service_postgres_tag | split('-') | first) is version('18', '<')
else '/var/lib/postgresql' else '/var/lib/postgresql'
}} }}
_service_database_authenticated: true
_service_database_env: _service_database_env:
POSTGRES_USER: "{{ service_name | replace('-', '_') }}" POSTGRES_USER: "{{ service_name | replace('-', '_') }}"
POSTGRES_PASSWORD_FILE: "/run/secrets/{{ service_database_type }}" POSTGRES_PASSWORD_FILE: "/run/secrets/{{ service_database_type }}"

View File

@@ -6,3 +6,8 @@ _service_database_networks: >-
[service_name] + [service_name] +
service_database_additional_networks service_database_additional_networks
}} }}
_service_database_secret:
name: "{{ _service_database_name }}"
target: "{{ service_database_type }}"
_service_database_secrets: "{{ [_service_database_secret] if _service_database_authenticated else [] }}"