From c3de2da2ae7a865408c43ebf92ade858afbfe19e Mon Sep 17 00:00:00 2001
From: Denys Vuika <denys.vuika@alfresco.com>
Date: Tue, 18 Jan 2022 11:10:25 +0000
Subject: [PATCH] add missing PROVIDER env variable for docker (#2404)

* add missing PROVIDER env variable for docker

* fix docker env propagation

* fix code

* update docker vars
---
 Dockerfile                                       | 16 ++++++++++++++++
 .../docker-entrypoint.d/30-sed-on-appconfig.sh   |  6 ++++++
 docker/run.sh                                    |  1 +
 3 files changed, 23 insertions(+)

diff --git a/Dockerfile b/Dockerfile
index ea7709f83..0b2464028 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -17,6 +17,22 @@ RUN apk update && apk upgrade
 USER 101
 
 ARG PROJECT_NAME
+ARG PROVIDER="ECM"
+ARG AUTH_TYPE="BASIC"
+
+ENV APP_CONFIG_PROVIDER=$PROVIDER
+ENV APP_CONFIG_AUTH_TYPE=$AUTH_TYPE
+
+ENV APP_CONFIG_OAUTH2_HOST="{protocol}//{hostname}{:port}/auth/realms/alfresco"
+ENV APP_CONFIG_BPM_HOST="{protocol}//{hostname}{:port}"
+ENV APP_CONFIG_ECM_HOST="{protocol}//{hostname}{:port}"
+
+ENV APP_CONFIG_OAUTH2_CLIENTID="alfresco"
+ENV APP_CONFIG_OAUTH2_IMPLICIT_FLOW=true
+ENV APP_CONFIG_OAUTH2_SILENT_LOGIN=true
+ENV APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI="{protocol}//{hostname}{:port}/assets/silent-refresh.html"
+ENV APP_CONFIG_OAUTH2_REDIRECT_LOGIN="/"
+ENV APP_CONFIG_OAUTH2_REDIRECT_LOGOUT="/"
 
 COPY docker/default.conf.template /etc/nginx/templates/
 COPY docker/docker-entrypoint.d/* /docker-entrypoint.d/
diff --git a/docker/docker-entrypoint.d/30-sed-on-appconfig.sh b/docker/docker-entrypoint.d/30-sed-on-appconfig.sh
index 9c295df74..99c07c3a1 100755
--- a/docker/docker-entrypoint.d/30-sed-on-appconfig.sh
+++ b/docker/docker-entrypoint.d/30-sed-on-appconfig.sh
@@ -10,6 +10,12 @@ echo "replace APP_CONFIG_AUTH_TYPE"
     -i "${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json"
 fi
 
+if [ -n "${APP_CONFIG_PROVIDER}"]; then
+echo "replace APP_CONFIG_PROVIDER"
+  sed -e "s/\"providers\": \".*\"/\"providers\": \"${APP_CONFIG_PROVIDER}\"/g" \
+    -i "${NGINX_ENVSUBST_OUTPUT_DIR}/app.config.json"
+fi
+
 if [ -n "${APP_CONFIG_IDENTITY_HOST}" ]; then
 echo "replace APP_CONFIG_IDENTITY_HOST"
   replace="\/"
diff --git a/docker/run.sh b/docker/run.sh
index 701965152..7d0c9174b 100755
--- a/docker/run.sh
+++ b/docker/run.sh
@@ -8,6 +8,7 @@ docker rmi -f $DOCKER_IMAGE_REPO
 docker build --build-arg PROJECT_NAME=$PROJECT_NAME -t $DOCKER_IMAGE_REPO .
 echo "http://localhost:${HOST_PORT}${BASE_PATH}"
 docker run --rm -it \
+  --env APP_CONFIG_PROVIDER=$APP_CONFIG_PROVIDER \
   --env BASE_PATH=$BASE_PATH \
   --env APP_CONFIG_AUTH_TYPE=$APP_CONFIG_AUTH_TYPE \
   --env APP_CONFIG_IDENTITY_HOST=$APP_CONFIG_IDENTITY_HOST \