From 6d0dd292eff95021a3d19ff3c44b96634ddeda5a Mon Sep 17 00:00:00 2001
From: Lubomir Bucek <lubomir.bucek@eox.at>
Date: Thu, 5 Nov 2020 10:10:42 +0100
Subject: [PATCH] use :dev tag for dev stack

---
 README.md                    | 35 +++++++++++++++++------------------
 docker-compose.dem.dev.yml   |  9 +++++++++
 docker-compose.emg.dev.yml   |  9 +++++++++
 docker-compose.vhr18.dev.yml |  9 +++++++++
 4 files changed, 44 insertions(+), 18 deletions(-)

diff --git a/README.md b/README.md
index 28711c06..fff3c496 100644
--- a/README.md
+++ b/README.md
@@ -187,25 +187,17 @@ docker swarm init                               # initialize swarm
 ```
 
 Build images:
+Note we use **dev** tag for local development, so images need to be built locally
 ```
-docker build core/ --cache-from registry.gitlab.eox.at/esa/prism/vs/pvs_core -t registry.gitlab.eox.at/esa/prism/vs/pvs_core
-docker build cache/ --cache-from registry.gitlab.eox.at/esa/prism/vs/pvs_cache -t registry.gitlab.eox.at/esa/prism/vs/pvs_cache
-docker build preprocessor/ --cache-from registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor -t registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor
-docker build client/ --cache-from registry.gitlab.eox.at/esa/prism/vs/pvs_client -t registry.gitlab.eox.at/esa/prism/vs/pvs_client
-docker build fluentd/ --cache-from registry.gitlab.eox.at/esa/prism/vs/fluentd -t registry.gitlab.eox.at/esa/prism/vs/fluentd
-docker build ingestor/ --cache-from registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor -t registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor
-
-```
-Or pull them from the registry:
-```
-docker login -u {DOCKER_USER} -p {DOCKER_PASSWORD} registry.gitlab.eox.at
-docker pull registry.gitlab.eox.at/esa/prism/vs/pvs_core
-docker pull registry.gitlab.eox.at/esa/prism/vs/pvs_cache
-docker pull registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor
-docker pull registry.gitlab.eox.at/esa/prism/vs/pvs_client
-docker pull registry.gitlab.eox.at/esa/prism/vs/fluentd
-docker pull registry.gitlab.eox.at/esa/prism/vs/ingestor
+docker build core/ -t registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
+docker build cache/ -t registry.gitlab.eox.at/esa/prism/vs/pvs_cache:dev
+docker build preprocessor/ -t registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor:dev
+docker build client/ -t registry.gitlab.eox.at/esa/prism/vs/pvs_client:dev
+docker build fluentd/ -t registry.gitlab.eox.at/esa/prism/vs/fluentd:dev
+docker build ingestor/ -t registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
 ```
+For production deployment, as registry is open to public, this part is done by a later step `Deploy the stack in production` as it will pull necessary images automatically.
+
 Create external network for stack to run:
 ```
 docker network create -d overlay vhr18-extnet
@@ -239,10 +231,17 @@ Deploy the stack in dev environment:
 docker stack deploy -c docker-compose.vhr18.yml -c docker-compose.vhr18.dev.yml -c docker-compose.logging.yml -c docker-compose.logging.dev.yml vhr18-pvs  # start VHR_IMAGE_2018 stack in dev mode, for example to use local sources
 docker stack deploy -c docker-compose.emg.yml -c docker-compose.emg.dev.yml -c docker-compose.logging.yml -c docker-compose.logging.dev.yml emg-pvs # start Emergency stack in dev mode, for example to use local sources
 ```
-Deploy base stack in production environment:
+Deploy base & logging stack in production environment:
 ```
 docker stack deploy -c docker-compose.base.ops.yml base-pvs
