service: Add support for mongodb
This commit is contained in:
@@ -292,6 +292,7 @@ argument_specs:
|
|||||||
choices:
|
choices:
|
||||||
- postgres
|
- postgres
|
||||||
- mariadb
|
- mariadb
|
||||||
|
- mongo
|
||||||
- none
|
- none
|
||||||
required: false
|
required: false
|
||||||
default: none
|
default: none
|
||||||
|
|||||||
@@ -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 }}"
|
||||||
|
|||||||
@@ -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('-', '_') }}"
|
||||||
|
|||||||
6
roles/service/vars/database/mongo.yaml
Normal file
6
roles/service/vars/database/mongo.yaml
Normal 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('-', '_') }}"
|
||||||
@@ -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 }}"
|
||||||
|
|||||||
@@ -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 [] }}"
|
||||||
|
|||||||
Reference in New Issue
Block a user