Merge pull request #62 from kerberos-io/feature/add-feature-flags

feature/add-feature-flags
This commit is contained in:
Cédric Verstraeten
2025-12-05 14:03:00 +01:00
committed by GitHub
4 changed files with 145 additions and 36 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.93.0
version: 0.94.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

@@ -228,10 +228,20 @@ spec:
value: "{{ .Values.kerberoshub.frontend.navigationLinkTitle5 }}"
- name: NAVIGATION_LINK_URL_5
value: "{{ .Values.kerberoshub.frontend.navigationLinkUrl5 }}"
- name: CASE_FILTER_ASSIGNEES_DEFAULT
value: "{{ .Values.kerberoshub.frontend.caseFilterAssigneesDefault }}"
# Custom colors for floor-plans
# features > floorplan
- name: FEATURE_FLOORPLAN_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.floorplan.enabled }}"
- name: COLOR_TRACK_BOX
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBox }}"
- name: COLOR_TRACK_BOX_HOVER
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBoxHover }}"
- name: COLOR_TRACK_BOX_DRAWING
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBoxDrawing }}"
- name: COLOR_TRACK_BOX_CONTROLS_DELETE
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBoxControlsDelete }}"
- name: COLOR_DEVICE_ACTIVE
value: "{{ .Values.kerberoshub.frontend.colorDeviceActive }}"
- name: COLOR_DEVICE_INACTIVE
@@ -240,12 +250,62 @@ spec:
value: "{{ .Values.kerberoshub.frontend.colorDeviceIdle }}"
- name: COLOR_DEVICE_MOTION
value: "{{ .Values.kerberoshub.frontend.colorDeviceMotion }}"
- name: COLOR_FLOORPLAN_LABEL_TEXT
- name: COLOR_LIVE_VIEW_CONTROL_ACTIVE
value: "{{ .Values.kerberoshub.frontend.colorLiveViewControlActive }}"
- name: COLOR_LIVE_VIEW_CONTROL_MOTION
value: "{{ .Values.kerberoshub.frontend.colorLiveViewControlMotion }}"
- name: COLOR_FLOOR_PLAN_LABEL_TEXT
value: "{{ .Values.kerberoshub.frontend.colorFloorPlanLabelText }}"
- name: COLOR_FLOORPLAN_LABEL_BACKGROUND
- name: COLOR_FLOOR_PLAN_LABEL_BACKGROUND
value: "{{ .Values.kerberoshub.frontend.colorFloorPlanLabelBackground }}"
- name: COLOR_DEVICE_MARKER_BORDER
value: "{{ .Values.kerberoshub.frontend.colorDeviceMarkerBorder }}"
# features > face redaction
- name: FEATURE_FACE_REDACTION_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.faceRedaction.enabled }}"
# features > media
- name: FEATURE_MEDIA_FILTER_DATE_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.date.enabled }}"
- name: FEATURE_MEDIA_FILTER_SITES_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.sites.enabled }}"
- name: FEATURE_MEDIA_FILTER_GROUPS_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.groups.enabled }}"
- name: FEATURE_MEDIA_FILTER_DEVICES_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.devices.enabled }}"
- name: FEATURE_MEDIA_FILTER_OBJECT_DETECTION_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.objectDetection.enabled }}"
- name: FEATURE_MEDIA_FILTER_STAR_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.star.enabled }}"
- name: FEATURE_MEDIA_FILTER_REGION_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.region.enabled }}"
- name: FEATURE_MEDIA_FILTER_SORT_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.sort.enabled }}"
- name: MARKERS_NAME
value: "{{ .Values.kerberoshub.frontend.markersName }}"
- name: EVENTS_NAME
value: "{{ .Values.kerberoshub.frontend.eventsName }}"
- name: FLOOR_PLAN_NAME
value: "{{ .Values.kerberoshub.frontend.floorPlanName }}"
- name: SITES_NAME
value: "{{ .Values.kerberoshub.frontend.sitesName }}"
- name: SITES_DESCRIPTION
value: "{{ .Values.kerberoshub.frontend.sitesDescription }}"
- name: GROUPS_NAME
value: "{{ .Values.kerberoshub.frontend.groupsName }}"
- name: GROUPS_DESCRIPTION
value: "{{ .Values.kerberoshub.frontend.groupsDescription }}"
- name: SITE_GROUP_NAME
value: "{{ .Values.kerberoshub.frontend.siteGroupName }}"
- name: SITE_GROUP_DESCRIPTION
value: "{{ .Values.kerberoshub.frontend.siteGroupDescription }}"
- name: DEVICE_GROUP_NAME
value: "{{ .Values.kerberoshub.frontend.deviceGroupName }}"
- name: DEVICE_GROUP_DESCRIPTION
value: "{{ .Values.kerberoshub.frontend.deviceGroupDescription }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 8 }}

