Make ui filesystem readonly 53/137853/1 0.1.0
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Tue, 7 May 2024 14:16:20 +0000 (16:16 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Tue, 7 May 2024 14:23:25 +0000 (16:23 +0200)
- remove nginx.template and docker_entrypoint from repo [1]
- add version.properties file

[1] they will be mounted via the chart since files can't be modified (using envsubst) in a readonly filesystem
Issue-ID: PORTALNG-96
Change-Id: Ic3352be45b104ffb2b620532d07470cb8247e4d3
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
Dockerfile
docker_entrypoint.sh [deleted file]
server/nginx.template [deleted file]
version [deleted file]
version.properties [new file with mode: 0644]

index de1c28d..31cc8cb 100644 (file)
@@ -13,13 +13,11 @@ COPY . .
 RUN npm run build -- --configuration production
 
 FROM nginxinc/nginx-unprivileged:alpine-slim
-USER root
-RUN apk add --no-cache gettext # required for envsubst in docker_entrypoint.sh
 USER nginx
 
-COPY --chown=nginx:nginx server/nginx* ./
-COPY --chown=nginx:nginx docker_entrypoint.sh .
 COPY --from=builder --chown=nginx:nginx /usr/src/app/dist/frontend /usr/share/nginx/html
-ENTRYPOINT ["/docker_entrypoint.sh"]
+
+# Overwrite existing entrypoint from base image
+ENTRYPOINT []
 EXPOSE ${NGINX_PORT}
 CMD ["nginx", "-g", "daemon off;"]
diff --git a/docker_entrypoint.sh b/docker_entrypoint.sh
deleted file mode 100755 (executable)
index 9c04a97..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env sh
-#
-#
-# Copyright (c) 2022. Deutsche Telekom AG
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-#
-#
-
-set -eu
-
-export CLUSTER_NAMESERVER_IP=$(grep 'nameserver' /etc/resolv.conf | awk '{print $2}') # dynamically retrieve nameserver on startup
-envsubst '${BFF_URL} ${NGINX_PORT} ${KEYCLOAK_URL} ${KEYCLOAK_REALM} ${KEYCLOAK_INTERNAL_URL} ${CLUSTER_NAMESERVER_IP}' < ./nginx.template > /etc/nginx/conf.d/default.conf
-
-# dynamically set Angular environment config upon container startup
-envsubst < /usr/share/nginx/html/assets/env.template.js > /usr/share/nginx/html/assets/env.js
-
-exec "$@"
diff --git a/server/nginx.template b/server/nginx.template
deleted file mode 100644 (file)
index e3dd750..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# if run in local docker container add this resolver for the DNS to connect to Keycloak
-resolver ${CLUSTER_NAMESERVER_IP};
-
-server {
-    listen       ${NGINX_PORT};
-
-    location / {
-        root /usr/share/nginx/html;
-        index index.html;
-        try_files $uri $uri/ /index.html =404;
-    }
-
-    location /api/ {
-        set                 $upstream           ${BFF_URL};
-        rewrite             /api/(.*) /$1 break;
-        add_header          Access-Control-Allow-Origin *;
-        proxy_pass                              $upstream/$1$is_args$args;
-        proxy_set_header    Host                $host;
-        proxy_set_header    X-Real-IP           $remote_addr;
-        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
-        proxy_set_header    X-Forwarded-Host    $host;
-        proxy_set_header    X-Forwarded-Server  $host;
-        proxy_set_header    X-Forwarded-Port    $server_port;
-        proxy_set_header    X-Forwarded-Proto   $scheme;
-        proxy_http_version 1.1;
-    }
-
-    location /auth/ {
-            set                 $upstream           ${KEYCLOAK_INTERNAL_URL};
-            rewrite             /auth/(.*) /$1 break;
-            add_header          Access-Control-Allow-Origin *;
-            proxy_pass                              $upstream/$1$is_args$args;
-            proxy_http_version                     1.1;
-            proxy_set_header    Host               $host;
-            proxy_set_header    X-Real-IP          $remote_addr;
-            proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
-            proxy_set_header    X-Forwarded-Host   $host;
-            proxy_set_header    X-Forwarded-Server $host;
-            proxy_set_header    X-Forwarded-Port   $server_port;
-            proxy_set_header    X-Forwarded-Proto  $scheme;
-    }
-}
-
-##
-# Gzip Settings
-##
-gzip on;
-gzip_vary on;
-gzip_proxied any;
-gzip_min_length 1100;
-gzip_comp_level 6;
-gzip_buffers 16 8k;
-gzip_http_version 1.1;
-gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
-
diff --git a/version b/version
deleted file mode 100644 (file)
index 6e8bf73..0000000
--- a/version
+++ /dev/null
@@ -1 +0,0 @@
-0.1.0
diff --git a/version.properties b/version.properties
new file mode 100644 (file)
index 0000000..5294d92
--- /dev/null
@@ -0,0 +1,13 @@
+# Versioning variables\r
+# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... )\r
+# because they are used in Jenkins, whose plug-in doesn't support\r
+\r
+major=0\r
+minor=1\r
+patch=0\r
+\r
+base_version=${major}.${minor}.${patch}\r
+\r
+# Release must be completed with git revision # in Jenkins\r
+release_version=${base_version}\r
+snapshot_version=${base_version}-SNAPSHOT
\ No newline at end of file