From 4e2b61b98a0574183370bb054fdd72a7d29d48ba Mon Sep 17 00:00:00 2001 From: freeleaps-gitops-bot Date: Fri, 7 Nov 2025 09:39:31 +0000 Subject: [PATCH 1/4] ci(bump): bump authentication image version for alpha to snapshot-7b923c1 --- .freeleaps/devops/helm-pkg/values.alpha.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.freeleaps/devops/helm-pkg/values.alpha.yaml b/.freeleaps/devops/helm-pkg/values.alpha.yaml index 067bb57..df6d395 100644 --- a/.freeleaps/devops/helm-pkg/values.alpha.yaml +++ b/.freeleaps/devops/helm-pkg/values.alpha.yaml @@ -15,7 +15,7 @@ authentication: registry: docker.io repository: null name: 6901bcf4ed3725f39f11343d-authentication - tag: snapshot-ddcf8d8 + tag: snapshot-7b923c1 imagePullPolicy: IfNotPresent ports: - name: http From 3857edd6c51b83cda2de1909f3eb467287bb2482 Mon Sep 17 00:00:00 2001 From: freeleaps-gitops-bot Date: Fri, 7 Nov 2025 09:49:12 +0000 Subject: [PATCH 2/4] ci(bump): bump authentication image version for alpha to snapshot-e6b358e --- .freeleaps/devops/helm-pkg/values.alpha.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.freeleaps/devops/helm-pkg/values.alpha.yaml b/.freeleaps/devops/helm-pkg/values.alpha.yaml index df6d395..1858b37 100644 --- a/.freeleaps/devops/helm-pkg/values.alpha.yaml +++ b/.freeleaps/devops/helm-pkg/values.alpha.yaml @@ -15,7 +15,7 @@ authentication: registry: docker.io repository: null name: 6901bcf4ed3725f39f11343d-authentication - tag: snapshot-7b923c1 + tag: snapshot-e6b358e imagePullPolicy: IfNotPresent ports: - name: http From 8e789644b4f4cc1d2c9c55cfd6196ce7907ba82d Mon Sep 17 00:00:00 2001 From: freeleaps-gitops-bot Date: Fri, 7 Nov 2025 09:57:52 +0000 Subject: [PATCH 3/4] ci(bump): bump authentication image version for prod to snapshot-9a7fa21 --- .freeleaps/devops/helm-pkg/values.prod.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.freeleaps/devops/helm-pkg/values.prod.yaml b/.freeleaps/devops/helm-pkg/values.prod.yaml index a3852c7..814d6c6 100644 --- a/.freeleaps/devops/helm-pkg/values.prod.yaml +++ b/.freeleaps/devops/helm-pkg/values.prod.yaml @@ -18,7 +18,7 @@ authentication: registry: docker.io repository: null name: 6901bcf4ed3725f39f11343d-authentication - tag: snapshot-8584f90 + tag: snapshot-9a7fa21 imagePullPolicy: IfNotPresent ports: - name: http From 34c1ad1da9b420c28fe77e7a43976e88a8b89057 Mon Sep 17 00:00:00 2001 From: icecheng Date: Mon, 10 Nov 2025 15:53:14 +0800 Subject: [PATCH 4/4] feat: update prometheus metrics capture --- .../templates/authentication-config.yaml | 2 ++ .freeleaps/devops/helm-pkg/values.alpha.yaml | 2 ++ .freeleaps/devops/helm-pkg/values.prod.yaml | 2 ++ .freeleaps/devops/helm-pkg/values.yaml | 2 ++ Dockerfile | 3 +++ common/config/app_settings.py | 3 +++ webapi/providers/metrics.py | 18 ++++++++++-------- 7 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.freeleaps/devops/helm-pkg/templates/authentication-config.yaml b/.freeleaps/devops/helm-pkg/templates/authentication-config.yaml index b92f984..771460a 100644 --- a/.freeleaps/devops/helm-pkg/templates/authentication-config.yaml +++ b/.freeleaps/devops/helm-pkg/templates/authentication-config.yaml @@ -18,4 +18,6 @@ data: MONGODB_PORT: {{ .Values.authentication.configs.mongodbPort | toString | b64enc }} METRICS_ENABLED: {{ .Values.authentication.configs.metricsEnabled | default false | toString | b64enc }} PROBES_ENABLED: {{ .Values.authentication.configs.probesEnabled | default false | toString | b64enc }} + FREELEAPS_PRODUCT_ID: { { .Values.authentication.configs.freeleapsProductId | b64enc | quote } } + ENVIRONMENT: { { .Values.authentication.configs.environment | b64enc | quote } } \ No newline at end of file diff --git a/.freeleaps/devops/helm-pkg/values.alpha.yaml b/.freeleaps/devops/helm-pkg/values.alpha.yaml index 1858b37..f83ee6c 100644 --- a/.freeleaps/devops/helm-pkg/values.alpha.yaml +++ b/.freeleaps/devops/helm-pkg/values.alpha.yaml @@ -89,6 +89,8 @@ authentication: mongodbPort: 27017 metricsEnabled: 'false' probesEnabled: 'true' + freeleapsProductId: 6901bcf4ed3725f39f11343d + environment: alpha secrets: secretStoreRef: kind: FreeleapsSecretStore diff --git a/.freeleaps/devops/helm-pkg/values.prod.yaml b/.freeleaps/devops/helm-pkg/values.prod.yaml index 814d6c6..8bb2150 100644 --- a/.freeleaps/devops/helm-pkg/values.prod.yaml +++ b/.freeleaps/devops/helm-pkg/values.prod.yaml @@ -97,6 +97,8 @@ authentication: mongodbPort: 27017 metricsEnabled: 'true' probesEnabled: 'true' + freeleapsProductId: 6901bcf4ed3725f39f11343d + environment: prod secrets: secretStoreRef: kind: FreeleapsSecretStore diff --git a/.freeleaps/devops/helm-pkg/values.yaml b/.freeleaps/devops/helm-pkg/values.yaml index 68ccf39..1586b3f 100644 --- a/.freeleaps/devops/helm-pkg/values.yaml +++ b/.freeleaps/devops/helm-pkg/values.yaml @@ -82,6 +82,8 @@ authentication: metricsEnabled: "false" # PROBES_ENABLED probesEnabled: "false" + freeleapsProductId: "" + environment: alpha # AKV secrets configuration secrets: secretStoreRef: diff --git a/Dockerfile b/Dockerfile index 91763b2..d89a8c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,6 +25,9 @@ ENV LOG_BASE_PATH=$CONTAINER_APP_ROOT/log/$APP_NAME ENV BACKEND_LOG_FILE_NAME=$APP_NAME ENV APPLICATION_ACTIVITY_LOG=$APP_NAME-activity +ENV FREELEAPS_PRODUCT_ID="6901bcf4ed3725f39f11343d" +ENV ENVIRONMENT="alpha" + WORKDIR ${CONTAINER_APP_ROOT} COPY requirements.txt . diff --git a/common/config/app_settings.py b/common/config/app_settings.py index 804e341..9a0acdb 100644 --- a/common/config/app_settings.py +++ b/common/config/app_settings.py @@ -30,6 +30,9 @@ class AppSettings(BaseSettings): BACKEND_LOG_FILE_NAME: str = APP_NAME APPLICATION_ACTIVITY_LOG: str = APP_NAME + "-application-activity" + FREELEAPS_PRODUCT_ID: str = "" + ENVIRONMENT: str = "" + class Config: env_file = ".myapp.env" env_file_encoding = "utf-8" diff --git a/webapi/providers/metrics.py b/webapi/providers/metrics.py index ae5a634..974942a 100644 --- a/webapi/providers/metrics.py +++ b/webapi/providers/metrics.py @@ -2,12 +2,14 @@ import logging from prometheus_fastapi_instrumentator import Instrumentator from common.config.app_settings import app_settings -def register(app): - instrumentator = Instrumentator().instrument(app, - metric_namespace="freeleaps", - metric_subsystem=app_settings.APP_NAME) - @app.on_event("startup") - async def startup(): - instrumentator.expose(app, endpoint="/api/_/metrics", should_gzip=True) - logging.info("Metrics endpoint exposed at /api/_/metrics") \ No newline at end of file +def register(app): + instrumentator = Instrumentator().instrument( + app, + metric_namespace="freeleaps_{}".format(app_settings.FREELEAPS_PRODUCT_ID), + metric_subsystem=app_settings.ENVIRONMENT) + + @app.on_event("startup") + async def startup(): + instrumentator.expose(app, endpoint="/api/_/metrics", should_gzip=True) + logging.info("Metrics endpoint exposed at /api/_/metrics")