View File

@@ -329,6 +329,18 @@ spec:
value: "{{ .Values.kerberoshub.frontend.navigationLinkUrl5 }}"
- name: CASE_FILTER_ASSIGNEES_DEFAULT
value: "{{ .Values.kerberoshub.frontend.caseFilterAssigneesDefault }}"
# features > floorplan
- name: FEATURE_FLOORPLAN_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.floorplan.enabled }}"
- name: COLOR_TRACK_BOX
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBox }}"
- name: COLOR_TRACK_BOX_HOVER
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBoxHover }}"
- name: COLOR_TRACK_BOX_DRAWING
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBoxDrawing }}"
- name: COLOR_TRACK_BOX_CONTROLS_DELETE
value: "{{ .Values.kerberoshub.frontend.features.floorplan.colorTrackBoxControlsDelete }}"
- name: COLOR_DEVICE_ACTIVE
value: "{{ .Values.kerberoshub.frontend.colorDeviceActive }}"
- name: COLOR_DEVICE_INACTIVE
@@ -348,17 +360,27 @@ spec:
- name: COLOR_DEVICE_MARKER_BORDER
value: "{{ .Values.kerberoshub.frontend.colorDeviceMarkerBorder }}"
- name: FEATURE_FACE_REDACTION
value: "{{ .Values.kerberoshub.frontend.features.faceRedaction }}"
- name: COLOR_TRACK_BOX
value: "{{ .Values.kerberoshub.frontend.colorTrackBox }}"
- name: COLOR_TRACK_BOX_HOVER
value: "{{ .Values.kerberoshub.frontend.colorTrackBoxHover }}"
- name: COLOR_TRACK_BOX_DRAWING
value: "{{ .Values.kerberoshub.frontend.colorTrackBoxDrawing }}"
- name: COLOR_TRACK_BOX_CONTROLS_DELETE
value: "{{ .Values.kerberoshub.frontend.colorTrackBoxControlsDelete }}"
# features > face redaction
- name: FEATURE_FACE_REDACTION_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.faceRedaction.enabled }}"
# features > media
- name: FEATURE_MEDIA_FILTER_DATE_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.date.enabled }}"
- name: FEATURE_MEDIA_FILTER_SITES_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.sites.enabled }}"
- name: FEATURE_MEDIA_FILTER_GROUPS_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.groups.enabled }}"
- name: FEATURE_MEDIA_FILTER_DEVICES_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.devices.enabled }}"
- name: FEATURE_MEDIA_FILTER_OBJECT_DETECTION_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.objectDetection.enabled }}"
- name: FEATURE_MEDIA_FILTER_STAR_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.star.enabled }}"
- name: FEATURE_MEDIA_FILTER_REGION_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.region.enabled }}"
- name: FEATURE_MEDIA_FILTER_SORT_ENABLED
value: "{{ .Values.kerberoshub.frontend.features.media.filter.sort.enabled }}"
- name: MARKERS_NAME
value: "{{ .Values.kerberoshub.frontend.markersName }}"

View File

