From 56fe029872a53161060cdef6d764759e08a2dc32 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 10:51:41 +0100 Subject: [PATCH 01/12] Add cluster analytics deployment --- kubernetes/Makefile | 3 + .../cluster-analytics/deployment.yaml | 65 +++++++++++++++++++ .../templates/cluster-analytics/service.yaml | 56 ++++++++++++++++ kubernetes/scenescape-chart/values.yaml | 17 ++++- 4 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml create mode 100644 kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml diff --git a/kubernetes/Makefile b/kubernetes/Makefile index 35f111447..1f822f378 100644 --- a/kubernetes/Makefile +++ b/kubernetes/Makefile @@ -4,6 +4,7 @@ IMAGE=scenescape-manager CAMCALIBIMAGE=scenescape-camcalibration CONTROLLERIMAGE=scenescape-controller +CLUSTERANALYTICSIMAGE=scenescape-cluster-analytics VERSION:=$(shell cat ../version.txt) NAMESPACE=scenescape WORKINGDIR=$(shell dirname $(shell pwd)) @@ -150,6 +151,8 @@ push: docker push $(REGISTRY)/$(CAMCALIBIMAGE):$(VERSION) docker tag $(ORGANIZATION)$(CONTROLLERIMAGE):$(VERSION) $(REGISTRY)/$(CONTROLLERIMAGE):$(VERSION) docker push $(REGISTRY)/$(CONTROLLERIMAGE):$(VERSION) + docker tag $(ORGANIZATION)$(CLUSTERANALYTICSIMAGE):$(VERSION) $(REGISTRY)/$(CLUSTERANALYTICSIMAGE):$(VERSION) + docker push $(REGISTRY)/$(CLUSTERANALYTICSIMAGE):$(VERSION) # generate Chart.yaml with appropriate version.txt chart.yaml: diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml new file mode 100644 index 000000000..37f66c31f --- /dev/null +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -0,0 +1,65 @@ + +# SPDX-FileCopyrightText: (C) 2025 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Release.Name }}-cluster-analytics + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Release.Name }}-cluster-analytics +spec: + replicas: 1 + selector: + matchLabels: + app: {{ .Release.Name }}-cluster-analytics + template: + metadata: + labels: + app: {{ .Release.Name }}-cluster-analytics + spec: + containers: + - name: cluster-analytics + image: {{ .Values.repository }}/{{ .Values.clusterAnalytics.image }}:{{ .Values.clusterAnalytics.tag }} + args: + - "--broker" + - "{{ .Release.Name }}-broker.{{ .Release.Namespace }}.svc.cluster.local" + - "--brokerauth" + - "/run/secrets/controller.auth" + {{- if .Values.clusterAnalytics.webUI.enabled }} + - "--webui" + - "--webui-certfile" + - "/run/secrets/certs/scenescape-web.crt" + - "--webui-keyfile" + - "/run/secrets/certs/scenescape-web.key" + ports: + - containerPort: 5000 + {{- end }} + securityContext: + {{ include "defaultContainerSecurityContext" . | indent 12 }} + volumeMounts: + - name: certs + mountPath: /run/secrets/certs/scenescape-ca.pem + subPath: scenescape-ca.pem + readOnly: true + - name: controller-auth + mountPath: /run/secrets/controller.auth + subPath: controller.auth + readOnly: true + {{- if .Values.clusterAnalytics.webUI.enabled }} + - name: certs + mountPath: /run/secrets/certs/scenescape-web.crt + subPath: scenescape-web.crt + readOnly: true + - name: certs + mountPath: /run/secrets/certs/scenescape-web.key + subPath: scenescape-web.key + readOnly: true + {{- end }} + volumes: + - name: controller-auth + secret: + secretName: {{ .Release.Name }}-controller.auth + {{- include "certs_volume" . | nindent 8 }} diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml new file mode 100644 index 000000000..cc395ab89 --- /dev/null +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml @@ -0,0 +1,56 @@ +# SPDX-FileCopyrightText: (C) 2025 Intel Corporation +# SPDX-License-Identifier: Apache-2.0 + +--- +{{- if .Values.clusterAnalytics.webUI.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: cluster-analytics + annotations: {{- toYaml .Values.service.annotations | nindent 4 }} +spec: + selector: + app: {{ .Release.Name }}-cluster-analytics + ports: + - name: "5000" + protocol: TCP + port: 5000 + targetPort: 5000 +{{- if .Values.loadBalancer.enabled }} +--- +apiVersion: v1 +kind: Service +metadata: + name: cluster-analytics-lb + annotations: {{- toYaml .Values.loadBalancer.annotations | nindent 4 }} +spec: + type: LoadBalancer + selector: + app: {{ .Release.Name }}-cluster-analytics + ports: + - name: "5000" + protocol: TCP + port: 5000 + targetPort: 5000 + externalTrafficPolicy: {{ .Values.loadBalancer.externalTrafficPolicy }} + {{- if (default .Values.loadBalancer.loadBalancerIP false) }} + loadBalancerIP: {{ .Values.loadBalancer.loadBalancerIP }} + {{- end }} +{{- end }} +{{- if .Values.nodePort.enabled }} +--- +apiVersion: v1 +kind: Service +metadata: + name: cluster-analytics-np + annotations: {{- toYaml .Values.nodePort.annotations | nindent 4 }} +spec: + type: NodePort + selector: + app: {{ .Release.Name }}-cluster-analytics + ports: + - name: "5000" + protocol: TCP + port: 5000 +{{- end }} +{{- end }} diff --git a/kubernetes/scenescape-chart/values.yaml b/kubernetes/scenescape-chart/values.yaml index 5c42d4566..3622352a5 100644 --- a/kubernetes/scenescape-chart/values.yaml +++ b/kubernetes/scenescape-chart/values.yaml @@ -28,27 +28,33 @@ initModels: limits: memory: "2Gi" cpu: "1000m" + ntpserv: image: dockurr/chrony ntpServers: "0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org" + broker: image: eclipse-mosquitto tag: "2.0.22" uid: 1000 gid: 1000 + pgserver: image: postgres tag: 17.6 repository: "docker.io" storage: 500Mi password: "" + web: image: scenescape-manager + scene: image: scenescape-controller + camcalibration: image: scenescape-camcalibration -# percebro - deprecated # TODO update kubeclient code to restore the dynamic camera calibration + kubeclient: enabled: true image: scenescape-manager @@ -56,6 +62,7 @@ kubeclient: repository: docker.io image: intel/dlstreamer-pipeline-server tag: "3.1.0-ubuntu24" + retail: repository: docker.io/intel/dlstreamer-pipeline-server pullPolicy: IfNotPresent @@ -67,6 +74,7 @@ retail: files: - apriltag-cam1.ts - apriltag-cam2.ts + queuing: repository: docker.io/intel/dlstreamer-pipeline-server pullPolicy: IfNotPresent @@ -78,6 +86,7 @@ queuing: files: - qcam1.ts - qcam2.ts + mediaserver: image: bluenviron/mediamtx tag: "1.14.0" @@ -89,6 +98,12 @@ video: vdms: enabled: true +clusterAnalytics: + image: scenescape-cluster-analytics + tag: latest + webUI: + enabled: true + # media folder pvc details media: storage: 500Mi From 978ad1d29ce4a49c46e281f44a3c5c3fc18e779b Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 11:35:39 +0100 Subject: [PATCH 02/12] Change cluster analytics port to from `5000` to `9443` --- cluster_analytics/src/cluster_analytics.py | 6 +++--- .../src/cluster_analytics_context.py | 2 +- cluster_analytics/tools/webui/README.md | 14 +++++++------- cluster_analytics/tools/webui/web_ui.py | 4 ++-- .../templates/cluster-analytics/deployment.yaml | 2 +- .../templates/cluster-analytics/service.yaml | 16 ++++++++-------- kubernetes/template/kind-config.template | 3 +++ .../docker-compose-dl-streamer-example.yml | 2 +- 8 files changed, 26 insertions(+), 23 deletions(-) diff --git a/cluster_analytics/src/cluster_analytics.py b/cluster_analytics/src/cluster_analytics.py index ba0be9745..4cb90eb15 100644 --- a/cluster_analytics/src/cluster_analytics.py +++ b/cluster_analytics/src/cluster_analytics.py @@ -21,11 +21,11 @@ def build_argparser(): # WebUI is disabled by default, can be enabled via flag parser.add_argument("--webui", action="store_true", default=False, - help="enable WebUI on port 5000 (default: disabled, can be enabled via flag)") + help="enable WebUI on port 9443 (default: disabled, can be enabled via flag)") parser.add_argument("--no-webui", dest="webui", action="store_false", help="disable WebUI") - parser.add_argument("--webui-port", type=int, default=5000, - help="WebUI port (default: 5000)") + parser.add_argument("--webui-port", type=int, default=9443, + help="WebUI port (default: 9443)") parser.add_argument("--webui-certfile", help="path to SSL certificate file for HTTPS WebUI (required when WebUI is enabled)") parser.add_argument("--webui-keyfile", diff --git a/cluster_analytics/src/cluster_analytics_context.py b/cluster_analytics/src/cluster_analytics_context.py index 761597d7b..8908688a4 100644 --- a/cluster_analytics/src/cluster_analytics_context.py +++ b/cluster_analytics/src/cluster_analytics_context.py @@ -89,7 +89,7 @@ def __init__(self, config_path=None): self.ARCHIVE_TIME_THRESHOLD = archival_config.get('archive_time_threshold', 5.0) class ClusterAnalyticsContext: - def __init__(self, broker, broker_auth, cert, root_cert, enable_webui=True, webui_port=5000, webui_certfile=None, webui_keyfile=None): + def __init__(self, broker, broker_auth, cert, root_cert, enable_webui=True, webui_port=9443, webui_certfile=None, webui_keyfile=None): self.config = ClusterAnalyticsConfig() self.webui_port = webui_port self.webui_certfile = webui_certfile diff --git a/cluster_analytics/tools/webui/README.md b/cluster_analytics/tools/webui/README.md index 8c08f152d..279e495ef 100644 --- a/cluster_analytics/tools/webui/README.md +++ b/cluster_analytics/tools/webui/README.md @@ -17,7 +17,7 @@ cd /path/to/scenescape SUPASS=admin123 make demo ``` -After enabling, access the WebUI at: **https://localhost:5000** +After enabling, access the WebUI at: **https://localhost:9443** ## ⚠️ Important Note @@ -38,7 +38,7 @@ The WebUI is **disabled by default** in `docker-compose.yml`. To enable it, **un # ... other config ... # Uncomment the following lines to enable WebUI: ports: # ✅ Uncomment this line - - "5000:5000" # ✅ Uncomment this line + - "9443:9443" # ✅ Uncomment this line ``` 2. **Uncomment the WebUI command flags:** @@ -77,7 +77,7 @@ If you want to **disable** the WebUI again, **comment out** these lines in `dock ```yaml # ports: - # - "5000:5000" # ❌ Port not exposed + # - "9443:9443" # ❌ Port not exposed ``` 2. **Comment out the WebUI command flags:** @@ -118,22 +118,22 @@ docker compose logs cluster-analytics | grep -i webui # Expected output: # "WebUI initialized successfully" -# "WebUI server started on https://0.0.0.0:5000" +# "WebUI server started on https://0.0.0.0:9443" # Test WebUI endpoint -curl -k https://localhost:5000 +curl -k https://localhost:9443 ``` ## 🌐 Accessing the WebUI -- **URL**: https://localhost:5000 +- **URL**: https://localhost:9433 - **Protocol**: HTTPS only (uses SSL certificates) ## 🛠️ Troubleshooting **WebUI not accessible?** -- Ensure port 5000 is not blocked by firewall +- Ensure port 9443 is not blocked by firewall - Check that SSL certificates are properly mounted - Verify the `--webui` flag is uncommented in docker-compose.yml diff --git a/cluster_analytics/tools/webui/web_ui.py b/cluster_analytics/tools/webui/web_ui.py index 1c811edca..70f615725 100644 --- a/cluster_analytics/tools/webui/web_ui.py +++ b/cluster_analytics/tools/webui/web_ui.py @@ -500,7 +500,7 @@ def updateSceneClusters(self, sceneId, clusters): # Schedule throttled update self.scheduleThrottledUpdate() - def run(self, host='0.0.0.0', port=5000, debug=False, certfile=None, keyfile=None): + def run(self, host='0.0.0.0', port=9443, debug=False, certfile=None, keyfile=None): """Run the Flask-SocketIO server with HTTPS.""" if not certfile or not keyfile: raise ValueError("SSL certificate and key files are required for HTTPS") @@ -515,7 +515,7 @@ def run(self, host='0.0.0.0', port=5000, debug=False, certfile=None, keyfile=Non keyfile=keyfile ) - def runInThread(self, host='0.0.0.0', port=5000, certfile=None, keyfile=None): + def runInThread(self, host='0.0.0.0', port=9443, certfile=None, keyfile=None): """Run the Flask-SocketIO server in a separate thread using eventlet with HTTPS.""" if not certfile or not keyfile: raise ValueError("SSL certificate and key files are required for HTTPS") diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml index 37f66c31f..d916879a2 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -35,7 +35,7 @@ spec: - "--webui-keyfile" - "/run/secrets/certs/scenescape-web.key" ports: - - containerPort: 5000 + - containerPort: 9443 {{- end }} securityContext: {{ include "defaultContainerSecurityContext" . | indent 12 }} diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml index cc395ab89..44e32ee36 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml @@ -12,10 +12,10 @@ spec: selector: app: {{ .Release.Name }}-cluster-analytics ports: - - name: "5000" + - name: "9443" protocol: TCP - port: 5000 - targetPort: 5000 + port: 9443 + targetPort: 9443 {{- if .Values.loadBalancer.enabled }} --- apiVersion: v1 @@ -28,10 +28,10 @@ spec: selector: app: {{ .Release.Name }}-cluster-analytics ports: - - name: "5000" + - name: "9443" protocol: TCP - port: 5000 - targetPort: 5000 + port: 9443 + targetPort: 9443 externalTrafficPolicy: {{ .Values.loadBalancer.externalTrafficPolicy }} {{- if (default .Values.loadBalancer.loadBalancerIP false) }} loadBalancerIP: {{ .Values.loadBalancer.loadBalancerIP }} @@ -49,8 +49,8 @@ spec: selector: app: {{ .Release.Name }}-cluster-analytics ports: - - name: "5000" + - name: "9443" protocol: TCP - port: 5000 + port: 9443 {{- end }} {{- end }} diff --git a/kubernetes/template/kind-config.template b/kubernetes/template/kind-config.template index 314419f10..e200e6436 100644 --- a/kubernetes/template/kind-config.template +++ b/kubernetes/template/kind-config.template @@ -25,6 +25,9 @@ nodes: - containerPort: 30700 hostPort: 8080 protocol: TCP + - containerPort: 30800 + hostPort: 9443 + protocol: TCP extraMounts: - hostPath: /dev/dri containerPath: /dev/dri diff --git a/sample_data/docker-compose-dl-streamer-example.yml b/sample_data/docker-compose-dl-streamer-example.yml index 84e2c0335..fc2152278 100644 --- a/sample_data/docker-compose-dl-streamer-example.yml +++ b/sample_data/docker-compose-dl-streamer-example.yml @@ -447,7 +447,7 @@ services: networks: scenescape: # ports: - # - "5000:5000" + # - "9443:9443" command: > --broker broker.scenescape.intel.com --brokerauth /run/secrets/controller.auth From 1af302ce7666636e28b786463e099b1280766e5e Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 11:38:34 +0100 Subject: [PATCH 03/12] delete unused values --- .../cluster-analytics/deployment.yaml | 2 +- kubernetes/scenescape-chart/values.yaml | 22 ++----------------- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml index d916879a2..734198f21 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -22,7 +22,7 @@ spec: spec: containers: - name: cluster-analytics - image: {{ .Values.repository }}/{{ .Values.clusterAnalytics.image }}:{{ .Values.clusterAnalytics.tag }} + image: {{ .Values.repository }}/{{ .Values.clusterAnalytics.image }}:{{ .Chart.AppVersion }} args: - "--broker" - "{{ .Release.Name }}-broker.{{ .Release.Namespace }}.svc.cluster.local" diff --git a/kubernetes/scenescape-chart/values.yaml b/kubernetes/scenescape-chart/values.yaml index 3622352a5..4903fd6ef 100644 --- a/kubernetes/scenescape-chart/values.yaml +++ b/kubernetes/scenescape-chart/values.yaml @@ -90,17 +90,18 @@ queuing: mediaserver: image: bluenviron/mediamtx tag: "1.14.0" + video: image: scenescape # models storage size storage: 50Gi storageClassName: "" + vdms: enabled: true clusterAnalytics: image: scenescape-cluster-analytics - tag: latest webUI: enabled: true @@ -114,12 +115,6 @@ datasets: storage: 500Mi storageClassName: "" -# videos -videos: - storage: 2Gi - storageClassName: "" - -# sample_data sampleData: source: https://raw.githubusercontent.com/open-edge-platform/scenescape sourceDir: sample_data @@ -157,16 +152,6 @@ migrations: storage: 100Mi storageClassName: "" -# controller -controller: - storage: 500Mi - storageClassName: "" - -# user-access-config -userAccessConfig: - storage: 50Mi - storageClassName: "" - # PVC pvc: storageClassName: "" @@ -204,9 +189,6 @@ mqttService: annotations: {} nodePort: 31883 -camcalibrationService: - annotations: {} - # Other parameters certdomain: "" supass: "" From 943297c9fc71ca1467f78aef7ae6558a84a9d518 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 11:50:36 +0100 Subject: [PATCH 04/12] Fix broker svc address --- .../templates/cluster-analytics/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml index 734198f21..95110adee 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -25,7 +25,7 @@ spec: image: {{ .Values.repository }}/{{ .Values.clusterAnalytics.image }}:{{ .Chart.AppVersion }} args: - "--broker" - - "{{ .Release.Name }}-broker.{{ .Release.Namespace }}.svc.cluster.local" + - "broker.{{ .Release.Namespace }}.svc.cluster.local" - "--brokerauth" - "/run/secrets/controller.auth" {{- if .Values.clusterAnalytics.webUI.enabled }} From dea2f6246b4ad0ac29434dd2eb11ff0797754a41 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 11:55:04 +0100 Subject: [PATCH 05/12] Add pod/container security context for cluster analytics --- .../templates/cluster-analytics/deployment.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml index 95110adee..e9c0fa428 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -20,6 +20,9 @@ spec: labels: app: {{ .Release.Name }}-cluster-analytics spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 containers: - name: cluster-analytics image: {{ .Values.repository }}/{{ .Values.clusterAnalytics.image }}:{{ .Chart.AppVersion }} @@ -39,6 +42,8 @@ spec: {{- end }} securityContext: {{ include "defaultContainerSecurityContext" . | indent 12 }} + runAsUser: 1000 + runAsGroup: 1000 volumeMounts: - name: certs mountPath: /run/secrets/certs/scenescape-ca.pem From ae22fee066b878158da0ec5882b58e334ef31159 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 12:27:27 +0100 Subject: [PATCH 06/12] wrong port in template --- kubernetes/template/kind-config.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/template/kind-config.template b/kubernetes/template/kind-config.template index e200e6436..bbf6a31a6 100644 --- a/kubernetes/template/kind-config.template +++ b/kubernetes/template/kind-config.template @@ -25,7 +25,7 @@ nodes: - containerPort: 30700 hostPort: 8080 protocol: TCP - - containerPort: 30800 + - containerPort: 9443 hostPort: 9443 protocol: TCP extraMounts: From 62d72e0365483518a3e8ee8a5feec41dd356d413 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 12:38:53 +0100 Subject: [PATCH 07/12] disable webui by default --- kubernetes/scenescape-chart/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/scenescape-chart/values.yaml b/kubernetes/scenescape-chart/values.yaml index 4903fd6ef..d6191a852 100644 --- a/kubernetes/scenescape-chart/values.yaml +++ b/kubernetes/scenescape-chart/values.yaml @@ -103,7 +103,7 @@ vdms: clusterAnalytics: image: scenescape-cluster-analytics webUI: - enabled: true + enabled: false # media folder pvc details media: From 54fdbcaa513a1e89bc4b9cf8fddc92058fa38f77 Mon Sep 17 00:00:00 2001 From: Jakub Sikorski Date: Mon, 3 Nov 2025 12:47:15 +0100 Subject: [PATCH 08/12] Update cluster_analytics/tools/webui/README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- cluster_analytics/tools/webui/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cluster_analytics/tools/webui/README.md b/cluster_analytics/tools/webui/README.md index 279e495ef..79c895996 100644 --- a/cluster_analytics/tools/webui/README.md +++ b/cluster_analytics/tools/webui/README.md @@ -126,7 +126,7 @@ curl -k https://localhost:9443 ## 🌐 Accessing the WebUI -- **URL**: https://localhost:9433 +- **URL**: https://localhost:9443 - **Protocol**: HTTPS only (uses SSL certificates) ## 🛠️ Troubleshooting From 5b0274acaca2c5e60bd574d022046bf3c9476a58 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 13:12:08 +0100 Subject: [PATCH 09/12] delete kind config changes --- kubernetes/template/kind-config.template | 3 --- 1 file changed, 3 deletions(-) diff --git a/kubernetes/template/kind-config.template b/kubernetes/template/kind-config.template index bbf6a31a6..314419f10 100644 --- a/kubernetes/template/kind-config.template +++ b/kubernetes/template/kind-config.template @@ -25,9 +25,6 @@ nodes: - containerPort: 30700 hostPort: 8080 protocol: TCP - - containerPort: 9443 - hostPort: 9443 - protocol: TCP extraMounts: - hostPath: /dev/dri containerPath: /dev/dri From d63cb16615138179a0173052892f5a8262b1f315 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Mon, 3 Nov 2025 15:21:21 +0100 Subject: [PATCH 10/12] remove namespace from deployment --- .../scenescape-chart/templates/cluster-analytics/deployment.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml index e9c0fa428..21d2bc860 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -7,7 +7,6 @@ apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }}-cluster-analytics - namespace: {{ .Release.Namespace }} labels: app: {{ .Release.Name }}-cluster-analytics spec: From 3ec13dc41046545dc424dd60c515555b8fad5ba8 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Tue, 4 Nov 2025 10:13:22 +0100 Subject: [PATCH 11/12] enable cluster analytics with values flag --- .../templates/cluster-analytics/deployment.yaml | 2 ++ .../scenescape-chart/templates/cluster-analytics/service.yaml | 2 ++ kubernetes/scenescape-chart/values.yaml | 1 + 3 files changed, 5 insertions(+) diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml index 21d2bc860..a61db86c0 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/deployment.yaml @@ -3,6 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 --- +{{- if .Values.clusterAnalytics.enabled }} apiVersion: apps/v1 kind: Deployment metadata: @@ -67,3 +68,4 @@ spec: secret: secretName: {{ .Release.Name }}-controller.auth {{- include "certs_volume" . | nindent 8 }} +{{- end }} diff --git a/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml b/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml index 44e32ee36..408fba12d 100644 --- a/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml +++ b/kubernetes/scenescape-chart/templates/cluster-analytics/service.yaml @@ -2,6 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 --- +{{- if .Values.clusterAnalytics.enabled }} {{- if .Values.clusterAnalytics.webUI.enabled }} apiVersion: v1 kind: Service @@ -54,3 +55,4 @@ spec: port: 9443 {{- end }} {{- end }} +{{- end }} diff --git a/kubernetes/scenescape-chart/values.yaml b/kubernetes/scenescape-chart/values.yaml index d6191a852..fd1297983 100644 --- a/kubernetes/scenescape-chart/values.yaml +++ b/kubernetes/scenescape-chart/values.yaml @@ -101,6 +101,7 @@ vdms: enabled: true clusterAnalytics: + enabled: false image: scenescape-cluster-analytics webUI: enabled: false From 87c47218f1a00959af827a322eaf5a69a341de85 Mon Sep 17 00:00:00 2001 From: jakubsikorski Date: Tue, 4 Nov 2025 10:18:28 +0100 Subject: [PATCH 12/12] add new target for k8s make target for optional push of all images --- kubernetes/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/kubernetes/Makefile b/kubernetes/Makefile index 1f822f378..f7e0ccc2e 100644 --- a/kubernetes/Makefile +++ b/kubernetes/Makefile @@ -4,7 +4,9 @@ IMAGE=scenescape-manager CAMCALIBIMAGE=scenescape-camcalibration CONTROLLERIMAGE=scenescape-controller +# optional image for cluster analytics component CLUSTERANALYTICSIMAGE=scenescape-cluster-analytics + VERSION:=$(shell cat ../version.txt) NAMESPACE=scenescape WORKINGDIR=$(shell dirname $(shell pwd)) @@ -151,6 +153,8 @@ push: docker push $(REGISTRY)/$(CAMCALIBIMAGE):$(VERSION) docker tag $(ORGANIZATION)$(CONTROLLERIMAGE):$(VERSION) $(REGISTRY)/$(CONTROLLERIMAGE):$(VERSION) docker push $(REGISTRY)/$(CONTROLLERIMAGE):$(VERSION) + +push-all: push docker tag $(ORGANIZATION)$(CLUSTERANALYTICSIMAGE):$(VERSION) $(REGISTRY)/$(CLUSTERANALYTICSIMAGE):$(VERSION) docker push $(REGISTRY)/$(CLUSTERANALYTICSIMAGE):$(VERSION)