Compare commits

..

2 Commits

Author SHA1 Message Date
Kilian
1538b8cf12 Clarify Live View motion status flag (#170)
* docs(hub): clarify live view status flag

Clarify that the device status flag controls connectivity and recent-motion state.

* docs(hub): clarify remote recording UI

Clarify the remote-recording value controls the REC action and recording-state overlay.
2026-09-16 15:43:52 +02:00
Kilian
30378b94bf feat(hub): make classification catalog optional (#169)
Allow deployments to disable the rendered classification catalog so Hub API can read the legacy MongoDB settings catalog directly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-16 08:53:20 +02:00
5 changed files with 29 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.141.0
version: 0.142.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to

View File

@@ -229,8 +229,8 @@ Below all configuration options and parameters are listed.
| `kerberoshub.frontend.features.liveview.liveStreamMode` | Transport backing LIVE mode: `webrtc`, `hls`, or `moq`. | `"webrtc"` |
| `kerberoshub.frontend.features.liveview.hlsEnabled` | Offer HLS as a selectable LIVE transport. | `"true"` |
| `kerberoshub.frontend.features.liveview.moqEnabled` | Offer MoQ as a selectable LIVE transport. | `"false"` |
| `kerberoshub.frontend.features.liveview.remoteRecordingEnabled` | Show the manual REC control in live views. | `"true"` |
| `kerberoshub.frontend.features.liveview.deviceStatusEnabled` | Show device connectivity badges in live view tile headers. | `"true"` |
| `kerberoshub.frontend.features.liveview.remoteRecordingEnabled` | Show the manual REC control and recording-state overlay in live views. | `"true"` |
| `kerberoshub.frontend.features.liveview.deviceStatusEnabled` | Show connectivity and recent-motion status in live view tile headers. | `"true"` |
| `kerberoshub.frontend.features.liveview.moqRelayUrl` | WebTransport URL of the MoQ relay. | `"https://relay.uug.ai/anon"` |
| `kerberoshub.frontend.features.liveview.moqBroadcastPrefix` | Prefix used to build MoQ broadcast names. | `"devices"` |
| `kerberoshub.frontend.features.liveview.paginationMode` | Liveview behavior setting: `paginationMode` (`scroll`, `numbered` or `maxStreams`). | `"scroll"` |
@@ -522,13 +522,15 @@ New deployments should define the shared classification list through
`key`, the user-facing `label`, and an `icon` key. Hub API exposes this catalog
to alerts and filters. When the mounted catalog is unavailable, compatible Hub
API versions fall back to the legacy `settings` document and then the built-in
classification list.
classification list. Set `classificationCatalogEnabled: false` to omit the
ConfigMap and make Hub API use that fallback directly.
```yaml
classificationCatalogEnabled: true
classificationCatalog:
- key: forklift
label: Forklift
icon: vehicle
- key: forklift
label: Forklift
icon: vehicle
```
### Indexing

View File

@@ -1,3 +1,4 @@
{{- if .Values.classificationCatalogEnabled }}
apiVersion: v1
kind: ConfigMap
metadata:
@@ -5,4 +6,5 @@ metadata:
namespace: {{ .Release.Namespace }}
data:
classifications.json: |-
{{- toPrettyJson .Values.classificationCatalog | nindent 4 }}
{{- toPrettyJson .Values.classificationCatalog | nindent 4 }}
{{- end }}

View File

@@ -120,7 +120,9 @@ spec:
metadata:
annotations:
checksum/config-mongodb: {{ include (print $.Template.BasePath "/configmap-mongodb.yaml") . | sha256sum }}
{{- if .Values.classificationCatalogEnabled }}
checksum/classification-catalog: {{ include (print $.Template.BasePath "/configmap-classification-catalog.yaml") . | sha256sum }}
{{- end }}
labels:
app: hub-api
spec:
@@ -133,10 +135,14 @@ spec:
{{- end }}
{{- $serverTLS := .Values.kerberoshub.api.serverTLS }}
{{- $mongodbTLS := .Values.mongodb.tls }}
{{- $classificationCatalogEnabled := .Values.classificationCatalogEnabled }}
{{- if or $classificationCatalogEnabled .Values.kerberoshub.api.volumes (and $serverTLS.enabled $serverTLS.secretName) (and $mongodbTLS.enabled $mongodbTLS.existingSecret) }}
volumes:
{{- if $classificationCatalogEnabled }}
- name: classification-catalog
configMap:
name: classification-catalog
{{- end }}
{{- with .Values.kerberoshub.api.volumes }}
{{- toYaml . | nindent 8 }}
{{- end }}
@@ -148,6 +154,7 @@ spec:
{{- if and $mongodbTLS.enabled $mongodbTLS.existingSecret }}
{{- include "hub.mongodb.tlsVolume" . | nindent 8 }}
{{- end }}
{{- end }}
{{- with .Values.kerberoshub.api.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
@@ -163,10 +170,13 @@ spec:
ports:
- containerPort: 80
name: http
{{- if or $classificationCatalogEnabled .Values.kerberoshub.api.volumeMounts (and $serverTLS.enabled $serverTLS.secretName) (and $mongodbTLS.enabled $mongodbTLS.existingSecret) }}
volumeMounts:
{{- if $classificationCatalogEnabled }}
- name: classification-catalog
mountPath: /etc/kerberos/classifications
readOnly: true
{{- end }}
{{- with .Values.kerberoshub.api.volumeMounts}}
{{- toYaml . | nindent 12 }}
{{- end }}
@@ -178,13 +188,16 @@ spec:
{{- if and $mongodbTLS.enabled $mongodbTLS.existingSecret }}
{{- include "hub.mongodb.tlsVolumeMount" . | nindent 12 }}
{{- end }}
{{- end }}
# Mongodb - loaded from ConfigMap
envFrom:
- configMapRef:
name: mongodb-config
env:
{{- if $classificationCatalogEnabled }}
- name: CLASSIFICATION_CATALOG_FILE
value: /etc/kerberos/classifications/classifications.json
{{- end }}
- name: ENVIRONMENT
value: "{{ .Values.environment }}"
- name: READ_ONLY

View File

@@ -72,6 +72,8 @@ mongodb:
# Classifications supported by Hub filters, alerts, markers, and other
# downstream processing. Classifier output keys must match these values.
# Disable this to use the legacy classification catalog stored in MongoDB.
classificationCatalogEnabled: true
classificationCatalog:
- key: animal
label: Animal
@@ -539,8 +541,8 @@ kerberoshub:
liveStreamMode: "webrtc" # Transport backing the LIVE (HD) mode: 'webrtc' (default), 'hls' or 'moq'
hlsEnabled: "true" # Offer HLS as a selectable LIVE transport 'true' or 'false'. When 'false' the HLS option is removed from the front-end and streams use webrtc
moqEnabled: "false" # Offer MoQ as a selectable LIVE transport 'true' or 'false'
remoteRecordingEnabled: "true" # Show the manual REC control in live views
deviceStatusEnabled: "true" # Show device connectivity badges in live view tile headers
remoteRecordingEnabled: "true" # Show the manual REC control and recording-state overlay in live views
deviceStatusEnabled: "true" # Show connectivity and recent-motion status in live view tile headers
moqRelayUrl: "https://relay.uug.ai/anon" # WebTransport URL of the MoQ relay
moqBroadcastPrefix: "devices" # Prefix used to build devices/<deviceKey>/live.hang broadcast names
paginationMode: "scroll" # Pagination mode in live view 'scroll', 'numbered' or 'maxStreams'