@@ -7,7 +7,7 @@
# Get your license from support@kerberos.io or
# use the 8 camera license for testing.
#######################################################
license: "L/+FAwEBB2xpY2Vuc2UB/4YAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA/gMw/4YB/gEl/8wQACxnaXRodWIuY29tL3V1Zy1haS9odWItbGljZW5zZS9tb2RlbHMuTGljZW5zZf+BAwEBB0xpY2Vuc2UB/4IAAQwBAklkAf+EAAEDS2V5AQwAAQdDb21wYW55AQwAAQdFeHBUaW1lAQQAAQREYXlzAQQAAQdDYW1lcmFzAQQAAQVTaXRlcwEEAAEGVmF1bHRzAQQAAQpNZWRpYUxpbWl0AQQAAQlQZXJwZXR1YWwBAgABBkFjdGl2ZQECAAEJSXBBZGRyZXNzAQwAAAAY/4MBAQEIT2JqZWN0SUQB/4QAAQYBGAAAPf+COgEMAAAAAAAAAAAAAAAAAg9nZW5lcmljLWxpY2Vuc2UB+AJl6LAHsRMYAfoB0alKIAABEAEUARQDAQAB/gIAFlQqo9yJj1a3OH1+5iGjCPcz9VtrRuGfz/iuQEFohbCfSiZGAdHh16gEc59Z2kPaey+eJcwY0BQsBoipW7SwFRmcHkrWLuxt+Yzi2kvwmL4TN0quWqM4xxBzH1sejS6kZpPm7bw11JBsBuaNOYMbl5lgpPCFajWUH6GzfmuQlptNQKosocacI/9PaaqEUUM0ALjDZNSqqFwZPPsFh9WTeaHGbRbmwQRMPFDgaPCxiHnCCUagbvuVZeOQbKaR5gPTUfPQY/L4mrN9QnMxdzwUJgqm7FbTH4UhoZn6EEzNGTN6DbHhpx8lezzCRW8dzMNuK8R1igiORV5gdWOPzBMZlTgodIZRD07e8iAo2XqT/BWcqaJXutdqXltaiJKshh2QzStdv2WZUynVTguYIQJyBNhrXEkewKZA0UftcSemDPkCmp6VovMMveV4X3Cpzkm7ZHtE7j39At/kpuqY/icTEzRWYuQqEDtqXMVar84VOpgVhxeNrrqZniLq8o3ezRdwy0BJG5xT9cuMxq13ZB3Am9iqTSjx2mh5VZZeB33GjLVAtLscj8NoKWy7BThchXB9xwoiy2RLO8nE+EI8wPbg+ajb2Ta7AFyxHgJJU6cea+zEpiBMARwjPKqk2nn02xdfdqMzQ+E9e115sIqhotBM5RI7uBIf8DDwT93HLsJZRBAA"
license: "L/+DAwEBB2xpY2Vuc2UB/4QAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA/gMk/4QB/gEZ/8sQACxnaXRodWIuY29tL3V1Zy1haS9odWItbGljZW5zZS9tb2RlbHMuTGljZW5zZX8DAQEHTGljZW5zZQH/gAABDAECSWQB/4IAAQNLZXkBDAABB0NvbXBhbnkBDAABB0V4cFRpbWUBBAABBERheXMBBAABB0NhbWVyYXMBBAABBVNpdGVzAQQAAQZWYXVsdHMBBAABCk1lZGlhTGltaXQBBAABCVBlcnBldHVhbAECAAEGQWN0aXZlAQIAAQlJcEFkZHJlc3MBDAAAABj/gQEBAQhPYmplY3RJRAH/ggABBgEYAAAy/4AvAQwAAAAAAAAAAAAAAAACDGZyZWUtbGljZW5zZQH81iZi6gH+AtoBEAEUARQDAQAB/gIAfeXxQb6kaPfAgOWeSAE6qEiQviFD6sciNmNfMel1mEL53FeV0GQe4cYBip9wyJag35az8A1yppxSymZD5V4my2FckyN2zmEW4E2sO/v+8eKepiAGYEzrKtfNCLxdWLmrHd0zjYQ3qk+PNfoPyzCOefeulw3aFsqBlzg9wDkF8cRx6tUW0qNTzki6sFGOuLoxS49cWqsftAvZmt+CRWa8u0VArIAjOpywN0RIZCkEYzp5RYF3LSVyWYEyvVhjE19DDnevzpJyCHRsIHTRcpTQkhboeapOdlEz8cx+PaOvxktN8hBWceTAH+nw96FARG7y6Cpjw3xo+NV1xb0tvRXGaGoK77JnErKLhd/haXji98rGvMakDt18WSbQfTVS84+Fw+/gKGsW3uS3fROAaZw1kZj4PgsEPZDvbVkCVyuS0O87UoYqpxH8S4by8cTF3wDP7FwyIRZbEbYjN2wzHSmlADYOBtdsdb1VGm7wvtB85vML9n7ZSlIpJdqfci06mGks102mDyG2LRMhUEvpUW3D/weErIvj2WiAwf6r0EUj+LO8VmAsYkME9da7FXEN6Vg/5f1u485LOpYki332RaDOhDn2eMG9DVb/HnmQSFagX+XXc/QwfsWiehCgKYGk4jQpyklTqoGu8BAt6Sm8CaoH8ngZ3cHLQT5DcZElV36/N/wA"
licenseServer:
url: ""
token: ""
@@ -23,7 +23,7 @@ readOnly: false # Set to 'true' to halt all write operations to the database (e.
# Global configuration
###########################################################################
global:
imageRegistry: "docker.io/"
imageRegistry: ""
# Private Docker Registry: The registry secret is required if you have your Docker images behind a private registry.
# By default it will pull from Docker hub (https://hub.docker.com/r/kerberos).
#imagePullSecrets:
@@ -168,10 +168,12 @@ admin:
cookieSecret: "generate-a-random-cookie-secret"
organization: "github-organization"
team: "github-team"
###########################################################################
# Following are all the different deployments needed to make
# Kerberos hub properly working.
# Hub properly working.
kerberoshub:
# Extra environment variables like proxy to set for kerberos-hub pods
# Extra environment variables like proxy to set for hub pods
extraEnv: []
# extraEnv:
# - name: HTTP_PROXY
@@ -381,23 +383,48 @@ kerberoshub:
navigationLinkTitle5: ""
navigationLinkUrl5: ""
caseFilterAssigneesDefault: "false"
# Custom colors for floor-plans, update the colors of the corresponding device icons to match these
# charts/hub/custom-layout/icons.js
colorDeviceActive: "hsla(131, 31%, 52%, 1)"
colorDeviceInactive: "hsla(0, 3%, 41%, 1)"
colorDeviceIdle: "hsla(47, 86%, 47%, 1)"
colorDeviceMotion: "hsla(2, 58%, 48%, 1)"
colorLiveViewControlActive: "hsla(131, 31%, 52%, 1)" # Color for the live view control icon for an active device
colorLiveViewControlMotion: "hsla(2, 58%, 48%, 1)" # Color for the live view control icon for a device detecting motion, icon is hidden for other states
colorFloorPlanLabelText: "hsla(0, 0%, 100%, 1)"
colorFloorPlanLabelBackground: "hsla(0, 0%, 0%, 0.8)"
colorDeviceMarkerBorder: "hsla(0, 0%, 100%, 1)" # Border around the device marker circle on the map
colorTrackBox: "hsla(278, 30%, 48%, 1)" # Boxes shown on the video
colorTrackBoxHover: "hsla(47, 86%, 47%, 1)" # Boxes while hovering over the associated track
colorTrackBoxDrawing: "hsla(204, 100%, 50%, 1)" # New box while drawing
colorTrackBoxControlsDelete: "hsla(219, 100%, 94%, 1)" # Delete icon top right of the box while editing
features:
faceRedaction: "false" # Enable or disable face redaction 'true' or 'false
floorplan:
enabled: "true" # Enable or disable floorplan feature 'true' or 'false'
# Custom colors for floor-plans, update the colors of the corresponding device icons to match these
# charts/hub/custom-layout/icons.js
colorDeviceActive: "hsla(131, 31%, 52%, 1)"
colorDeviceInactive: "hsla(0, 3%, 41%, 1)"
colorDeviceIdle: "hsla(47, 86%, 47%, 1)"
colorDeviceMotion: "hsla(2, 58%, 48%, 1)"
colorLiveViewControlActive: "hsla(131, 31%, 52%, 1)" # Color for the live view control icon for an active device
colorLiveViewControlMotion: "hsla(2, 58%, 48%, 1)" # Color for the live view control icon for a device detecting motion, icon is hidden for other states
colorFloorPlanLabelText: "hsla(0, 0%, 100%, 1)"
colorFloorPlanLabelBackground: "hsla(0, 0%, 0%, 0.8)"
colorDeviceMarkerBorder: "hsla(0, 0%, 100%, 1)" # Border around the device marker circle on the map
colorTrackBox: "hsla(278, 30%, 48%, 1)" # Boxes shown on the video
colorTrackBoxHover: "hsla(47, 86%, 47%, 1)" # Boxes while hovering over the associated track
colorTrackBoxDrawing: "hsla(204, 100%, 50%, 1)" # New box while drawing
colorTrackBoxControlsDelete: "hsla(219, 100%, 94%, 1)" # Delete icon top right of the box while editing
faceRedaction:
enabled: "false" # Enable or disable face redaction 'true' or 'false'
media:
filter:
date:
enabled: "true" # Enable or disable date filter in media 'true' or 'false'
sites:
enabled: "true" # Enable or disable site filter in media 'true' or 'false'
groups:
enabled: "true" # Enable or disable group filter in media 'true' or 'false'
devices:
enabled: "true" # Enable or disable device filter in media 'true' or 'false'
objectDetection:
enabled: "true" # Enable or disable object detection filter in media 'true' or 'false'
star:
enabled: "true" # Enable or disable star filter in media 'true' or 'false'
region:
enabled: "true" # Enable or disable region filter in media 'true' or 'false'
sort :
enabled: "true" # Enable or disable sort filter in media 'true' or 'false'
support:
enabled: false
oauth2Proxy: