From ad9d55e986fde128285de7469c4b8c0fee995622 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Tue, 27 Jan 2026 13:11:51 +0100 Subject: [PATCH] Version tag now pulled from configmap --- VorgabenUI/context_processors.py | 5 +++++ VorgabenUI/settings.py | 4 ++++ argocd/configmap.yaml | 5 ++++- argocd/deployment.yaml | 7 ++++++- scripts/full_deploy.sh | 5 +++++ scripts/partial_deploy.sh | 5 +++++ 6 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 VorgabenUI/context_processors.py diff --git a/VorgabenUI/context_processors.py b/VorgabenUI/context_processors.py new file mode 100644 index 0000000..8bf0048 --- /dev/null +++ b/VorgabenUI/context_processors.py @@ -0,0 +1,5 @@ +from django.conf import settings + + +def version(request): + return {'version': settings.VERSION} diff --git a/VorgabenUI/settings.py b/VorgabenUI/settings.py index dc48a85..f34ad39 100644 --- a/VorgabenUI/settings.py +++ b/VorgabenUI/settings.py @@ -23,6 +23,9 @@ BASE_DIR = Path(__file__).resolve().parent.parent # SECURITY WARNING: don't run with debug turned on in production! DEBUG = os.environ.get('DEBUG', 'True').lower() in ('true', '1', 'yes', 'on') +# Application version (from ConfigMap) +VERSION = os.environ.get('VERSION', '0.0.0') + # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = os.environ.get('VORGABENUI_SECRET') if not SECRET_KEY: @@ -94,6 +97,7 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'VorgabenUI.context_processors.version', ], }, }, diff --git a/argocd/configmap.yaml b/argocd/configmap.yaml index 7503a52..c4b0302 100644 --- a/argocd/configmap.yaml +++ b/argocd/configmap.yaml @@ -13,9 +13,12 @@ data: LANGUAGE_CODE: "de-ch" TIME_ZONE: "UTC" - # Static and Media Configuration + # Static and Media Configuration STATIC_URL: "/static/" MEDIA_URL: "/media/" + + # Application Version + VERSION: "0.987" # Database Configuration (for future use) # DATABASE_ENGINE: "django.db.backends.sqlite3" diff --git a/argocd/deployment.yaml b/argocd/deployment.yaml index 563b392..b08616a 100644 --- a/argocd/deployment.yaml +++ b/argocd/deployment.yaml @@ -27,7 +27,7 @@ spec: mountPath: /data containers: - name: web - image: git.baumann.gr/adebaumann/vui:0.986 + image: git.baumann.gr/adebaumann/vui:0.987 imagePullPolicy: Always securityContext: runAsUser: 99 @@ -54,6 +54,11 @@ spec: configMapKeyRef: name: django-config key: DJANGO_SETTINGS_MODULE + - name: VERSION + valueFrom: + configMapKeyRef: + name: django-config + key: VERSION ports: - containerPort: 8000 volumeMounts: diff --git a/scripts/full_deploy.sh b/scripts/full_deploy.sh index 8177802..23a08ab 100755 --- a/scripts/full_deploy.sh +++ b/scripts/full_deploy.sh @@ -36,10 +36,15 @@ NEW_MAIN_VERSION=$(echo "$MAIN_VERSION + 0.001" | bc | sed 's/^\./0./') sed -i "s|image: git.baumann.gr/adebaumann/labhelper-data-loader:$LOADER_VERSION|image: git.baumann.gr/adebaumann/labhelper-data-loader:$NEW_LOADER_VERSION|" "$DEPLOYMENT_FILE" sed -i "s|image: git.baumann.gr/adebaumann/labhelper:$MAIN_VERSION|image: git.baumann.gr/adebaumann/labhelper:$NEW_MAIN_VERSION|" "$DEPLOYMENT_FILE" +# Update the configmap version to match the main container +CONFIGMAP_FILE="argocd/configmap.yaml" +sed -i "s|VERSION: \"$MAIN_VERSION\"|VERSION: \"$NEW_MAIN_VERSION\"|" "$CONFIGMAP_FILE" + # Copy database cp "$DB_SOURCE" "$DB_DEST" echo "Full deployment prepared:" echo " Data loader: $LOADER_VERSION -> $NEW_LOADER_VERSION" echo " Main container: $MAIN_VERSION -> $NEW_MAIN_VERSION" +echo " ConfigMap VERSION: $NEW_MAIN_VERSION" echo " Database copied to $DB_DEST" diff --git a/scripts/partial_deploy.sh b/scripts/partial_deploy.sh index fbb79ee..cca8512 100755 --- a/scripts/partial_deploy.sh +++ b/scripts/partial_deploy.sh @@ -23,5 +23,10 @@ NEW_VERSION=$(echo "$CURRENT_VERSION + 0.001" | bc | sed 's/^\./0./') # Update the deployment file (only the main container, not the data-loader) sed -i "s|image: git.baumann.gr/adebaumann/vui:$CURRENT_VERSION|image: git.baumann.gr/adebaumann/vui:$NEW_VERSION|" "$DEPLOYMENT_FILE" +# Update the configmap version to match the main container +CONFIGMAP_FILE="argocd/configmap.yaml" +sed -i "s|VERSION: \"$CURRENT_VERSION\"|VERSION: \"$NEW_VERSION\"|" "$CONFIGMAP_FILE" + echo "Partial deployment prepared:" echo " Main container: $CURRENT_VERSION -> $NEW_VERSION" +echo " ConfigMap VERSION: $NEW_VERSION"