Make the containerized DB conditional.

This commit is contained in:
Andrea Dell'Amico 2020-10-26 19:13:58 +01:00
parent c0fbf5463e
commit 3e4926274a
3 changed files with 28 additions and 21 deletions

View File

@ -11,7 +11,10 @@ open_asfa_docker_db_node: False
open_asfa_behind_haproxy: True
open_asfa_haproxy_public_net: 'haproxy-public'
# DB
open_asfa_db_as_container: True
open_asfa_db_image: 'postgres:12-alpine'
open_asfa_db_host: 'pg'
open_asfa_db_port: 5432
#open_asfa_db_pwd: 'set it in a vault file'
open_asfa_db_name: 'asfadb'
open_asfa_db_user: 'asfadb_user'

View File

@ -8,7 +8,9 @@
template: src=pg-create-user-db.sh.j2 dest={{ open_asfa_compose_dir }}/pg-create-user-db.sh owner=root group=root mode='0555'
run_once: True
when: open_asfa_docker_db_node is defined and open_asfa_docker_db_node
when:
- open_asfa_docker_db_node is defined and open_asfa_docker_db_node
- open_asfa_db_as_container
tags: [ 'open_asfa', 'open_asfa_swarm', 'open_asfa_db' ]
- name: Manage the installation of the OpenASFA configuration of the swarm service
@ -23,14 +25,6 @@
compose:
- '{{ open_asfa_compose_dir }}/docker-open-asfa-stack.yml'
- name: Connect the OpenASFA service to the haproxy-public network
command: docker service update --network-add {{ open_asfa_haproxy_public_net }} {{ item }} --update-delay 30s --update-parallelism 1
with_items:
- '{{ open_asfa_docker_stack_name }}_{{ open_asfa_docker_service_server_name }}'
- '{{ open_asfa_docker_stack_name }}_{{ open_asfa_docker_service_client_name }}'
ignore_errors: True
when: open_asfa_behind_haproxy
run_once: True
when: docker_swarm_manager_main_node is defined and docker_swarm_manager_main_node | bool
tags: [ 'open_asfa', 'open_asfa_swarm' ]

View File

@ -1,17 +1,28 @@
version: '3.6'
networks:
{% if open_asfa_behind_haproxy %}
haproxy-public:
external: true
{% endif %}
{{ open_asfa_docker_network }}:
volumes:
{{ open_asfa_db_volume }}:
services:
{{ open_asfa_docker_service_server_name }}:
image: {{ open_asfa_docker_server_image }}
networks:
- {{ open_asfa_docker_network }}
depends_on:
- pg
{% if open_asfa_behind_haproxy %}
- haproxy-public
{% endif %}
environment:
SERVER_PORT: 8080
#DB_HOST: {{ open_asfa_docker_service_server_name }}_pg
DB_HOST: pg
DB_PORT: 5432
DB_HOST: {{ open_asfa_db_host }}
DB_PORT: {{ open_asfa_db_port }}
SCHEMA: {{ open_asfa_db_name }}
DB_USER: {{ open_asfa_db_user }}
DB_PASSWORD: {{ open_asfa_db_pwd }}
@ -32,6 +43,9 @@ services:
image: {{ open_asfa_docker_client_image }}
networks:
- {{ open_asfa_docker_network }}
{% if open_asfa_behind_haproxy %}
- haproxy-public
{% endif %}
environment:
API_BASE_URL: http://{{ open_asfa_docker_service_server_name }}:8080
deploy:
@ -47,12 +61,13 @@ services:
window: 120s
logging:
driver: 'journald'
{% if open_asfa_db_as_container %}
pg:
image: {{ open_asfa_db_image }}
networks:
- {{ open_asfa_docker_network }}
# ports:
# - 5432
# - {{ open_asfa_db_port }}
volumes:
- {{ open_asfa_db_volume }}:/var/lib/postgresql/data/pg_data
- {{ open_asfa_compose_dir }}/pg-create-user-db.sh:/docker-entrypoint-initdb.d/pg-create-user-db.sh:ro
@ -60,7 +75,7 @@ services:
POSTGRES_PASSWORD: {{ open_asfa_db_pwd }}
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PORT: 5432
POSTGRES_PORT: {{ open_asfa_db_port }}
PGDATA: /var/lib/postgresql/data/pg_data
deploy:
placement:
@ -72,9 +87,4 @@ services:
window: 120s
logging:
driver: 'journald'
networks:
{{ open_asfa_docker_network }}:
volumes:
{{ open_asfa_db_volume }}:
{% endif %}