+docker stack deploy -c docker-compose.logging.yml docker-compose.logging.ops.yml logging
 ```
+Deploy the stack in production environment:
+Please note that in order to reuse existing database volumes, <stack-name> needs to be the same. Here we use `vhr18-pvs` but in operational service `vhr18-pdas` is used.
+```
+docker stack deploy -c docker-compose.vhr18.yml -c docker-compose.vhr18.ops.yml vhr18-pvs
+```
+
 First steps:
 ```
 # To register first data, use the following command inside the registrar container:
diff --git a/docker-compose.dem.dev.yml b/docker-compose.dem.dev.yml
index 8ac49a6c..56ee0072 100644
--- a/docker-compose.dem.dev.yml
+++ b/docker-compose.dem.dev.yml
@@ -9,7 +9,12 @@ services:
       - type: bind
         source: ./data/
         target: /data/
+  ingestor:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
+  fluentd:
+    image: registry.gitlab.eox.at/esa/prism/vs/fluentd:dev
   client:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_client:dev
     ports:
       - "80:80"
     configs:
@@ -20,6 +25,7 @@ services:
         source: ./data/
         target: /data/
   renderer:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
     ports:
       - "81:80"
       - "82:8080"
@@ -28,6 +34,7 @@ services:
         source: ./data/
         target: /data/
   registrar:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
     volumes:
       - type: bind
         source: ./data/
@@ -38,6 +45,7 @@ services:
     logging:
       driver: "fluentd"
   cache:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_cache:dev
     ports:
       - "83:80"
     volumes:
@@ -48,6 +56,7 @@ services:
       - source: mapcache-dev
         target: /mapcache-template.xml
   preprocessor:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor:dev
     volumes:
       - type: tmpfs
         target: /tmp
diff --git a/docker-compose.emg.dev.yml b/docker-compose.emg.dev.yml
index 08b23bf0..672a23d5 100644
--- a/docker-compose.emg.dev.yml
+++ b/docker-compose.emg.dev.yml
@@ -9,7 +9,12 @@ services:
       - type: bind
         source: ./data/
         target: /data/
+  ingestor:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
+  fluentd:
+    image: registry.gitlab.eox.at/esa/prism/vs/fluentd:dev
   client:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_client:dev
     ports:
       - "80:80"
     configs:
@@ -20,6 +25,7 @@ services:
         source: ./data/
         target: /data/
   renderer:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
     ports:
       - "81:80"
       - "82:8080"
@@ -28,6 +34,7 @@ services:
         source: ./data/
         target: /data/
   registrar:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
     volumes:
       - type: bind
         source: ./data/
@@ -36,6 +43,7 @@ services:
         source: ./core/
         target: /core/
   cache:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_cache:dev
     ports:
       - "83:80"
     volumes:
@@ -46,6 +54,7 @@ services:
       - source: mapcache-dev
         target: /mapcache-template.xml
   preprocessor:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor:dev
     volumes:
       - type: tmpfs
         target: /tmp
diff --git a/docker-compose.vhr18.dev.yml b/docker-compose.vhr18.dev.yml
index e7c46c3f..e37d1238 100644
--- a/docker-compose.vhr18.dev.yml
+++ b/docker-compose.vhr18.dev.yml
@@ -9,7 +9,12 @@ services:
       - type: bind
         source: ./data/
         target: /data/
+  ingestor:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:dev
+  fluentd:
+    image: registry.gitlab.eox.at/esa/prism/vs/fluentd:dev
   client:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_client:dev
     ports:
       - "80:80"
     configs:
@@ -20,6 +25,7 @@ services:
         source: ./data/
         target: /data/
   renderer:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
     ports:
       - "81:80"
       - "82:8080"
@@ -28,6 +34,7 @@ services:
         source: ./data/
         target: /data/
   registrar:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:dev
     volumes:
       - type: bind
         source: ./data/
@@ -36,6 +43,7 @@ services:
         source: ./core/
         target: /core/
   cache:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_cache:dev
     ports:
       - "83:80"
     volumes:
@@ -46,6 +54,7 @@ services:
       - source: mapcache-dev
         target: /mapcache-template.xml
   preprocessor:
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor:dev
     volumes:
       - type: tmpfs
         target: /tmp
-- 
GitLab