Add service role
This commit is contained in:
94
roles/service/tasks/database.yml
Normal file
94
roles/service/tasks/database.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
---
|
||||
|
||||
- name: Set postgres container vars
|
||||
ansible.builtin.set_fact:
|
||||
db_container_image: 'postgres:14-alpine'
|
||||
db_container_env:
|
||||
POSTGRES_USER: "{{ docker_service_underscore_name }}"
|
||||
POSTGRES_PASSWORD: "{{ database_passwords[docker_service_name] }}"
|
||||
db_container_data: /var/lib/postgresql/data
|
||||
when: docker_database == 'postgres'
|
||||
|
||||
- name: Set mariadb container vars
|
||||
ansible.builtin.set_fact:
|
||||
db_container_image: mariadb:10
|
||||
db_container_env:
|
||||
MARIADB_USER: "{{ docker_service_underscore_name }}"
|
||||
MARIADB_DATABASE: "{{ docker_service_underscore_name }}"
|
||||
MARIADB_PASSWORD: "{{ database_passwords[docker_service_name] }}"
|
||||
MARIADB_RANDOM_ROOT_PASSWORD: "{{ database_passwords[docker_service_name + '_root'] is not defined | string }}"
|
||||
MARIADB_ROOT_PASSOWRD: "{{ database_passwords[docker_service_name + '_root'] | default(omit) }}"
|
||||
db_container_data: /var/lib/mysql
|
||||
db_image_port: 3306
|
||||
when: docker_database == 'mariadb'
|
||||
|
||||
- name: Set mongo container vars
|
||||
ansible.builtin.set_fact:
|
||||
db_container_image: 'mongo:latest'
|
||||
db_container_data: /data/db
|
||||
when: docker_database == 'mongo'
|
||||
|
||||
- name: Define db container data mount
|
||||
set_fact:
|
||||
db_container_mounts:
|
||||
- name: db
|
||||
path: "{{ db_container_data }}"
|
||||
mode: '0700'
|
||||
|
||||
- name: Define db container config mount
|
||||
set_fact:
|
||||
db_container_mounts: "{{ db_container_mounts + [{'template': 'mariadb.cnf', 'path': '/etc/mysql/conf.d/custom.cnf'}] }}"
|
||||
when: db_config_mounts_needed
|
||||
|
||||
- name: Set db published ports var
|
||||
set_fact:
|
||||
db_published_ports: ["127.0.0.1:{{ ports[docker_service_name].db }}:{{ db_image_port }}"]
|
||||
when: ports[docker_service_name].db is defined
|
||||
|
||||
- name: Database container for {{ docker_service_name }}
|
||||
ansible.builtin.include_role:
|
||||
name: service
|
||||
vars:
|
||||
docker_namespace: "{{ _docker_namespace }}"
|
||||
docker_service: db
|
||||
docker_image: "{{ db_container_image }}"
|
||||
reverse_proxy_type: none
|
||||
docker_mounts: "{{ db_container_mounts }}"
|
||||
docker_published_ports: "{{ db_published_ports | default([]) }}"
|
||||
docker_env: "{{ db_container_env | default({}) }}"
|
||||
docker_additional_env: {}
|
||||
docker_networks: []
|
||||
docker_database: none
|
||||
docker_additional_services: []
|
||||
docker_host_user: false
|
||||
dockerfile: []
|
||||
docker_command: "{{ omit }}"
|
||||
docker_entrypoint: "{{ omit }}"
|
||||
docker_memory: "{{ omit }}"
|
||||
|
||||
- name: phpMyAdmin container for {{ docker_service_name }}
|
||||
ansible.builtin.include_role:
|
||||
name: service
|
||||
vars:
|
||||
docker_namespace: "{{ _docker_namespace }}"
|
||||
docker_service: phpmyadmin
|
||||
docker_image: phpmyadmin
|
||||
docker_mounts: []
|
||||
docker_published_ports:
|
||||
- "127.0.0.1:{{ ports[docker_service_name]['phpmyadmin'] }}:80"
|
||||
docker_env:
|
||||
PMA_ABSOLUTE_URI: "https://{{ docker_vhost_domains[docker_service_name + '_phpmyadmin'][0] }}"
|
||||
PMA_HOST: "{{ docker_service_name }}-db"
|
||||
docker_additional_env: {}
|
||||
docker_networks: []
|
||||
docker_database: none
|
||||
docker_additional_services: []
|
||||
docker_host_user: false
|
||||
dockerfile: []
|
||||
docker_command: "{{ omit }}"
|
||||
docker_entrypoint: "{{ omit }}"
|
||||
docker_memory: "{{ omit }}"
|
||||
docker_proxy_target_protocol: http
|
||||
vhost_basicauth: "{{ docker_phpmyadmin_basicauth }}"
|
||||
vhost_basicauth_users: "{{ docker_phpmyadmin_basicauth_users }}"
|
||||
when: docker_database == 'mariadb' and ports[docker_service_name]['phpmyadmin'] is defined
|
||||
Reference in New Issue
Block a user