From de239be30409aa9f06ce75947375c00727dffc75 Mon Sep 17 00:00:00 2001 From: Nels Frazier Date: Tue, 11 Jan 2022 17:55:05 +0000 Subject: [PATCH 1/3] Make stack prefix a build arg for using indepdent stack registries --- docker/main/docker-build.yml | 3 +++ docker/main/requestservice/Dockerfile | 3 ++- docker/main/schedulerservice/Dockerfile | 3 ++- docker/main/subsetservice/Dockerfile | 3 ++- docker/nwm_gui/app_server/Dockerfile | 3 ++- docker/nwm_gui/docker-compose.yml | 1 + 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docker/main/docker-build.yml b/docker/main/docker-build.yml index afe0d8bee..bd9ccfa56 100644 --- a/docker/main/docker-build.yml +++ b/docker/main/docker-build.yml @@ -20,6 +20,7 @@ services: context: ./schedulerservice args: docker_internal_registry: ${DOCKER_INTERNAL_REGISTRY} + stack_name: ${STACK_PREFIX:-} comms_package_name: ${PYTHON_PACKAGE_DIST_NAME_COMMS:?} scheduler_package_dist_name: ${PYTHON_PACKAGE_DIST_NAME_SCHEDULER:?} scheduler_service_package_dist_name: ${PYTHON_PACKAGE_DIST_NAME_SCHEDULER_SERVICE:?} @@ -66,6 +67,7 @@ services: context: ./requestservice args: docker_internal_registry: ${DOCKER_INTERNAL_REGISTRY} + stack_name: ${STACK_PREFIX:-} comms_package_name: ${PYTHON_PACKAGE_DIST_NAME_COMMS:?} access_package_name: ${PYTHON_PACKAGE_DIST_NAME_ACCESS:?} externalrequests_package_name: ${PYTHON_PACKAGE_DIST_NAME_EXTERNAL_REQUESTS:?} @@ -76,6 +78,7 @@ services: context: ./subsetservice args: docker_internal_registry: ${DOCKER_INTERNAL_REGISTRY} + stack_name: ${STACK_PREFIX:-} comms_package_name: ${PYTHON_PACKAGE_DIST_NAME_COMMS:?} modeldata_package_name: ${PYTHON_PACKAGE_DIST_NAME_MODELDATA:?} subsetservice_package_name: ${PYTHON_PACKAGE_DIST_NAME_SUBSET_SERVICE:?} diff --git a/docker/main/requestservice/Dockerfile b/docker/main/requestservice/Dockerfile index 2dc761a1a..344b274c3 100644 --- a/docker/main/requestservice/Dockerfile +++ b/docker/main/requestservice/Dockerfile @@ -1,7 +1,8 @@ # problem using the current registry (127.0.0.1:5000), apparently due to the ':' # which Docker thinks is an invalid --from value in the multi-stage copy step ARG docker_internal_registry -FROM ${docker_internal_registry}/dmod-py-sources as sources +ARG stack_name +FROM ${docker_internal_registry}/${stack_name}_dmod-py-sources as sources FROM python:3.8-alpine ARG comms_package_name diff --git a/docker/main/schedulerservice/Dockerfile b/docker/main/schedulerservice/Dockerfile index d27d53af4..8e4157853 100644 --- a/docker/main/schedulerservice/Dockerfile +++ b/docker/main/schedulerservice/Dockerfile @@ -1,7 +1,8 @@ # problem using the current registry (127.0.0.1:5000), apparently due to the ':' # which Docker thinks is an invalid --from value in the multi-stage copy step ARG docker_internal_registry -FROM ${docker_internal_registry}/dmod-py-sources as sources +ARG stack_name +FROM ${docker_internal_registry}/${stack_name}_dmod-py-sources as sources FROM python:3.8-alpine ARG comms_package_name diff --git a/docker/main/subsetservice/Dockerfile b/docker/main/subsetservice/Dockerfile index 7a5376259..245dc524c 100644 --- a/docker/main/subsetservice/Dockerfile +++ b/docker/main/subsetservice/Dockerfile @@ -1,7 +1,8 @@ # problem using the current registry (127.0.0.1:5000), apparently due to the ':' # which Docker thinks is an invalid --from value in the multi-stage copy step ARG docker_internal_registry -FROM ${docker_internal_registry}/dmod-py-sources as sources +ARG stack_name +FROM ${docker_internal_registry}/${stack_name}_dmod-py-sources as sources # Need to use base, rather than -alpine, image variant, due to C++ lib # dependencies related to pandas when using the monitordata package. diff --git a/docker/nwm_gui/app_server/Dockerfile b/docker/nwm_gui/app_server/Dockerfile index 4687e7fc8..04c59e00f 100644 --- a/docker/nwm_gui/app_server/Dockerfile +++ b/docker/nwm_gui/app_server/Dockerfile @@ -2,7 +2,8 @@ # problem using the current registry (127.0.0.1:5000), apparently due to the ':' # which Docker thinks is an invalid --from value in the multi-stage copy step ARG docker_internal_registry -FROM ${docker_internal_registry}/dmod-py-sources as sources +ARG stack_name +FROM ${docker_internal_registry}/${stack_name}_dmod-py-sources as sources FROM python:3.8-slim # Slurp (or set default) wheel package name ... diff --git a/docker/nwm_gui/docker-compose.yml b/docker/nwm_gui/docker-compose.yml index 5c533f3b2..0a5fec5bc 100644 --- a/docker/nwm_gui/docker-compose.yml +++ b/docker/nwm_gui/docker-compose.yml @@ -34,6 +34,7 @@ services: args: docker_internal_registry: ${DOCKER_INTERNAL_REGISTRY:?Missing DOCKER_INTERNAL_REGISTRY value (see 'Private Docker Registry ' section in example.env)} comms_package_name: ${PYTHON_PACKAGE_DIST_NAME_COMMS:?} + stack_name: ${STACK_PREFIX:-} networks: - request-listener-net # Call this when starting the container From bb87218f9f278d8016f7d8c7a417a67ffd23da80 Mon Sep 17 00:00:00 2001 From: Nels Frazier Date: Tue, 11 Jan 2022 17:57:47 +0000 Subject: [PATCH 2/3] apply stack prefix to app_server service --- docker/nwm_gui/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/nwm_gui/docker-compose.yml b/docker/nwm_gui/docker-compose.yml index 0a5fec5bc..bd49be0d3 100644 --- a/docker/nwm_gui/docker-compose.yml +++ b/docker/nwm_gui/docker-compose.yml @@ -27,7 +27,7 @@ services: # Define a container belonging exclusively to our django application app_server: - image: maas-portal-development + image: ${STACK_PREFIX:-}_maas-portal-development build: context: ../.. dockerfile: ./docker/nwm_gui/app_server/Dockerfile @@ -53,7 +53,7 @@ services: - SQL_ENGINE=django.db.backends.postgresql - SQL_DATABASE=${DMOD_GUI_POSTGRES_DB:-dmod_dev} - SQL_USER=${DMOD_GUI_POSTGRES_USER:?} - - SQL_HOST=db + - SQL_HOST=${STACK_PREFIX:-}_nwm_gui_db - SQL_PORT=5432 - DATABASE=postgres - DOCKER_SECRET_POSTGRES_PASS=postgres_password From 5d8450cce8b5ccae5f83429133b6d93fd64df5e7 Mon Sep 17 00:00:00 2001 From: Nels Frazier Date: Tue, 11 Jan 2022 17:59:10 +0000 Subject: [PATCH 3/3] apply stack prefix to py-sources build --- docker/py-sources/docker-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/py-sources/docker-build.yml b/docker/py-sources/docker-build.yml index 484a3a086..cee48a537 100644 --- a/docker/py-sources/docker-build.yml +++ b/docker/py-sources/docker-build.yml @@ -2,7 +2,7 @@ version: "3.7" services: py-sources: - image: ${DOCKER_INTERNAL_REGISTRY:?Missing DOCKER_INTERNAL_REGISTRY value (see 'Private Docker Registry ' section in example.env)}/dmod-py-sources + image: ${DOCKER_INTERNAL_REGISTRY:?Missing DOCKER_INTERNAL_REGISTRY value (see 'Private Docker Registry ' section in example.env)}/${STACK_PREFIX:-}_dmod-py-sources build: context: ../../ dockerfile: ./docker/py-sources/py-sources.Dockerfile