One set of tasks for every instance.

This commit is contained in:
Andrea Dell'Amico 2021-01-16 18:12:46 +01:00
parent 44331544c7
commit 13dc151373
4 changed files with 23 additions and 59 deletions

View File

@ -1,14 +1,15 @@
---
ariadne_portal_compose_dir: '/srv/ariadne_portal_staging'
ariadne_portal_docker_stack_name: 'ariadne-portal-staging'
ariadne_portal_compose_dir: '/srv/ariadne_portal_dev'
ariadne_portal_docker_stack_name: 'ariadne-portal-dev'
ariadne_portal_docker_service_client_name: 'client'
ariadne_portal_docker_client_image: 'ariadneplusportal/www-portal-staging:latest'
ariadne_portal_docker_client_image: 'ariadneplusportal/www-portal-dev:latest'
ariadne_portal_behind_haproxy: True
ariadne_portal_haproxy_public_net: 'haproxy-public'
ariadne_dev_portal_compose_dir: '/srv/ariadne_portal_dev'
ariadne_dev_portal_docker_stack_name: 'ariadne-portal-dev'
ariadne_dev_portal_docker_service_client_name: 'client'
ariadne_dev_portal_docker_client_image: 'ariadneplusportal/www-portal-dev:latest'
ariadne_dev_portal_behind_haproxy: True
riadne_dev_portal_haproxy_public_net: 'haproxy-public'
ariadne_portal_smtp: False
ariadne_portal_smtp_host: 'localhost'
ariadne_portal_smtp_port: 587
ariadne_portal_smtp_channel: 'starttls'
ariadne_portal_smtp_user: ''
# Put it into a vault file
ariadne_portal_smtp_password: ''

View File

@ -1,13 +1,13 @@
---
- name: Manage the installation of the Ariadne+ Portal
block:
- name: Create the docker compose directory of the Ariadne+ Portal, staging environment
- name: Create the docker compose directory of the Ariadne+ Portal, {{ ariadne_portal_docker_stack_name }}
file: dest={{ ariadne_portal_compose_dir }} state=directory owner=root group=root mode='0750'
- name: Install the docker compose file of the Ariadne+ Portal, staging environment
template: src=ariadne-staging-portal-docker-compose.yml.j2 dest={{ ariadne_portal_compose_dir }}/docker-{{ ariadne_portal_docker_stack_name }}-stack.yml owner=root group=root mode='0400'
- name: Install the docker compose file of the Ariadne+ Portal, {{ ariadne_portal_docker_stack_name }}
template: src=ariadne-portal-docker-compose.yml.j2 dest={{ ariadne_portal_compose_dir }}/docker-{{ ariadne_portal_docker_stack_name }}-stack.yml owner=root group=root mode='0400'
- name: Start the Ariadne+ portal stack, staging environment
- name: Start the Ariadne+ portal stack, {{ ariadne_portal_docker_stack_name }}
docker_stack:
name: '{{ ariadne_portal_docker_stack_name }}'
state: present
@ -18,21 +18,3 @@
when: docker_swarm_manager_main_node is defined and docker_swarm_manager_main_node | bool
tags: [ 'ariadne_portal', 'ariadne_portal_swarm', 'ariadne_portal_staging' ]
- name: Manage the installation of the Ariadne+ Portal, dev environment
block:
- name: Create the docker compose directory of the Ariadne+ Portal, dev environment
file: dest={{ ariadne_dev_portal_compose_dir }} state=directory owner=root group=root mode='0750'
- name: Install the docker compose file of the Ariadne+ Portal, dev environment
template: src=ariadne-dev-portal-docker-compose.yml.j2 dest={{ ariadne_dev_portal_compose_dir }}/docker-{{ ariadne_dev_portal_docker_stack_name }}-stack.yml owner=root group=root mode='0400'
- name: Start the Ariadne+ portal stack, dev environment
docker_stack:
name: '{{ ariadne_dev_portal_docker_stack_name }}'
state: present
compose:
- '{{ ariadne_dev_portal_compose_dir }}/docker-{{ ariadne_dev_portal_docker_stack_name }}-stack.yml'
run_once: True
when: docker_swarm_manager_main_node is defined and docker_swarm_manager_main_node | bool
tags: [ 'ariadne_portal', 'ariadne_portal_swarm', 'ariadne_portal_dev' ]

View File

@ -1,28 +0,0 @@
version: '3.6'
networks:
{% if ariadne_dev_portal_behind_haproxy %}
haproxy-public:
external: true
{% endif %}
services:
{{ ariadne_dev_portal_docker_service_client_name }}:
image: {{ ariadne_dev_portal_docker_client_image }}
{% if ariadne_dev_portal_behind_haproxy %}
networks:
- haproxy-public
{% endif %}
deploy:
mode: replicated
replicas: 1
endpoint_mode: dnsrr
placement:
constraints: [node.role == worker]
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
logging:
driver: 'journald'

View File

@ -12,6 +12,15 @@ services:
{% if ariadne_portal_behind_haproxy %}
networks:
- haproxy-public
{% endif %}
{% if ariadne_portal_smtp %}
environment:
- SMTP_HOST={{ ariadne_portal_smtp_host }}
- SMTP_PORT={{ ariadne_portal_smtp_port }}
- SMTP_CHANNEL={{ ariadne_portal_smtp_channel }}
- SMTP_PROTOCOL=smtp
- SMTP_USER={{ ariadne_portal_smtp_user }}
- SMTP_PASS={{ ariadne_portal_smtp_password }}
{% endif %}
deploy:
mode: replicated