From f27c14a9eb06217bd410fab16ac6c8e4841e8c96 Mon Sep 17 00:00:00 2001
From: lukken <lukken@astron.nl>
Date: Thu, 11 Nov 2021 20:26:54 +0000
Subject: [PATCH] L2SS-205: Build and push images for several services

---
 .gitlab-ci.yml                                | 76 +++++++++++++++---
 docker-compose/archiver.yml                   |  2 +-
 docker-compose/astor.yml                      |  2 +-
 docker-compose/device-apsct.yml               |  2 +-
 docker-compose/device-apspu.yml               |  2 +-
 docker-compose/device-boot.yml                |  2 +-
 docker-compose/device-docker.yml              |  2 +-
 docker-compose/device-observation_control.yml |  2 +-
 docker-compose/device-recv.yml                |  2 +-
 docker-compose/device-sdp.yml                 |  2 +-
 docker-compose/device-sst.yml                 |  2 +-
 docker-compose/device-unb2.yml                |  2 +-
 docker-compose/device-xst.yml                 |  2 +-
 docker-compose/integration-test.yml           |  2 +-
 docker-compose/itango.yml                     |  2 +-
 docker-compose/jive.yml                       |  2 +-
 docker-compose/jupyter.yml                    |  2 +-
 docker-compose/lofar-device-base.yml          |  2 +-
 .../lofar-device-base/lofar-requirements.txt  |  3 -
 docker-compose/logviewer.yml                  |  2 +-
 docker-compose/pogo.yml                       |  2 +-
 docker-compose/pypcc-sim-base/Dockerfile      |  2 +-
 docker-compose/rest.yml                       |  2 +-
 docker-compose/tango.yml                      |  4 +-
 docker-compose/tangotest.yml                  |  2 +-
 sbin/tag_and_push_docker_image.sh             | 77 +++++++++----------
 26 files changed, 127 insertions(+), 77 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 00b6e89eb..6462d3c6f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,7 +7,6 @@ variables:
 cache:
   paths:
     - .cache/pip
-    - /var/lib/docker
 stages:
   - remote_images
 #  - building
@@ -16,8 +15,8 @@ stages:
 #  - unit-tests
 #  - integration-tests
 #  - packaging
-#  - images
-.base_docker_store_images:
+  - images
+.base_docker_images:
   stage: remote_images
   image: docker:latest
   tags:
@@ -29,7 +28,6 @@ stages:
   before_script:
     - apk add --update make bash
     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-  script:
     - touch /root/.Xauthority
     #    Hack BASH_SOURCE into sourced files, docker its sh shell won't set this
     - export BASH_SOURCE=$(pwd)/bootstrap/etc/lofar20rc.sh
@@ -37,21 +35,81 @@ stages:
     - . bootstrap/etc/lofar20rc.sh || true
     #    Allow docker image script test to execute
     - chmod u+x $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh
+.base_docker_store_images:
+  extends: .base_docker_images
+  script:
     #    Do not remove 'bash' or statement will be ignored by primitive docker shell
     - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh
 docker_store_images_master_tag:
   extends: .base_docker_store_images
   only:
-    - tags
-    - master
+    refs:
+      - tags
+      - master
 docker_store_images_changes:
   extends: .base_docker_store_images
   only:
     changes:
       - docker-compose/.env
   except:
-    - tags
-    - master
+    refs:
+      - tags
+      - master
+docker_build_image_elk:
+  extends: .base_docker_images
+  only:
+    changes:
+      - docker-compose/elk.yml
+      - docker-compose/elk/*
+      - docker-compose/elk-configure-host/*
+  script:
+    #    Do not remove 'bash' or statement will be ignored by primitive docker shell
+    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh elk
+    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh elk-configure-host
+docker_build_image_lofar_device_base:
+  extends: .base_docker_images
+  only:
+    changes:
+      - docker-compose/lofar-device-base.yml
+      - docker-compose/lofar-device-base/*
+  script:
+    #    Do not remove 'bash' or statement will be ignored by primitive docker shell
+    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh lofar-device-base
+docker_build_image_prometheus:
+  extends: .base_docker_images
+  only:
+    changes:
+      - docker-compose/prometheus.yml
+      - docker-compose/prometheus/*
+  script:
+    #    Do not remove 'bash' or statement will be ignored by primitive docker shell
+    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh prometheus
+#docker_build_image_docker-compose_itango:
+#  extends: .base_docker_images
+#  only:
+#    changes:
+#      - docker-compose/itango.yml
+#  script:
+#    #    Do not remove 'bash' or statement will be ignored by primitive docker shell
+#    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh itango
+docker_build_image_grafana:
+  extends: .base_docker_images
+  only:
+    changes:
+      - docker-compose/grafana.yml
+      - docker-compose/grafana/*
+  script:
+    #    Do not remove 'bash' or statement will be ignored by primitive docker shell
+    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh grafana
+docker_build_image_jupyter:
+  extends: .base_docker_images
+  only:
+    changes:
+      - docker-compose/jupyter.yml
+      - docker-compose/jupyter/*
+  script:
+    #    Do not remove 'bash' or statement will be ignored by primitive docker shell
+    - bash $CI_PROJECT_DIR/sbin/tag_and_push_docker_image.sh jupyter
 #newline_at_eof:
 #  stage: linting
 #  before_script:
@@ -132,4 +190,4 @@ docker_store_images_changes:
 #    - pip3 install -r docker-compose/itango/lofar-requirements.txt
 #  script:
 #    - cd tangostationcontrol
-#    - python setup.py bdist_wheel
+#    - python setup.py bdist_wheel
\ No newline at end of file
diff --git a/docker-compose/archiver.yml b/docker-compose/archiver.yml
index 1a56516c7..1cc661f07 100644
--- a/docker-compose/archiver.yml
+++ b/docker-compose/archiver.yml
@@ -75,7 +75,7 @@ services:
           tag: "{{.Name}}"
 
   dsconfig:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-dsconfig:${TANGO_DSCONFIG_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-dsconfig:${TANGO_DSCONFIG_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}dsconfig
     networks:
       - control
diff --git a/docker-compose/astor.yml b/docker-compose/astor.yml
index 7010a82af..502472fc4 100644
--- a/docker-compose/astor.yml
+++ b/docker-compose/astor.yml
@@ -13,7 +13,7 @@ version: '2'
 
 services:
   astor:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}astor
     networks:
       - control
diff --git a/docker-compose/device-apsct.yml b/docker-compose/device-apsct.yml
index 60f65fc47..0e258fecd 100644
--- a/docker-compose/device-apsct.yml
+++ b/docker-compose/device-apsct.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-apsct
     networks:
       - control
diff --git a/docker-compose/device-apspu.yml b/docker-compose/device-apspu.yml
index b694b0951..5f325b19f 100644
--- a/docker-compose/device-apspu.yml
+++ b/docker-compose/device-apspu.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-apspu
     networks:
       - control
diff --git a/docker-compose/device-boot.yml b/docker-compose/device-boot.yml
index 3db111410..330cb723e 100644
--- a/docker-compose/device-boot.yml
+++ b/docker-compose/device-boot.yml
@@ -19,7 +19,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-boot
     networks:
       - control
diff --git a/docker-compose/device-docker.yml b/docker-compose/device-docker.yml
index 5a2641e98..a9e4ccfdd 100644
--- a/docker-compose/device-docker.yml
+++ b/docker-compose/device-docker.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-docker
     networks:
       - control
diff --git a/docker-compose/device-observation_control.yml b/docker-compose/device-observation_control.yml
index 33fb0d066..d4f6f15d1 100644
--- a/docker-compose/device-observation_control.yml
+++ b/docker-compose/device-observation_control.yml
@@ -19,7 +19,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-observation_control
     networks:
       - control
diff --git a/docker-compose/device-recv.yml b/docker-compose/device-recv.yml
index a08f566e7..25e767726 100644
--- a/docker-compose/device-recv.yml
+++ b/docker-compose/device-recv.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-recv
     networks:
       - control
diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml
index f32c34394..06a523f60 100644
--- a/docker-compose/device-sdp.yml
+++ b/docker-compose/device-sdp.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-sdp
     networks:
       - control
diff --git a/docker-compose/device-sst.yml b/docker-compose/device-sst.yml
index 7464cb01f..86651c787 100644
--- a/docker-compose/device-sst.yml
+++ b/docker-compose/device-sst.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-sst
     networks:
         - control
diff --git a/docker-compose/device-unb2.yml b/docker-compose/device-unb2.yml
index af1329d21..2b9b47146 100644
--- a/docker-compose/device-unb2.yml
+++ b/docker-compose/device-unb2.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-unb2
     networks:
       - control
diff --git a/docker-compose/device-xst.yml b/docker-compose/device-xst.yml
index c4ea684fd..54ca5a21f 100644
--- a/docker-compose/device-xst.yml
+++ b/docker-compose/device-xst.yml
@@ -20,7 +20,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}device-xst
     networks:
         - control
diff --git a/docker-compose/integration-test.yml b/docker-compose/integration-test.yml
index defb45e3c..e2be9144e 100644
--- a/docker-compose/integration-test.yml
+++ b/docker-compose/integration-test.yml
@@ -11,7 +11,7 @@ services:
     build:
         context: itango
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}integration-test
     networks:
       - control
diff --git a/docker-compose/itango.yml b/docker-compose/itango.yml
index 9b01c4ea2..02d6801bd 100644
--- a/docker-compose/itango.yml
+++ b/docker-compose/itango.yml
@@ -17,7 +17,7 @@ services:
     build:
         context: itango
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}itango
     networks:
       - control
diff --git a/docker-compose/jive.yml b/docker-compose/jive.yml
index 456ae1fc9..5a2caea9a 100644
--- a/docker-compose/jive.yml
+++ b/docker-compose/jive.yml
@@ -18,7 +18,7 @@ version: '2'
 
 services:
   jive:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}jive
     network_mode: host
     volumes:
diff --git a/docker-compose/jupyter.yml b/docker-compose/jupyter.yml
index 1e1deea6f..3c09c0c54 100644
--- a/docker-compose/jupyter.yml
+++ b/docker-compose/jupyter.yml
@@ -15,7 +15,7 @@ services:
         context: jupyter
         args:
             CONTAINER_EXECUTION_UID: ${CONTAINER_EXECUTION_UID}
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}jupyter
     networks:
       - control
diff --git a/docker-compose/lofar-device-base.yml b/docker-compose/lofar-device-base.yml
index ce110ed85..f27969fbe 100644
--- a/docker-compose/lofar-device-base.yml
+++ b/docker-compose/lofar-device-base.yml
@@ -18,7 +18,7 @@ services:
     build:
         context: lofar-device-base
         args:
-            SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION}
+            SOURCE_IMAGE: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-itango:${TANGO_ITANGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}lofar-device-base
     # These parameters are just visual queues, you have to define them again
     # in derived docker-compose files!
diff --git a/docker-compose/lofar-device-base/lofar-requirements.txt b/docker-compose/lofar-device-base/lofar-requirements.txt
index 10ad55d97..3a215b1d9 100644
--- a/docker-compose/lofar-device-base/lofar-requirements.txt
+++ b/docker-compose/lofar-device-base/lofar-requirements.txt
@@ -1,5 +1,2 @@
 # Do not put tangostationcontrol dependencies here
 astropy
-
-# requirements to build tangocontrol 
-GitPython >= 3.1.24 # BSD
diff --git a/docker-compose/logviewer.yml b/docker-compose/logviewer.yml
index bf0c9b2d5..08da4000b 100644
--- a/docker-compose/logviewer.yml
+++ b/docker-compose/logviewer.yml
@@ -12,7 +12,7 @@ version: '2'
 
 services:
   logviewer:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}logviewer
     networks:
       - control
diff --git a/docker-compose/pogo.yml b/docker-compose/pogo.yml
index 826daac9f..954841746 100644
--- a/docker-compose/pogo.yml
+++ b/docker-compose/pogo.yml
@@ -20,7 +20,7 @@ volumes:
 
 services:
   pogo:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-pogo:${TANGO_POGO_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-pogo:${TANGO_POGO_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}pogo
     networks:
       - control
diff --git a/docker-compose/pypcc-sim-base/Dockerfile b/docker-compose/pypcc-sim-base/Dockerfile
index c65c5b6f8..ba73b0bca 100644
--- a/docker-compose/pypcc-sim-base/Dockerfile
+++ b/docker-compose/pypcc-sim-base/Dockerfile
@@ -7,4 +7,4 @@ RUN apt-get update && apt-get install -y python3 python3-pip python3-yaml git &&
     git clone --depth 1 --branch master https://git.astron.nl/lofar2.0/pypcc
 
 WORKDIR /pypcc
-CMD ["python3","pypcc2.py","--simulator","--port","4843"]
+CMD ["python3", "pypcc2.py", "--simulator", "--port","4843"]
diff --git a/docker-compose/rest.yml b/docker-compose/rest.yml
index 467319399..94e116845 100644
--- a/docker-compose/rest.yml
+++ b/docker-compose/rest.yml
@@ -13,7 +13,7 @@ version: '2'
 
 services:
   rest:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-rest:${TANGO_REST_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-rest:${TANGO_REST_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}tango-rest
     networks:
       - control
diff --git a/docker-compose/tango.yml b/docker-compose/tango.yml
index 937cc5c8e..19500fca1 100644
--- a/docker-compose/tango.yml
+++ b/docker-compose/tango.yml
@@ -15,7 +15,7 @@ volumes:
 
 services:
   tangodb:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-db:${TANGO_DB_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-db:${TANGO_DB_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}tangodb
     networks:
       - control
@@ -37,7 +37,7 @@ services:
     restart: unless-stopped
 
   databaseds:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-cpp:${TANGO_CPP_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-cpp:${TANGO_CPP_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}databaseds
     networks:
       - control
diff --git a/docker-compose/tangotest.yml b/docker-compose/tangotest.yml
index 357c91df4..a97290d48 100644
--- a/docker-compose/tangotest.yml
+++ b/docker-compose/tangotest.yml
@@ -11,7 +11,7 @@ version: '2'
 
 services:
   tangotest:
-    image: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-java:${TANGO_JAVA_VERSION}
+    image: ${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/tango-java:${TANGO_JAVA_VERSION}
     container_name: ${CONTAINER_NAME_PREFIX}tangotest
     networks:
       - control
diff --git a/sbin/tag_and_push_docker_image.sh b/sbin/tag_and_push_docker_image.sh
index 564c14c4b..bebc84d22 100755
--- a/sbin/tag_and_push_docker_image.sh
+++ b/sbin/tag_and_push_docker_image.sh
@@ -15,6 +15,7 @@ fi
 . "${LOFAR20_DIR}/docker-compose/.env" || exit 1
 
 # Array of tuples separated by space inside double quotes
+# These images are downloaded from a remote registry and pushed locally
 REMOTE_IMAGES=(
   "tango-dsconfig ${TANGO_DSCONFIG_VERSION}" "tango-java ${TANGO_JAVA_VERSION}"
   "tango-itango ${TANGO_ITANGO_VERSION}" "tango-pogo ${TANGO_POGO_VERSION}"
@@ -22,48 +23,42 @@ REMOTE_IMAGES=(
   "tango-dsconfig ${TANGO_DSCONFIG_VERSION}" "tango-rest ${TANGO_REST_VERSION}"
 )
 
-for image in "${REMOTE_IMAGES[@]}"; do
-  # Set, splits tuple into $1 and $2
-  # shellcheck disable=SC2086
-  set -- $image
-  remote_url="${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-${1}:${2}"
-  local_url="${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/${1}:${2}"
-  docker pull "${remote_url}"
-  docker tag "${remote_url}" "${local_url}"
-  docker push "${local_url}"
-done
+# If first argument of bash script not set run first stage
+if [ -z "${1+x}" ]; then
+  # Iterate over al the REMOTE_IMAGES and pull them from remote and push local
+  for image in "${REMOTE_IMAGES[@]}"; do
+    # Set, splits tuple into $1 and $2
+    # shellcheck disable=SC2086
+    set -- $image
+    remote_url="${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-${1}:${2}"
+    local_url="${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/${1}:${2}"
+    docker pull "${remote_url}"
+    docker tag "${remote_url}" "${local_url}"
+    docker push "${local_url}"
+  done
+fi
+
+# Tuple of images and queries to detect changes
+# TODO(Corne): Have this list generated from the .yml files
+LOCAL_IMAGES=(
+  "elk" "elk-configure-host" "grafana" "prometheus" "lofar-device-base"
+  "docker-compose_jupyter" "docker-compose_integration-test"
+  "docker-compose_itango" "docker-compose_tango-prometheus-exporter"
+)
 
-#  docker pull "${SKA_REPO}-${image}:"
+# If first argument set run second stage, determine LOCAL_IMAGE to build and
+# push from the argument
+if [ ! -z "${1+x}" ]; then
 
-## Compile a list of the SKA images
-#SKA_IMAGES=$(for i in $(docker images | grep -E ${DOCKER_TAG} | grep -E ${SKA_REPO} | cut -d' ' -f1); do printf "%s " "${i}"; done)
-#
-## Compile a list of LOFAR2.0 images
-#LOFAR_IMAGES=$(for i in $(docker images | grep -E ${DOCKER_TAG} | grep -E -v "${SKA_REPO}|${LOFAR_REPO}" | cut -d' ' -f1); do printf "%s " "${i}"; done)
-#
-#echo "$SKA_IMAGES"
-#echo "$LOFAR_IMAGES"
+  cd "${LOFAR20_DIR}/docker-compose" || exit 1
 
-#function tag_and_push()
-#{
-#    (
-#        docker tag "${1}" "${2}"
-#        docker push "${2}"
-#    ) &
-#}
-#
-## Rename the SKA images for the LOFAR2.0 repo
-## and push them to the LOFAR2.0 repo
-#for IMAGE in ${SKA_IMAGES}; do
-#    PUSH_IMAGE=${IMAGE//${SKA_REPO}/${LOFAR_REPO}}:${VERSION}
-#    tag_and_push "${IMAGE}" "${PUSH_IMAGE}"
-#done
-#
-## Rename the LOFAR2.0 images for the LOFAR2.0 repo
-## and push them to the LOFAR2.0 repo
-#for IMAGE in ${LOFAR_IMAGES}; do
-#    PUSH_IMAGE=${LOFAR_REPO}/${IMAGE}:${VERSION}
-#    tag_and_push "${IMAGE}" "${PUSH_IMAGE}"
-#done
+  for image in "${LOCAL_IMAGES[@]}"; do
+    if [ "${1}" == "${image}" ]; then
+      make build "${image}"
+      local_url="${LOCAL_DOCKER_REGISTRY_HOST}/${LOCAL_DOCKER_REGISTRY_USER}/${image}:latest"
+      docker tag "${image}" "${local_url}"
+      docker push "${local_url}"
+    fi
+  done
 
-# wait
+fi
-- 
GitLab