Compare commits

..
Author SHA1 Message Date
Cédric Verstraeten 41cfd49aa2 Update icons.js 2025-08-05 09:49:27 +02:00
Cédric Verstraeten 71c60dcd83 Merge pull request #49 from kerberos-io/feature/expanding-custom-naming-conventions
feature/expanding-custom-naming-conventions
2025-08-04 14:46:45 +02:00
Cédric Verstraeten 11b52303b2 Bump chart version to 0.88.0 and add new environment variables for frontend configuration 2025-08-04 14:38:44 +02:00
Cédric Verstraeten 45b29d2979 Merge pull request #48 from kerberos-io/public-release-1753886181
A new public release - 1753886187
2025-07-30 16:37:19 +02:00
uug4ai 6d2d6fb66d A new public release - 1753886187 2025-07-30 14:36:28 +00:00
Kilian 34235282db Merge pull request #47 from kerberos-io/feature/hub-frontend-v1.2.6
feature/hub-frontend-v1.2.6
2025-07-08 09:41:27 +02:00
Kilian d562294719 Bump chart version to 0.87.0 and add floor plan name configuration for frontend 2025-07-07 16:47:37 +02:00
Kilian 4c4a6c042f Merge pull request #46 from kerberos-io/feature/hub-frontend-v1.2.5
feature/hub-frontend-v1.2.5
2025-07-04 13:13:31 +02:00
Kilian eaaaef12fb Bump chart version to 0.86.0 2025-07-04 13:12:27 +02:00
Kilian acdff2898e Add custom color configurations for device icons and floor plans 2025-07-04 13:03:16 +02:00
Cédric Verstraeten 4b377e6641 Merge pull request #45 from kerberos-io/upgrade/version-0.85.0
version: 0.85.0
2025-06-24 07:59:30 +02:00
Cédric Verstraeten 261e43ea05 version: 0.85.0 2025-06-24 07:59:18 +02:00
Cédric Verstraeten 8e971275be Merge pull request #44 from kerberos-io/feature/sso-callback-headers+otel-integration
Add environment variables for Open Telemetry and SSO extra headers in…
2025-06-24 07:58:39 +02:00
cedricve 79a0e0e9b0 Add environment variables for Open Telemetry and SSO extra headers in hub API 2025-06-23 23:45:10 +02:00
Cédric Verstraeten c5d867a4df Merge pull request #43 from kerberos-io/public-release-1747736737
A new public release - 1747736741
2025-05-20 12:33:43 +02:00
uug4ai f03f1ed88d A new public release - 1747736741 2025-05-20 10:25:41 +00:00
Cédric Verstraeten 0fc0cdd53f Merge pull request #41 from kerberos-io/public-release-1743746495
A new public release - 1743746499
2025-05-13 12:08:55 +02:00
Cédric Verstraeten ebd04792b2 Merge pull request #42 from kerberos-io/feature/add-case-filter-assignee-default
Bump chart version to 0.84.0 and add default case filter assignees value
2025-04-29 14:12:53 +02:00
Cédric Verstraeten eba5b323b7 Bump chart version to 0.84.0 and add default case filter assignees value 2025-04-29 14:08:09 +02:00
uug4ai 8722f017f0 A new public release - 1743746499 2025-04-04 06:01:39 +00:00
Cédric Verstraeten d4d98e3e1e Merge pull request #39 from kerberos-io/public-release-1742908520
A new public release - 1742908524
2025-03-25 14:18:11 +01:00
uug4ai 8680df206b A new public release - 1742908524 2025-03-25 13:15:24 +00:00
Cédric Verstraeten 8e18cdaad3 Merge pull request #38 from kerberos-io/cedricve-patch-2
Upgrade version to 0.83.0
2025-03-25 12:29:02 +01:00
Cédric Verstraeten 42243102ba Upgrade version to 0.83.0 2025-03-25 12:28:00 +01:00
Cédric Verstraeten 75039605c8 Merge pull request #37 from Jalhd/feature/add-envvars-kerberos-hub
Add extraEnv value for kerberos-hub
2025-03-25 12:27:31 +01:00
t0254280 5efdb0fce9 Add extraEnv value for kerberos-hub 2025-03-25 11:15:43 +01:00
Cédric Verstraeten 6f708b5cc6 Merge pull request #36 from kerberos-io/fix/enable-oauth-proxy
Upgrade to 0.82.0
2025-03-07 17:29:12 +01:00
Cedric Verstraeten 3143384c1f upgrade to 0.82.0 2025-03-07 17:27:08 +01:00
Cédric Verstraeten 6fd5430d66 Merge pull request #35 from kerberos-io/fix/enable-oauth-proxy
Enable oauth proxy with admin
2025-03-07 17:14:08 +01:00
Cedric Verstraeten 0cee9420cc enable oauth proxy 2025-03-07 17:05:13 +01:00
Cédric Verstraeten e92fa41437 Merge pull request #34 from kerberos-io/fix/admin-service-reference
Upgrade to 0.80.0 and change reference
2025-03-07 14:18:53 +01:00
Cedric Verstraeten 08b06d5ba0 upgrade to 0.80.0 and change reference 2025-03-07 14:07:57 +01:00
Cédric Verstraeten 63fcb3e0a4 Merge pull request #33 from kerberos-io/feature/add-admin-panel
Feature/add admin panel
2025-03-07 13:42:59 +01:00
Cedric Verstraeten 28087cb072 Update Chart.yaml 2025-03-07 13:42:27 +01:00
Cedric Verstraeten 39fb2a11f2 fix service.yaml 2025-03-07 13:29:20 +01:00
Cedric Verstraeten 0a26eb00b3 fix ingress templating 2025-03-07 12:23:36 +01:00
Cedric Verstraeten 9afc0e7e97 add admin deployment, ingress, service, and oauth2-proxy templates 2025-03-07 11:25:27 +01:00
Cedric Verstraeten 764c580962 add admin panel to helm chart + cleanup values.yaml 2025-03-07 11:22:51 +01:00
Cédric Verstraeten f0d544c009 Merge pull request #32 from kerberos-io/feature/add-authentication-mechanism
Add authentication mechanism
2025-03-06 13:13:14 +01:00
Cédric Verstraeten 903bf847af Merge pull request #31 from kerberos-io/public-release-1740815636
A new public release - 1740815640
2025-03-06 13:06:14 +01:00
Cedric Verstraeten 926c59ac48 add authentication mechanism 2025-03-06 12:59:21 +01:00
uug4ai 57881d35c2 A new public release - 1740815640 2025-03-01 07:54:00 +00:00
Cédric Verstraeten 6964daed46 Merge pull request #30 from kerberos-io/public-release-1740756659
A new public release - 1740756663
2025-02-28 16:37:50 +01:00
Cédric Verstraeten 818bad12c7 Merge pull request #29 from kerberos-io/cedricve-patch-1
Add dark and light mode icon
2025-02-28 16:35:55 +01:00
uug4ai ed003dfb13 A new public release - 1740756663 2025-02-28 15:31:03 +00:00
Cédric Verstraeten ba5d74e719 add dark and light mode icon 2025-02-19 14:42:09 +01:00
Cédric Verstraeten 2c10d6eace Merge pull request #28 from kerberos-io/public-release-1739963582
A new public release - 1739963586
2025-02-19 14:40:29 +01:00
uug4ai b19aa8af9f A new public release - 1739963586 2025-02-19 11:13:06 +00:00
Cédric Verstraeten 17fb252380 Merge pull request #27 from kerberos-io/public-release-1739395154
A new public release - 1739395158
2025-02-12 22:21:03 +01:00
uug4ai 794f424fe2 A new public release - 1739395158 2025-02-12 21:19:18 +00:00
Cédric Verstraeten 9ba5d83501 Merge pull request #26 from kerberos-io/fix/make-orphaned-deletion-configurable
Allow editing of orphaned day limit
2024-12-02 12:56:56 +01:00
Cedric Verstraeten 1f089fba28 Update Chart.yaml 2024-12-02 12:56:42 +01:00
Cedric Verstraeten a07ddeb0e4 allow editing of orphaned day limit 2024-12-02 12:45:34 +01:00
Cédric Verstraeten df4d848105 Merge pull request #25 from kerberos-io/feature/inject-namespace-required-for-kustomize
Improvement / Missed some namespaces on several resources
2024-12-02 11:42:10 +01:00
Cedric Verstraeten 054d3d6079 Update Chart.yaml 2024-12-02 11:33:08 +01:00
Cedric Verstraeten bdd07d3936 missed some namespaces 2024-12-02 11:33:00 +01:00
Cédric Verstraeten 4a774420c2 Merge pull request #24 from kerberos-io/feature/inject-namespace-required-for-kustomize
Feature/inject namespace required for kustomize
2024-12-02 11:22:53 +01:00
Cédric Verstraeten 121ea686a2 Merge pull request #23 from kerberos-io/cedricve-patch-1
set kerberosvault to true (thumbnails)
2024-12-02 11:22:41 +01:00
Cedric Verstraeten e7f90babc2 use spec.ingressClassName instead of kubernetes.io/ingress.class 2024-12-02 11:13:30 +01:00
Cedric Verstraeten e6cbe866fd Update servicemonitor.yaml 2024-12-02 11:06:44 +01:00
Cedric Verstraeten eb75a46972 replace with other variable (official helm variable) 2024-12-02 11:02:56 +01:00
Cedric Verstraeten 24ef6047f8 Update README.md 2024-12-02 10:56:13 +01:00
Cedric Verstraeten d93a5d228c change templates to include namespace 2024-12-02 10:54:19 +01:00
Cédric Verstraeten 8b016ca2f8 set kerberosvault to true (thumbnails) 2024-11-29 13:42:08 +01:00
Cédric Verstraeten d8a29e37ec Merge pull request #22 from kerberos-io/feature/turn-on-off-ingress-add-workflows
Add possibility to turn on/off ingress
2024-11-27 14:24:38 +01:00
Cedric Verstraeten 14c6737f5c Update values.yaml 2024-11-27 14:06:12 +01:00
Cedric Verstraeten c71eadd28a add prometheus 2024-11-27 13:49:46 +01:00
Cedric Verstraeten 90c892eb12 update chart reference 2024-11-27 13:31:19 +01:00
Cedric Verstraeten 19399a01ca update references helm chart values.yaml 2024-11-27 13:28:58 +01:00
Cedric Verstraeten a75358affb change values.yaml file. 2024-11-27 13:26:40 +01:00
Cedric Verstraeten 9b8050a7f6 add files 2024-11-27 13:24:15 +01:00
Cédric Verstraeten 99b6f71971 Merge pull request #21 from kerberos-io/feature/add-assign-task-template
Add asign task template
2024-11-27 11:14:38 +01:00
Cedric Verstraeten 39bb5a5f60 add assign_task templates 2024-11-27 11:11:25 +01:00
Cédric Verstraeten 3a68cf38d5 Merge pull request #20 from kerberos-io/feature/add-assign-task-template
Add Assign Task details
2024-11-26 16:54:17 +01:00
Cedric Verstraeten 84d40e805e add assign_task parameters 2024-11-26 16:52:33 +01:00
Cédric Verstraeten 98daf4eb31 Merge pull request #19 from kerberos-io/cedricve-patch-1
Update license
2024-11-22 14:41:45 +01:00
Cédric Verstraeten f6817864ba Update values.yaml 2024-11-22 14:39:54 +01:00
Cédric Verstraeten b62360f72f Merge pull request #18 from kerberos-io/feature/add-global-image-registry
Add image registry option
2024-11-20 15:15:17 +01:00
Cedric Verstraeten 465b6d91b2 add image registry 2024-11-20 15:12:41 +01:00
Cédric Verstraeten db96c2a203 Merge pull request #16 from kerberos-io/public-release-1731600351
A new public release - 1731600354
2024-11-14 17:06:48 +01:00
uug4ai 1a816be11e A new public release - 1731600354 2024-11-14 16:05:54 +00:00
Cédric Verstraeten 41957b69d6 Merge pull request #15 from kerberos-io/public-release-1730577950
A new public release - 1730577953
2024-11-02 21:15:25 +01:00
uug4ai b19eb7f640 A new public release - 1730577953 2024-11-02 20:05:53 +00:00
Cédric Verstraeten d3390d519d Merge pull request #14 from kerberos-io/feature/add-oauth-to-api
revert oauth to frontend + upgrade 0.71.0
2024-10-31 16:42:36 +01:00
Cedric Verstraeten aa73e9585c revert oauth to frontend + upgrade 0.71.0 2024-10-31 16:40:01 +01:00
Cédric Verstraeten c70cf7f222 Merge pull request #13 from kerberos-io/feature/add-oauth-to-api
try out --skip-auth-preflight=true
2024-10-31 16:01:10 +01:00
Cedric Verstraeten d30b7446c0 try out --skip-auth-preflight=true 2024-10-31 16:00:18 +01:00
Cédric Verstraeten d816910742 Merge pull request #12 from kerberos-io/feature/add-oauth-to-api
preflight cors fix
2024-10-31 12:56:49 +01:00
Cedric Verstraeten 7a3fde3b4c preflight cors fix 2024-10-31 12:53:12 +01:00
Cédric Verstraeten 19d3f0c448 Merge pull request #11 from kerberos-io/feature/add-oauth-to-api
upgrade to 0.68.0
2024-10-30 22:31:28 +01:00
Cedric Verstraeten a935bed9e4 upgrade to 0.68.0 2024-10-30 22:30:42 +01:00
Cédric Verstraeten d72e7aecf5 Merge pull request #10 from kerberos-io/feature/add-oauth-to-api
convert to string + upgrade to 0.67.0
2024-10-30 22:22:51 +01:00
Cedric Verstraeten 4dfad6497e convert to string + upgrade to 0.67.0 2024-10-30 22:21:32 +01:00
Cédric Verstraeten 93ba207017 Merge pull request #9 from kerberos-io/feature/add-oauth-to-api
add cors to ingress + upgrade to 0.66.0
2024-10-30 22:16:50 +01:00
Cedric Verstraeten bebfc33aa5 add cors to ingress + upgrade to 0.66.0 2024-10-30 22:15:53 +01:00
Cédric Verstraeten fb9c0d1a03 Merge pull request #8 from kerberos-io/feature/add-oauth-to-api
oauth for api + upgrade to 0.65.0
2024-10-30 22:05:32 +01:00
Cedric Verstraeten 95a431f46d oauth for api + upgrade to 0.65.0 2024-10-30 22:01:12 +01:00
Cédric Verstraeten 7631b10aeb Merge pull request #7 from kerberos-io/feature/add-oauth-to-api
update to 0.64.0 + change ingress names
2024-10-30 21:47:14 +01:00
Cedric Verstraeten 2ef457d2da update to 0.64.0 + change ingress names 2024-10-30 21:46:06 +01:00
Cédric Verstraeten 60f5eb7b0d Merge pull request #6 from kerberos-io/feature/add-oauth-to-api
upgrade to 0.63.0 - missing ingress
2024-10-30 21:43:25 +01:00
Cedric Verstraeten a48d866036 upgrade to 0.63.0 - missing ingress 2024-10-30 21:42:25 +01:00
Cédric Verstraeten 4da81e158f Merge pull request #5 from kerberos-io/feature/add-oauth-to-api
Enable oauth on hub api as well
2024-10-30 21:26:28 +01:00
Cedric Verstraeten 6d542eadef enable oauth on hub api as well 2024-10-30 21:24:36 +01:00
Cédric Verstraeten ecfaf23499 Merge pull request #4 from kerberos-io/public-release-1728500577
A new public release - 1728500581
2024-10-09 21:03:46 +02:00
uug4ai e6449b761f A new public release - 1728500581 2024-10-09 19:03:01 +00:00
Cédric Verstraeten 90cf8a2f36 Merge pull request #3 from kerberos-io/public-release-1728491349
A new public release - 1728491354
2024-10-09 18:31:12 +02:00
uug4ai f0c88c6b62 A new public release - 1728491354 2024-10-09 16:29:14 +00:00
Cedric Verstraeten aebd16d510 upgrade to 0.61.0 2024-10-04 22:37:01 +02:00
Cedric Verstraeten 79faf46156 align attributes 2024-10-04 21:12:21 +02:00
Cédric Verstraeten d23dd5fa42 Merge pull request #2 from kerberos-io/feature/add-support-for-oauth2-proxy
Upgrade to 0.58.0
2024-10-04 19:54:11 +02:00
Cedric Verstraeten f65a75ae33 upgrade to 0.58.0 2024-10-04 19:52:05 +02:00
Cédric Verstraeten 5a506cfe6a Merge pull request #1 from kerberos-io/feature/add-support-for-oauth2-proxy
Feature/add support for oauth2 proxy
2024-10-04 14:26:04 +02:00
Cedric Verstraeten ea3c96b4f9 Update Chart.yaml 2024-10-04 14:24:58 +02:00
Cedric Verstraeten 95ca1689dc Create pr-description.yml 2024-10-04 08:58:59 +02:00
Cedric Verstraeten 601147a3d5 add support for oauth2-proxy 2024-10-04 08:53:01 +02:00
Cedric Verstraeten 3478d42681 possibility to enable support mode on the api 2024-10-03 09:40:05 +02:00
Cedric Verstraeten a88c2253e7 fix for ingress (beta) 2024-09-14 22:35:40 +02:00
Cedric Verstraeten 3de5ef6936 add trial license go up to 8 cameras 2024-09-07 18:13:48 +02:00
Cedric Verstraeten 11172c1e44 upgrade to 0.54.3 2024-07-23 12:50:21 +02:00
Cedric Verstraeten 10e0adddca add videowall role permissions + fix loading videowalls from non-owner users 2024-07-23 12:48:28 +02:00
Cedric Verstraeten 89630528e4 hotfix: create videowall issue 2024-07-03 12:51:58 +02:00
Cedric Verstraeten 8373a1df86 upgrade helmchart 2024-07-02 16:54:58 +02:00
Cedric Verstraeten 178f509ecf Update values.yaml 2024-07-02 16:51:38 +02:00
Cedric Verstraeten e1b19b47cd Update Chart.yaml 2024-06-11 10:28:22 +02:00
Cedric Verstraeten 6a836bc9b4 upgrade chart to app version 1.3.0 2024-06-11 10:27:27 +02:00
Cedric Verstraeten 90fba44e8a add first version videowall + optimisations for sprite and thumbnails 2024-06-11 10:26:04 +02:00
Cedric Verstraeten 96549fa58c upgrade helm chart to 0.54.0 2024-05-15 16:13:48 +02:00
Cedric Verstraeten c72902bacd support for forcing SSO on domain 2024-05-15 10:00:56 +02:00
Cedric Verstraeten b3d7c61108 fix 2024-05-14 16:47:47 +02:00
Cedric Verstraeten 127887b374 add claim support for sso 2024-04-24 16:02:51 +02:00
Cedric Verstraeten 0242a5c657 hotfix: removal mfa secrets + ui fixes 2024-03-21 14:19:26 +01:00
Cedric Verstraeten f765361e2e hot fix: internal dns 2024-03-20 14:23:27 +01:00
Cedric Verstraeten 0ab642f766 upgrade: export image 2024-03-20 12:05:13 +01:00
Cedric Verstraeten 1deab0d3b9 hotfix: creating export task through sub account 2024-03-20 08:42:51 +01:00
Cedric Verstraeten c3cb5b4ea9 add export feature + force mfa + and more fixes 2024-03-19 21:39:29 +01:00
Cedric Verstraeten fb1c40e930 renewed the license verification + you might need to request a new license 2024-02-29 13:58:34 +01:00
Cedric Verstraeten 62c95a7dbe support for mongodb 6.x and beyond + added readonly attribute 2024-02-28 19:31:12 +01:00
Cedric Verstraeten 59815dcd71 feature: allow AMQPS for rabbitmq (now supporting AWS rabbitmq service) 2024-02-25 19:35:42 +01:00
Cedric Verstraeten 9151cc6344 upgrade helm chart 0.50 2024-02-12 01:24:01 +01:00
Cedric Verstraeten d4da31233f feature: allow multiple OIDC providers and different domains 2024-01-30 23:40:55 +01:00
Cédric Verstraeten 372f129355 Update values.yaml 2024-01-26 20:54:36 +01:00
Cedric Verstraeten 1549f5f365 hot-fix: replace pullsecrets with variable 2024-01-26 20:52:31 +01:00
Cedric Verstraeten 2ee475ca3d hot fix: openai disabled, media filter broken 2023-11-13 12:33:54 +01:00
Cedric Verstraeten 73bec39ab7 fixes 2023-11-10 15:23:03 +01:00
Cedric Verstraeten bd9908c1c5 forwarding issue thumbnails (showed duplicate) + fix monitor queue for forwarded items 2023-10-02 09:50:18 +02:00
Cedric Verstraeten 24bdab5bb8 fixes remote configuration + add new feature permissions + fix for camera assignment on sub accounts + and more 2023-09-16 07:27:44 +02:00
Cedric Verstraeten a77ed61488 add onboard presets + site detail live view + ui improvements 2023-08-31 12:53:45 +02:00
Cedric Verstraeten 231c5db46f add PTZ presets + function access 2023-08-28 14:24:04 +02:00
Cédric Verstraeten a3ed4b7565 Update icons.js 2023-08-25 16:11:27 +02:00
Cédric Verstraeten b0f23d1879 add variables 2023-08-08 21:57:17 +02:00
Cedric Verstraeten 77236d0b29 update notification + new email templates variables + MQTT fixes kerberos hub frontend 2023-08-08 21:39:20 +02:00
Cedric Verstraeten 4391d94065 ONVIF zoom + ptz, new status for idle (agent connect even if stream offline) + new payment stripe API (3DS) 2023-07-03 20:16:41 +02:00
Cédric Verstraeten 986412db35 enable proxy-body-size: 200m to overcome 413 entity too large 2023-06-24 00:41:39 +02:00
Cedric Verstraeten 98e7472fd6 fix for motion regions linked to old devices 2023-06-06 09:33:02 +02:00
Cédric Verstraeten 0ecd66db77 complete indexes 2023-06-02 22:55:31 +02:00
Cedric Verstraeten b7cc6ea99c release 0.47.0 2023-06-02 16:46:41 +02:00
Cédric Verstraeten 955144df23 Update values.yaml 2023-04-27 11:23:02 +02:00
37 changed files with 1988 additions and 307 deletions
+42
View File
@@ -0,0 +1,42 @@
name: Deploy on Kind
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
matrix:
kind: [v0.21.0, v0.22.0, v0.23.0, v0.24.0]
steps:
- name: Create k8s Kind Cluster
uses: helm/kind-action@v1
with:
version: ${{ matrix.kind }}
- name: Print Kubernetes Version
run: |
kubectl version
- name: Test Kubernetes Cluster
run: |
kubectl get no
kubectl get pods -A -o wide
kubectl get sc
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Prometheus operator
id: install-prometheus-operator
run: |
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.48.1/bundle.yaml
echo "Sleeping for 30 seconds, give time for the operator to create the CRDs" && sleep 30
kubectl get crd
kubectl get po -A -o wide
- name: Install Kerberos Hub helm chart
id: install-kerberos-hub
run: |
kubectl create namespace kerberos-hub
helm install hub ./charts/hub --values charts/hub/values.yaml -n kerberos-hub --create-namespace
echo "Sleeping for 300 seconds, give time for the helm chart to create the pods" && sleep 300
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep hub-frontend | awk '{print $3}' | grep -q '1/1' && echo "hub-frontend pod is running with status 1/1" || (echo "kerberos-hub pod is not running with status 1/1" && exit 1)
+43
View File
@@ -0,0 +1,43 @@
name: Deploy on Microk8s
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
deploy:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
name: MicroK8s
steps:
- uses: balchua/microk8s-actions@v0.4.3
with:
channel: "1.30/stable"
addons: '["dns", "dashboard", "hostpath-storage", "nvidia"]'
- name: Set permissions
run: |
sudo chown -f -R $USER $HOME/.kube $HOME/.config
- name: Test MicroK8s
id: list-pods
run: |
kubectl get no
kubectl get pods -A -o wide
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Prometheus operator
id: install-prometheus-operator
run: |
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.48.1/bundle.yaml
echo "Sleeping for 30 seconds, give time for the operator to create the CRDs" && sleep 30
kubectl get crd
kubectl get po -A -o wide
- name: Install Kerberos Hub helm chart
id: install-kerberos-hub
run: |
kubectl create namespace kerberos-hub
helm install hub ./charts/hub --values charts/hub/values.yaml -n kerberos-hub --create-namespace
echo "Sleeping for 300 seconds, give time for the helm chart to create the pods" && sleep 300
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep hub-frontend | awk '{print $3}' | grep -q '1/1' && echo "hub-frontend pod is running with status 1/1" || (echo "kerberos-hub pod is not running with status 1/1" && exit 1)
+19
View File
@@ -0,0 +1,19 @@
name: Autofill PR description
on: pull_request
jobs:
openai-pr-description:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Autofill PR description if empty using OpenAI
uses: cedricve/azureopenai-pr-description@master
with:
github_token: ${{ secrets.TOKEN }}
openai_api_key: ${{ secrets.OPENAI_API_KEY }}
azure_openai_api_key: ${{ secrets.AZURE_OPENAI_API_KEY }}
azure_openai_endpoint: ${{ secrets.AZURE_OPENAI_ENDPOINT }}
azure_openai_version: ${{ secrets.AZURE_OPENAI_VERSION }}
overwrite_description: true
+1 -1
View File
@@ -2,7 +2,7 @@
Kerberos.io ecosystem can be deployed through Helm charts. Use one of the following charts to boost the installation:
- [Hub](https://github.com/kerberos-io/helm-charts/tree/main/charts/hub) chart
- [Hub](https://github.com/kerberos-io/helm-charts/tree/main/charts/hub)
## Prerequisite
+3 -3
View File
@@ -1,6 +1,6 @@
apiVersion: v2
name: hub
description: A Helm chart for install Kerberos Hub in Kubernetes
description: A Helm chart to install Kerberos Hub in Kubernetes
icon: https://doc.kerberos.io/images/kerberos-logo.svg
# A chart can be either an 'application' or a 'library' chart.
@@ -16,10 +16,10 @@ 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.46.0
version: 0.88.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
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "3.0.0"
appVersion: "3.3.0"
+5 -2
View File
@@ -223,13 +223,14 @@ Within the Kerberos Hub front-end you'll see the option to filter through classi
### Indexing
Following indexes should be executed on the MongoDB database (Kerberos) to improve future performance.
Following indexes should be executed on the MongoDB database (Kerberos) to improve future performance. Within Kerberos Hub several queries are executed, following indexes will improve the loading times. If not applied you might experience application timeouts or reduced performance when storing lots of data.
#### Sequences collection
db.getCollection('sequences').createIndex({start:1})
db.getCollection('sequences').createIndex({user_id:1, "images.key":1})
db.getCollection('sequences').createIndex({user_id:1, end:1, start: -1, devices: 1})
db.getCollection('sequences').createIndex({user_id:1, end:1, start: 1, "images.instanceName": 1})
db.getCollection('sequences').createIndex({user_id:1, "images.key":1})
#### Notifications collection
@@ -239,11 +240,13 @@ Following indexes should be executed on the MongoDB database (Kerberos) to impro
#### Analysis collection
db.getCollection("analysis").createIndex({start:1})
db.getCollection("analysis").createIndex({userid:1, key:1})
db.getCollection("analysis").createIndex({userid:1, start:1})
#### Heatmap collection
db.getCollection("heatmap").createIndex({timestamp:1})
db.getCollection("heatmap").createIndex({user_id:1, timestamp: 1})
# Upgrade
+338 -16
View File
@@ -13,6 +13,12 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.92677 0.00271038C10.4021 -0.03219 10.836 0.273183 10.9635 0.732382L13.094 8.40217L13.4453 8.16798C13.6096 8.05846 13.8026 8.00003 14 8.00003H17C17.5523 8.00003 18 8.44774 18 9.00003C18 9.55231 17.5523 10 17 10H14.3028L13.0547 10.8321C12.7879 11.0099 12.4521 11.0491 12.1515 10.9374C11.851 10.8256 11.6223 10.5766 11.5365 10.2677L10.3729 6.07887L8.99228 17.1241C8.93316 17.597 8.54854 17.9624 8.07323 17.9973C7.59793 18.0322 7.16404 17.7269 7.03648 17.2677L4.90599 9.59789L4.5547 9.83208C4.39043 9.94159 4.19742 10 4 10H1C0.447715 10 0 9.55231 0 9.00003C0 8.44774 0.447715 8.00003 1 8.00003H3.69722L4.9453 7.16797C5.21207 6.99013 5.54794 6.95098 5.84846 7.0627C6.14898 7.17442 6.37771 7.42346 6.46352 7.73238L7.62707 11.9212L9.00772 0.875991C9.06684 0.403086 9.45146 0.0376109 9.92677 0.00271038Z" fill="currentColor"/>
</svg>`
/* Task activity log */
window["env"]["svg"]["activity-task"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 2.25C0 2.01379 0.223858 1.75 0.5 1.75H2.5C2.77614 1.75 3 2.01379 3 2.25C3 2.48621 2.77614 2.75 2.5 2.75H0.5C0.223858 2.75 0 2.48621 0 2.25ZM4 2.25C4 2.01379 4.22386 1.75 4.5 1.75H14.5C14.7761 1.75 15 2.01379 15 2.25C15 2.48621 14.7761 2.75 14.5 2.75H4.5C4.22386 2.75 4 2.48621 4 2.25ZM4 5.25C4 5.01379 4.22386 4.75 4.5 4.75H11.5C11.7761 4.75 12 5.01379 12 5.25C12 5.48621 11.7761 5.75 11.5 5.75H4.5C4.22386 5.75 4 5.48621 4 5.25ZM0 8.25C0 8.01379 0.223858 7.75 0.5 7.75H2.5C2.77614 7.75 3 8.01379 3 8.25C3 8.48621 2.77614 8.75 2.5 8.75H0.5C0.223858 8.75 0 8.48621 0 8.25ZM4 8.25C4 8.01379 4.22386 7.75 4.5 7.75H14.5C14.7761 7.75 15 8.01379 15 8.25C15 8.48621 14.7761 8.75 14.5 8.75H4.5C4.22386 8.75 4 8.48621 4 8.25ZM4 11.25C4 11.0138 4.22386 10.75 4.5 10.75H11.5C11.7761 10.75 12 11.0138 12 11.25C12 11.4862 11.7761 11.75 11.5 11.75H4.5C4.22386 11.75 4 11.4862 4 11.25ZM0 14.25C0 14.0138 0.223858 13.75 0.5 13.75H2.5C2.77614 13.75 3 14.0138 3 14.25C3 14.4862 2.77614 14.75 2.5 14.75H0.5C0.223858 14.75 0 14.4862 0 14.25ZM4 14.25C4 14.0138 4.22386 13.75 4.5 13.75H14.5C14.7761 13.75 15 14.0138 15 14.25C15 14.4862 14.7761 14.75 14.5 14.75H4.5C4.22386 14.75 4 14.4862 4 14.25Z" fill="#A69D9D"/>
</svg>`
/* Alerts */
window["env"]["svg"]["alerts"] = `<svg class="icon icon-alerts" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 4C6.79086 4 5 5.79086 5 8V12H13V8C13 5.79086 11.2091 4 9 4ZM3 8C3 4.68629 5.68629 2 9 2C12.3137 2 15 4.68629 15 8V14H3V8Z" fill="currentColor"/>
@@ -55,6 +61,11 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 9C18 8.44772 17.5523 8 17 8H1C0.447716 8 0 8.44772 0 9C0 9.55228 0.447716 10 1 10H17C17.5523 10 18 9.55228 18 9Z" fill="currentColor"/>
</svg>`
/* Book */
window["env"]["svg"]["book"] = `<svg class="icon icon-book" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.6133 1.69102C17.6133 0.970312 17.0227 0.386719 16.2949 0.386719H1.70508C0.977344 0.386719 0.386719 0.970312 0.386719 1.69102V14.7094C0.386719 16.0453 1.87383 17.6133 4.35234 17.6133H16.8926C17.7152 17.5465 17.7082 16.7695 17.4832 16.4883C17.4832 16.4883 17.4832 16.4848 17.4797 16.4848C16.2 14.6672 17.427 12.8391 17.4832 12.7582C17.4832 12.7582 17.6098 12.593 17.6133 12.3469V1.69102V1.69102ZM1.82109 1.82109H16.1754V11.6262H4.35234C3.38203 11.6262 2.50312 11.8758 1.82109 12.2977V1.82109V1.82109ZM1.82109 14.6215C1.82109 13.7777 2.98125 13.0641 4.35234 13.0641H15.75C15.4723 13.8516 15.2789 14.9695 15.7148 16.1789H4.35234C2.98125 16.1789 1.82109 15.4652 1.82109 14.6215Z" fill="currentColor"/>
</svg>`
/* Calendar */
window["env"]["svg"]["calendar"] = `<svg class="icon icon-calendar" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 4C0 2.89543 0.89543 2 2 2H16C17.1046 2 18 2.89543 18 4V16C18 17.1046 17.1046 18 16 18H2C0.89543 18 0 17.1046 0 16V4ZM16 4L2 4V16H16V4Z" fill="currentColor"/>
@@ -88,6 +99,38 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6C9.55228 6 10 5.55228 10 5C10 4.44772 9.55228 4 9 4C8.44772 4 8 4.44772 8 5C8 5.55228 8.44772 6 9 6ZM9 7C10.1046 7 11 6.10457 11 5C11 3.89543 10.1046 3 9 3C7.89543 3 7 3.89543 7 5C7 6.10457 7.89543 7 9 7Z" fill="currentColor"/>
</svg>`
/* Active devices */
window["env"]["svg"]["deviceActive"] = `<svg class="icon icon-camera" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7071 9.70711C15.5196 9.89464 15.2652 10 15 10L3 10C2.44772 10 2 9.55228 2 9L2 6.81819C2 5.91846 2.18279 5.02831 2.53711 4.19884C2.89139 3.36945 3.40981 2.61787 4.06121 1.98621C4.71255 1.3546 5.48415 0.85516 6.33118 0.514938C7.17817 0.174736 8.08494 -2.61718e-07 9 -3.41715e-07C9.91505 -4.21712e-07 10.8218 0.174736 11.6688 0.514938C12.5159 0.855159 13.2874 1.3546 13.9388 1.98621C14.5902 2.61787 15.1086 3.36944 15.4629 4.19884C15.8172 5.02831 16 5.91846 16 6.81819L16 9C16 9.26522 15.8946 9.51957 15.7071 9.70711ZM14 8L14 6.81819C14 6.1898 13.8724 5.5668 13.6237 4.98448C13.3749 4.40209 13.0094 3.87088 12.5465 3.42201C12.0835 2.97307 11.5323 2.61539 10.9234 2.37083C10.3145 2.12625 9.66081 2 9 2C8.33919 2 7.68554 2.12625 7.07662 2.37083C6.46775 2.61539 5.91647 2.97307 5.45351 3.42201C4.99061 3.87088 4.62511 4.40209 4.37634 4.98448C4.1276 5.5668 4 6.1898 4 6.81819L4 8L14 8Z" fill="#5E8F6E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 9C2 8.44772 2.44772 8 3 8H15C15.5523 8 16 8.44772 16 9V12C16 12.5523 15.5523 13 15 13H3C2.44772 13 2 12.5523 2 12V9ZM4 10V11H14V10H4Z" fill="#5E8F6E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 13C0 11.8954 0.895431 11 2 11H16C17.1046 11 18 11.8954 18 13V17C18 17.5523 17.5523 18 17 18H1C0.447715 18 0 17.5523 0 17V13ZM16 13H2V16H16V13Z" fill="#5E8F6E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6C9.55228 6 10 5.55228 10 5C10 4.44772 9.55228 4 9 4C8.44772 4 8 4.44772 8 5C8 5.55228 8.44772 6 9 6ZM9 7C10.1046 7 11 6.10457 11 5C11 3.89543 10.1046 3 9 3C7.89543 3 7 3.89543 7 5C7 6.10457 7.89543 7 9 7Z" fill="#5E8F6E"/>
</svg>`
/* inactive devices */
window["env"]["svg"]["deviceInactive"] = `<svg class="icon icon-camera" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7071 9.70711C15.5196 9.89464 15.2652 10 15 10L3 10C2.44772 10 2 9.55228 2 9L2 6.81819C2 5.91846 2.18279 5.02831 2.53711 4.19884C2.89139 3.36945 3.40981 2.61787 4.06121 1.98621C4.71255 1.3546 5.48415 0.85516 6.33118 0.514938C7.17817 0.174736 8.08494 -2.61718e-07 9 -3.41715e-07C9.91505 -4.21712e-07 10.8218 0.174736 11.6688 0.514938C12.5159 0.855159 13.2874 1.3546 13.9388 1.98621C14.5902 2.61787 15.1086 3.36944 15.4629 4.19884C15.8172 5.02831 16 5.91846 16 6.81819L16 9C16 9.26522 15.8946 9.51957 15.7071 9.70711ZM14 8L14 6.81819C14 6.1898 13.8724 5.5668 13.6237 4.98448C13.3749 4.40209 13.0094 3.87088 12.5465 3.42201C12.0835 2.97307 11.5323 2.61539 10.9234 2.37083C10.3145 2.12625 9.66081 2 9 2C8.33919 2 7.68554 2.12625 7.07662 2.37083C6.46775 2.61539 5.91647 2.97307 5.45351 3.42201C4.99061 3.87088 4.62511 4.40209 4.37634 4.98448C4.1276 5.5668 4 6.1898 4 6.81819L4 8L14 8Z" fill="#696969"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 9C2 8.44772 2.44772 8 3 8H15C15.5523 8 16 8.44772 16 9V12C16 12.5523 15.5523 13 15 13H3C2.44772 13 2 12.5523 2 12V9ZM4 10V11H14V10H4Z" fill="#696969"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 13C0 11.8954 0.895431 11 2 11H16C17.1046 11 18 11.8954 18 13V17C18 17.5523 17.5523 18 17 18H1C0.447715 18 0 17.5523 0 17V13ZM16 13H2V16H16V13Z" fill="#696969"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6C9.55228 6 10 5.55228 10 5C10 4.44772 9.55228 4 9 4C8.44772 4 8 4.44772 8 5C8 5.55228 8.44772 6 9 6ZM9 7C10.1046 7 11 6.10457 11 5C11 3.89543 10.1046 3 9 3C7.89543 3 7 3.89543 7 5C7 6.10457 7.89543 7 9 7Z" fill="#696969"/>
</svg>`
/* Idle devices */
window["env"]["svg"]["deviceIdle"] = `<svg class="icon icon-camera" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7071 9.70711C15.5196 9.89464 15.2652 10 15 10L3 10C2.44772 10 2 9.55228 2 9L2 6.81819C2 5.91846 2.18279 5.02831 2.53711 4.19884C2.89139 3.36945 3.40981 2.61787 4.06121 1.98621C4.71255 1.3546 5.48415 0.85516 6.33118 0.514938C7.17817 0.174736 8.08494 -2.61718e-07 9 -3.41715e-07C9.91505 -4.21712e-07 10.8218 0.174736 11.6688 0.514938C12.5159 0.855159 13.2874 1.3546 13.9388 1.98621C14.5902 2.61787 15.1086 3.36944 15.4629 4.19884C15.8172 5.02831 16 5.91846 16 6.81819L16 9C16 9.26522 15.8946 9.51957 15.7071 9.70711ZM14 8L14 6.81819C14 6.1898 13.8724 5.5668 13.6237 4.98448C13.3749 4.40209 13.0094 3.87088 12.5465 3.42201C12.0835 2.97307 11.5323 2.61539 10.9234 2.37083C10.3145 2.12625 9.66081 2 9 2C8.33919 2 7.68554 2.12625 7.07662 2.37083C6.46775 2.61539 5.91647 2.97307 5.45351 3.42201C4.99061 3.87088 4.62511 4.40209 4.37634 4.98448C4.1276 5.5668 4 6.1898 4 6.81819L4 8L14 8Z" fill="#D1A91E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 9C2 8.44772 2.44772 8 3 8H15C15.5523 8 16 8.44772 16 9V12C16 12.5523 15.5523 13 15 13H3C2.44772 13 2 12.5523 2 12V9ZM4 10V11H14V10H4Z" fill="#D1A91E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 13C0 11.8954 0.895431 11 2 11H16C17.1046 11 18 11.8954 18 13V17C18 17.5523 17.5523 18 17 18H1C0.447715 18 0 17.5523 0 17V13ZM16 13H2V16H16V13Z" fill="#D1A91E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6C9.55228 6 10 5.55228 10 5C10 4.44772 9.55228 4 9 4C8.44772 4 8 4.44772 8 5C8 5.55228 8.44772 6 9 6ZM9 7C10.1046 7 11 6.10457 11 5C11 3.89543 10.1046 3 9 3C7.89543 3 7 3.89543 7 5C7 6.10457 7.89543 7 9 7Z" fill="#D1A91E"/>
</svg>`
/* Motion devices */
window["env"]["svg"]["deviceMotion"] = `<svg class="icon icon-camera" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7071 9.70711C15.5196 9.89464 15.2652 10 15 10L3 10C2.44772 10 2 9.55228 2 9L2 6.81819C2 5.91846 2.18279 5.02831 2.53711 4.19884C2.89139 3.36945 3.40981 2.61787 4.06121 1.98621C4.71255 1.3546 5.48415 0.85516 6.33118 0.514938C7.17817 0.174736 8.08494 -2.61718e-07 9 -3.41715e-07C9.91505 -4.21712e-07 10.8218 0.174736 11.6688 0.514938C12.5159 0.855159 13.2874 1.3546 13.9388 1.98621C14.5902 2.61787 15.1086 3.36944 15.4629 4.19884C15.8172 5.02831 16 5.91846 16 6.81819L16 9C16 9.26522 15.8946 9.51957 15.7071 9.70711ZM14 8L14 6.81819C14 6.1898 13.8724 5.5668 13.6237 4.98448C13.3749 4.40209 13.0094 3.87088 12.5465 3.42201C12.0835 2.97307 11.5323 2.61539 10.9234 2.37083C10.3145 2.12625 9.66081 2 9 2C8.33919 2 7.68554 2.12625 7.07662 2.37083C6.46775 2.61539 5.91647 2.97307 5.45351 3.42201C4.99061 3.87088 4.62511 4.40209 4.37634 4.98448C4.1276 5.5668 4 6.1898 4 6.81819L4 8L14 8Z" fill="#B83E3E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 9C2 8.44772 2.44772 8 3 8H15C15.5523 8 16 8.44772 16 9V12C16 12.5523 15.5523 13 15 13H3C2.44772 13 2 12.5523 2 12V9ZM4 10V11H14V10H4Z" fill="#B83E3E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 13C0 11.8954 0.895431 11 2 11H16C17.1046 11 18 11.8954 18 13V17C18 17.5523 17.5523 18 17 18H1C0.447715 18 0 17.5523 0 17V13ZM16 13H2V16H16V13Z" fill="#B83E3E"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 6C9.55228 6 10 5.55228 10 5C10 4.44772 9.55228 4 9 4C8.44772 4 8 4.44772 8 5C8 5.55228 8.44772 6 9 6ZM9 7C10.1046 7 11 6.10457 11 5C11 3.89543 10.1046 3 9 3C7.89543 3 7 3.89543 7 5C7 6.10457 7.89543 7 9 7Z" fill="#B83E3E"/>
</svg>`
/* Cellphone */
window["env"]["svg"]["cell phone"] = `<svg class="icon icon-cell phone" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 3C0 1.34315 1.34315 0 3 0H15C16.6569 0 18 1.34315 18 3V15C18 16.6569 16.6569 18 15 18H3C1.34315 18 0 16.6569 0 15V3ZM3 2C2.44772 2 2 2.44772 2 3V15C2 15.5523 2.44772 16 3 16H15C15.5523 16 16 15.5523 16 15V3C16 2.44772 15.5523 2 15 2H3Z" fill="#A69D9D"/>
@@ -100,7 +143,7 @@
/* Change / Refresh (Subscription > Change plan) */
window["env"]["svg"]["change"] = `<svg class="icon icon-change" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
window["env"]["svg"]["change"] = `<svg class="icon icon-change" width="18" height="18" viewBox="0 0 18 18" fill="none" airxmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 17C0.447715 17 0 16.5523 0 16V12C0 11.4477 0.447715 11 1 11H5C5.55228 11 6 11.4477 6 12C6 12.5523 5.55228 13 5 13H2V16C2 16.5523 1.55228 17 1 17Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17 1C17.5523 1 18 1.44772 18 2V6C18 6.55228 17.5523 7 17 7H13C12.4477 7 12 6.55228 12 6C12 5.44772 12.4477 5 13 5H16V2C16 1.44772 16.4477 1 17 1Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.16201 0.0391048C9.81613 -0.115589 11.4808 0.190586 12.9716 0.923718C14.4625 1.65685 15.7213 2.78833 16.6087 4.19283C16.9036 4.65973 16.7643 5.27737 16.2974 5.57236C15.8305 5.86736 15.2128 5.72799 14.9178 5.26109C14.2277 4.1687 13.2486 3.28866 12.0891 2.71845C10.9295 2.14823 9.63478 1.9101 8.34824 2.03042C7.06169 2.15073 5.83356 2.62481 4.79986 3.40013C3.76616 4.17546 2.96723 5.22178 2.49157 6.4232C2.28827 6.9367 1.70718 7.18817 1.19368 6.98486C0.680172 6.78156 0.428706 6.20047 0.63201 5.68696C1.24358 4.14228 2.27077 2.79702 3.59981 1.80017C4.92885 0.803323 6.50788 0.193799 8.16201 0.0391048Z" fill="currentColor"/>
@@ -113,6 +156,11 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 5C4.55228 5 5 5.44772 5 6V10.3496L6.73857 16H7V11C7 10.4477 7.44772 10 8 10C8.55228 10 9 10.4477 9 11V17C9 17.5523 8.55228 18 8 18H6C5.561 18 5.17333 17.7137 5.04422 17.2941L3.04422 10.7941C3.01491 10.6988 3 10.5997 3 10.5V6C3 5.44772 3.44772 5 4 5Z" fill="currentColor"/>
</svg>`
/* Chair */
window["env"]["svg"]["chair"] = `<svg class="icon icon-chair" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.0001 3.609V2.39101C15.0001 1.07023 13.9295 0 12.6091 0H5.39033C4.06996 0 3.00009 1.07019 3.00009 2.39101V3.609C3.00009 4.88261 3.99494 5.92281 5.24988 5.99555V7.49999H3.74987C3.33566 7.49999 2.99988 7.83577 2.99988 8.24998V11.25V17.25C2.99988 17.6642 3.33566 18 3.74987 18C4.16408 18 4.49985 17.6642 4.49985 17.25V12H5.99987V15.75C5.99987 16.1642 6.33564 16.5 6.74985 16.5C7.16407 16.5 7.49984 16.1642 7.49984 15.75V12H10.4998V15.75C10.4998 16.1642 10.8356 16.5 11.2498 16.5C11.664 16.5 11.9998 16.1642 11.9998 15.75V12H13.4999V17.25C13.4999 17.6642 13.8356 18 14.2498 18C14.6641 18 14.9998 17.6642 14.9998 17.25V11.25V8.25001C14.9998 7.8358 14.6641 7.50002 14.2498 7.50002H12.7498V5.99555C14.0047 5.92263 15.0001 4.88246 15.0001 3.609ZM4.50007 3.609V2.39101C4.50007 1.89854 4.89846 1.50001 5.39033 1.50001H12.6091C13.1011 1.50001 13.5001 1.89879 13.5001 2.39101V3.609C13.5001 4.10122 13.1011 4.5 12.6091 4.5H5.39033C4.89846 4.5 4.50007 4.10147 4.50007 3.609ZM13.4999 10.5H4.49985V9H13.4999V10.5ZM6.74985 7.49999V5.99998H11.2499V7.49999H6.74985Z" fill="currentColor"/>
</svg>`
/* Chart Bars */
window["env"]["svg"]["chart-bars"] = `<svg class="icon icon-chart-bars" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="10" width="18" height="2.00001" rx="1.00001" transform="rotate(90 10 0)" fill="currentColor"/>
@@ -157,6 +205,15 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.27473 7.03849C7.80577 7.19021 8.11326 7.7437 7.96154 8.27473L6.96154 11.7747C6.80981 12.3058 6.25633 12.6133 5.72529 12.4615C5.19426 12.3098 4.88677 11.7563 5.03849 11.2253L6.03849 7.72529C6.19021 7.19426 6.7437 6.88677 7.27473 7.03849Z" fill="currentColor"/>
</svg>`
/* Motorcycle (Alerts > Detections, detection classification) */
window["env"]["svg"]["motorcycle"] = `<svg class="icon icon-cyclist" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 12C2.89543 12 2 12.8954 2 14C2 15.1046 2.89543 16 4 16C5.10457 16 6 15.1046 6 14C6 12.8954 5.10457 12 4 12ZM0 14C0 11.7909 1.79086 10 4 10C6.20914 10 8 11.7909 8 14C8 16.2091 6.20914 18 4 18C1.79086 18 0 16.2091 0 14Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.5 2C11.2239 2 11 2.22386 11 2.5C11 2.77614 11.2239 3 11.5 3C11.7761 3 12 2.77614 12 2.5C12 2.22386 11.7761 2 11.5 2ZM9 2.5C9 1.11929 10.1193 0 11.5 0C12.8807 0 14 1.11929 14 2.5C14 3.88071 12.8807 5 11.5 5C10.1193 5 9 3.88071 9 2.5Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 12C12.8954 12 12 12.8954 12 14C12 15.1046 12.8954 16 14 16C15.1046 16 16 15.1046 16 14C16 12.8954 15.1046 12 14 12ZM10 14C10 11.7909 11.7909 10 14 10C16.2091 10 18 11.7909 18 14C18 16.2091 16.2091 18 14 18C11.7909 18 10 16.2091 10 14Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 8C16 8.55228 15.5523 9 15 9L12 9C11.7729 9 11.5526 8.92272 11.3753 8.78087L9.5 7.28062L8.49713 8.08292L10.7071 10.2929C11.0976 10.6834 11.0976 11.3166 10.7071 11.7071L7.70711 14.7071C7.31658 15.0976 6.68342 15.0976 6.29289 14.7071C5.90237 14.3166 5.90237 13.6834 6.29289 13.2929L8.58579 11L6.29289 8.70711C6.09176 8.50597 5.9858 8.22871 6.00153 7.9447C6.01726 7.66069 6.15319 7.39682 6.37531 7.21913L8.87531 5.21913C9.24052 4.92696 9.75948 4.92696 10.1247 5.21913L12.3508 7L15 7C15.5523 7 16 7.44771 16 8Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.27473 7.03849C7.80577 7.19021 8.11326 7.7437 7.96154 8.27473L6.96154 11.7747C6.80981 12.3058 6.25633 12.6133 5.72529 12.4615C5.19426 12.3098 4.88677 11.7563 5.03849 11.2253L6.03849 7.72529C6.19021 7.19426 6.7437 6.88677 7.27473 7.03849Z" fill="currentColor"/>
</svg>`
/* Credit card (Subscriptions > Billing) */
window["env"]["svg"]["credit-card"] = `<svg class="icon icon-credit-card" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 7C0 6.44772 0.447715 6 1 6H17C17.5523 6 18 6.44772 18 7C18 7.55228 17.5523 8 17 8H1C0.447715 8 0 7.55228 0 7Z" fill="currentColor"/>
@@ -182,6 +239,13 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2ZM0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9Z" fill="currentColor"/>
</svg>`
window["env"]["svg"]["cross-light-small"] = `
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.195262 0.195262C0.455612 -0.0650874 0.877722 -0.0650874 1.13807 0.195262L11.8047 10.8619C12.0651 11.1223 12.0651 11.5444 11.8047 11.8047C11.5444 12.0651 11.1223 12.0651 10.8619 11.8047L0.195262 1.13807C-0.0650874 0.877722 -0.0650874 0.455612 0.195262 0.195262Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.195262 11.8047C-0.0650874 11.5444 -0.0650874 11.1223 0.195262 10.8619L10.8619 0.19526C11.1223 -0.0650897 11.5444 -0.0650897 11.8047 0.19526C12.0651 0.455611 12.0651 0.877719 11.8047 1.13807L1.13807 11.8047C0.877722 12.0651 0.455612 12.0651 0.195262 11.8047Z" fill="#A69D9D"/>
</svg>
`
/* Dashboard */
window["env"]["svg"]["dashboard"] = `<svg class="icon icon-dashboard" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H5C5.55228 0 6 0.447715 6 1V7C6 7.55228 5.55228 8 5 8H1C0.447715 8 0 7.55228 0 7V1ZM2 2V6H4V2H2Z" fill="currentColor"/>
@@ -190,6 +254,14 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 11C11 10.4477 11.4477 10 12 10H17C17.5523 10 18 10.4477 18 11V17C18 17.5523 17.5523 18 17 18H12C11.4477 18 11 17.5523 11 17V11ZM13 12V16H16V12H13Z" fill="currentColor"/>
</svg>`
/* Datasets */
window["env"]["svg"]["datasets"] = `<svg class="icon icon-datasets" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0.999878C0 0.447593 0.447715 -0.00012207 1 -0.00012207H7C7.55228 -0.00012207 8 0.447593 8 0.999878V7.99988C8 8.55216 7.55228 8.99988 7 8.99988H1C0.447715 8.99988 0 8.55216 0 7.99988V0.999878ZM2 1.99988V6.99988H6V1.99988H2Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 10.9999C10 10.4476 10.4477 9.99988 11 9.99988H17C17.5523 9.99988 18 10.4476 18 10.9999V16.9999C18 17.5522 17.5523 17.9999 17 17.9999H11C10.4477 17.9999 10 17.5522 10 16.9999V10.9999ZM12 11.9999V15.9999H16V11.9999H12Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 10.9999C4.35126 10.9999 4.67677 11.1842 4.85749 11.4854L7.85749 16.4854C8.04285 16.7943 8.04771 17.1791 7.8702 17.4926C7.69269 17.8061 7.36027 17.9999 7 17.9999L1 17.9999C0.639728 17.9999 0.307306 17.8061 0.1298 17.4926C-0.0477054 17.1791 -0.0428512 16.7943 0.142507 16.4854L3.14251 11.4854C3.32323 11.1842 3.64874 10.9999 4 10.9999ZM4 13.9435L2.76619 15.9999H5.23381L4 13.9435Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 3.99988C10 1.79074 11.7909 -0.00012207 14 -0.00012207C16.2091 -0.00012207 18 1.79074 18 3.99988C18 6.20902 16.2091 7.99988 14 7.99988C11.7909 7.99988 10 6.20902 10 3.99988ZM14 1.99988C12.8954 1.99988 12 2.89531 12 3.99988C12 5.10445 12.8954 5.99988 14 5.99988C15.1046 5.99988 16 5.10445 16 3.99988C16 2.89531 15.1046 1.99988 14 1.99988Z" fill="#A69D9D"/>
</svg>`
/* Docs */
window["env"]["svg"]["docs"] = `<svg class="icon icon-docs" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 4.60302V12.464C2.75731 12.2175 3.77322 12 5 12C6.22678 12 7.24269 12.2175 8 12.464V4.60302C7.88559 4.55183 7.75049 4.49606 7.59576 4.43979C6.9995 4.22297 6.11545 4 5 4C3.88455 4 3.0005 4.22297 2.40424 4.43979C2.24951 4.49606 2.11441 4.55183 2 4.60302ZM9 4L9.5547 3.16795C9.8329 3.35342 10 3.66565 10 4V14C10 14.3688 9.79702 14.7077 9.47186 14.8817C9.14856 15.0547 8.75666 15.0368 8.45057 14.8355L8.44925 14.8347C8.45014 14.8352 8.45012 14.8353 8.45057 14.8355C8.44881 14.8344 8.44705 14.8332 8.4453 14.8321L9 14C8.4453 14.8321 8.445 14.8319 8.4453 14.8321L8.44754 14.8335L8.44925 14.8347C8.44479 14.8319 8.43416 14.8252 8.41886 14.8161C8.38824 14.7979 8.3363 14.7681 8.264 14.7303C8.11924 14.6548 7.89395 14.5482 7.59576 14.4398C6.9995 14.223 6.11545 14 5 14C3.88455 14 3.0005 14.223 2.40424 14.4398C2.10605 14.5482 1.88076 14.6548 1.736 14.7303C1.6637 14.7681 1.61176 14.7979 1.58114 14.8161C1.56584 14.8252 1.55591 14.8314 1.55145 14.8343L1.55246 14.8335L1.55352 14.8328C1.55197 14.8339 1.55099 14.8345 1.54944 14.8355C1.24335 15.0368 0.851445 15.0547 0.528142 14.8817C0.202985 14.7077 0 14.3688 0 14V4C0 3.66565 0.167101 3.35342 0.4453 3.16795L1 4C0.4453 3.16795 0.444975 3.16817 0.4453 3.16795L0.446621 3.16707L0.448085 3.1661L0.45144 3.16388L0.459854 3.15839L0.483463 3.14328C0.5022 3.13145 0.52693 3.11616 0.557531 3.09793C0.618713 3.06148 0.703488 3.01319 0.810871 2.95717C1.02549 2.84519 1.33145 2.70177 1.72076 2.56021C2.4995 2.27703 3.61545 2 5 2C6.38455 2 7.5005 2.27703 8.27924 2.56021C8.66855 2.70177 8.97451 2.84519 9.18913 2.95717C9.29651 3.01319 9.38129 3.06148 9.44247 3.09793C9.47307 3.11616 9.4978 3.13145 9.51654 3.14328L9.54015 3.15839L9.54856 3.16388L9.55192 3.1661L9.55338 3.16707L9.5547 3.16795C9.55502 3.16817 9.5547 3.16795 9 4ZM1.54944 14.8355C1.54989 14.8352 1.55056 14.8348 1.55145 14.8343L1.54944 14.8355C1.54912 14.8357 1.54876 14.836 1.54944 14.8355Z" fill="currentColor"/>
@@ -278,6 +350,23 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 3C11.5523 3 12 3.44772 12 4V10H13C13.5523 10 14 10.4477 14 11C14 11.5523 13.5523 12 13 12H11C10.4477 12 10 11.5523 10 11V4C10 3.44772 10.4477 3 11 3Z" fill="currentColor"/>
</svg>`
/* Fullscreen */
window["env"]["svg"]["fullscreen"] = `<svg class="icon icon-fullscreen" svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7 1H2C1.44772 1 1 1.44772 1 2V7" stroke="currentColor" stroke-width="2"/>
<path d="M11 1H16C16.5523 1 17 1.44772 17 2V7" stroke="currentColor" stroke-width="2"/>
<path d="M11 17H16C16.5523 17 17 16.5523 17 16V11" stroke="currentColor" stroke-width="2"/>
<path d="M7 17H2C1.44772 17 1 16.5523 1 16V11" stroke="currentColor" stroke-width="2"/>
</svg>`
/* Fullscreen close */
window["env"]["svg"]["fullscreen-close"] = `<svg class="icon icon-fullscreen-close" <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 6H5C5.55228 6 6 5.55228 6 5V0" stroke="currentColor" stroke-width="2"/>
<path d="M16 6H11C10.4477 6 10 5.55228 10 5V0" stroke="currentColor" stroke-width="2"/>
<path d="M16 10H11C10.4477 10 10 10.4477 10 11V16" stroke="currentColor" stroke-width="2"/>
<path d="M0 10H5C5.55228 10 6 10.4477 6 11V16" stroke="currentColor" stroke-width="2"/>
</svg>`
/* Github */
window["env"]["svg"]["github"] = `<svg class="icon icon-github" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.1886 16.968C16.0495 15.4609 18 12.4583 18 9C18 4.02944 13.9706 0 9 0C4.02944 0 0 4.02944 0 9C0 12.4446 1.93513 15.4372 4.77756 16.95L4.78165 16.9511C4.80365 16.9551 4.83021 16.9602 4.86078 16.9662C5.38688 17.0689 7.09762 17.4026 7.09762 15.7268C7.09762 15.6401 7.09614 15.487 7.09416 15.2822C7.09187 15.0449 7.08891 14.7381 7.0868 14.3848C4.85932 14.8615 4.38934 13.3267 4.38934 13.3267C4.02506 12.4154 3.50002 12.1726 3.50002 12.1726C2.77293 11.6828 3.55508 11.6925 3.55508 11.6925C4.35886 11.7487 4.78165 12.506 4.78165 12.506C5.49595 13.7118 6.65615 13.3635 7.11236 13.162C7.18512 12.6518 7.3916 12.3039 7.62069 12.1068C5.84254 11.9076 3.97295 11.2303 3.97295 8.20622C3.97295 7.34482 4.28512 6.64038 4.79738 6.08856C4.71479 5.88896 4.43998 5.08666 4.87554 3.99998C4.87554 3.99998 5.54806 3.78778 7.07795 4.80906C7.71655 4.63416 8.40186 4.54647 9.08273 4.54356C9.76263 4.54647 10.4479 4.63416 11.0875 4.80906C12.6164 3.78778 13.2875 3.99998 13.2875 3.99998C13.7245 5.08666 13.4497 5.88896 13.3671 6.08856C13.8803 6.64038 14.1906 7.34482 14.1906 8.20622C14.1906 11.2381 12.318 11.9052 10.534 12.1005C10.8216 12.3441 11.0777 12.8257 11.0777 13.5621C11.0777 14.2673 11.0733 14.8814 11.0704 15.2884C11.0689 15.49 11.0679 15.6411 11.0679 15.7268C11.0679 17.3972 12.6636 17.0753 13.1886 16.968Z" fill="currentColor"/>
@@ -348,6 +437,11 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.44781 0.328888C7.93778 0.112406 8.46542 0 9 0C9.53458 0 10.0622 0.112406 10.5522 0.328888C11.042 0.545285 11.4826 0.860547 11.8509 1.25332C12.219 1.64595 12.5078 2.10863 12.7038 2.61342C12.8998 3.11815 13 3.65709 13 4.2V5C13 5.55228 12.5523 6 12 6C11.4477 6 11 5.55228 11 5V4.2C11 3.90245 10.945 3.60916 10.8395 3.3374C10.734 3.06571 10.5808 2.82286 10.3918 2.6212C10.2029 2.41967 9.98209 2.26352 9.74391 2.15828C9.50593 2.05313 9.25335 2 9 2C8.74665 2 8.49407 2.05313 8.25609 2.15828C8.01791 2.26352 7.79715 2.41967 7.60822 2.6212C7.41916 2.82286 7.26605 3.06571 7.16054 3.3374C7.05501 3.60916 7 3.90245 7 4.2V5C7 5.55228 6.55228 6 6 6C5.44772 6 5 5.55228 5 5V4.2C5 3.65709 5.10018 3.11815 5.29618 2.61342C5.4922 2.10863 5.78105 1.64595 6.14914 1.25332C6.51736 0.860547 6.95803 0.545285 7.44781 0.328888Z" fill="currentColor"/>
</svg>`
/* Hammer (used for functions) */
window["env"]["svg"]["hammer"] = `<svg class="icon icon-hammer" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.6816 0.417437L7.46793 0.361142C7.40493 0.359516 7.34315 0.368458 7.28299 0.386546L6.74687 0.546489C6.4845 0.183315 5.98313 0 5.24662 0H5.14297C4.19733 0 3.4281 0.769434 3.4281 1.71487V3.92541C3.4281 4.87105 4.19753 5.64028 5.14297 5.64028H5.24662C6.04592 5.64028 6.56843 5.42445 6.80865 4.99705L7.15963 5.0312V10.6231C6.84544 10.8739 6.64302 11.2596 6.64302 11.6921V16.6325C6.64302 17.3866 7.25637 18 8.01036 18H9.98902C10.743 18 11.3564 17.3864 11.3564 16.6325V11.6919C11.3564 11.2743 11.1678 10.9001 10.8719 10.6491V4.5914C10.9249 4.55157 11.0117 4.50218 11.0952 4.46418C12.6436 4.42516 13.5291 5.15761 13.5614 5.18464C13.7413 5.34153 13.9965 5.37913 14.2144 5.27995C14.4319 5.18098 14.5717 4.96393 14.5717 4.72513C14.5715 2.44589 12.7511 0.433086 10.6816 0.417437ZM10.1372 16.6325C10.1372 16.714 10.0709 16.7806 9.98922 16.7806H8.01056C7.92907 16.7806 7.86261 16.7142 7.86261 16.6325V11.6919C7.86261 11.6104 7.92886 11.5437 8.01056 11.5437H9.98922C10.0707 11.5437 10.1372 11.6104 10.1372 11.6919V16.6325ZM10.9373 3.24967C10.8765 3.25251 10.8166 3.2643 10.7595 3.28483C10.4999 3.37811 9.65267 3.73966 9.65267 4.478V10.2935H8.37922V4.478C8.37922 4.16421 8.14104 3.90164 7.82867 3.87115L6.41113 3.73295C6.24001 3.71649 6.0697 3.77279 5.94228 3.88822C5.81485 4.00366 5.7423 4.16767 5.7423 4.3398C5.7423 4.35403 5.74169 4.36541 5.74087 4.37456C5.68844 4.39325 5.55797 4.42069 5.24662 4.42069H5.14297C4.86962 4.42069 4.64749 4.19835 4.64749 3.92521V1.71466C4.64749 1.44132 4.86982 1.21919 5.14297 1.21919H5.24662C5.55797 1.21919 5.68824 1.24682 5.74087 1.26573C5.74169 1.27487 5.7423 1.28645 5.7423 1.30048C5.7423 1.49294 5.83314 1.67422 5.9876 1.78925C6.14205 1.90428 6.34203 1.93984 6.52616 1.88477L7.54089 1.58236L10.6664 1.63723C11.777 1.64556 12.7044 2.54202 13.1188 3.57951C12.5605 3.37181 11.826 3.20801 10.9373 3.24967Z" fill="currentColor"/>
</svg>`
/* Backpack (detection classification) */
window["env"]["svg"]["backpack"] = `<svg class="icon icon-backpack" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 4C1 3.44772 1.44772 3 2 3H16C16.5523 3 17 3.44772 17 4V17C17 17.5523 16.5523 18 16 18H2C1.44772 18 1 17.5523 1 17V4ZM3 5V16H15V5H3Z" fill="currentColor"/>
@@ -370,6 +464,12 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 7C9.55228 7 10 6.55228 10 6C10 5.44772 9.55228 5 9 5C8.44772 5 8 5.44772 8 6C8 6.55228 8.44772 7 9 7Z" fill="currentColor"/>
</svg>`
/* IO (Navigation menu) */
window["env"]["svg"]["io"] = `<svg class="icon icon-io" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 2C5.13401 2 2 5.13401 2 9C2 12.866 5.13401 16 9 16C12.866 16 16 12.866 16 9C16 5.13401 12.866 2 9 2ZM0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9Z" fill="currentColor"/>
<path d="M5.81481 12V6.54545H7.10032V12H5.81481ZM6.46112 5.77131C6.25752 5.77131 6.08233 5.70384 5.93555 5.56889C5.78877 5.43158 5.71538 5.26705 5.71538 5.07528C5.71538 4.88116 5.78877 4.71662 5.93555 4.58168C6.08233 4.44437 6.25752 4.37571 6.46112 4.37571C6.66708 4.37571 6.84227 4.44437 6.98668 4.58168C7.13346 4.71662 7.20685 4.88116 7.20685 5.07528C7.20685 5.26705 7.13346 5.43158 6.98668 5.56889C6.84227 5.70384 6.66708 5.77131 6.46112 5.77131ZM10.8015 12.1065C10.2688 12.1065 9.80717 11.9893 9.41655 11.755C9.02592 11.5206 8.72289 11.1927 8.50746 10.7713C8.29439 10.3499 8.18786 9.85748 8.18786 9.29403C8.18786 8.73059 8.29439 8.23698 8.50746 7.81321C8.72289 7.38944 9.02592 7.06037 9.41655 6.82599C9.80717 6.59162 10.2688 6.47443 10.8015 6.47443C11.3342 6.47443 11.7958 6.59162 12.1864 6.82599C12.5771 7.06037 12.8789 7.38944 13.092 7.81321C13.3074 8.23698 13.4151 8.73059 13.4151 9.29403C13.4151 9.85748 13.3074 10.3499 13.092 10.7713C12.8789 11.1927 12.5771 11.5206 12.1864 11.755C11.7958 11.9893 11.3342 12.1065 10.8015 12.1065ZM10.8086 11.0767C11.0974 11.0767 11.3389 10.9974 11.533 10.8388C11.7272 10.6778 11.8716 10.4624 11.9663 10.1925C12.0633 9.92259 12.1119 9.62192 12.1119 9.29048C12.1119 8.95668 12.0633 8.65483 11.9663 8.38494C11.8716 8.11269 11.7272 7.89607 11.533 7.73509C11.3389 7.5741 11.0974 7.49361 10.8086 7.49361C10.5127 7.49361 10.2665 7.5741 10.07 7.73509C9.87583 7.89607 9.73023 8.11269 9.63317 8.38494C9.53847 8.65483 9.49112 8.95668 9.49112 9.29048C9.49112 9.62192 9.53847 9.92259 9.63317 10.1925C9.73023 10.4624 9.87583 10.6778 10.07 10.8388C10.2665 10.9974 10.5127 11.0767 10.8086 11.0767Z" fill="currentColor"/>
</svg>`
/* Key (Profile > Change password) */
window["env"]["svg"]["key"] = `<svg class="icon icon-key" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.809 0.0183059C15.6199 0.0549176 15.4393 0.146447 15.2929 0.292894L10.2929 5.29289L6.89574 8.69005C6.20201 8.25291 5.38054 8 4.5 8C2.01472 8 0 10.0147 0 12.5C0 14.9853 2.01472 17 4.5 17C6.98528 17 9 14.9853 9 12.5C9 11.6195 8.74709 10.798 8.30995 10.1043L11 7.41421L12.2929 8.70711C12.6834 9.09763 13.3166 9.09763 13.7071 8.70711C14.0976 8.31658 14.0976 7.68342 13.7071 7.29289L12.4142 6L13.5 4.91421L15.2929 6.70711C15.6834 7.09763 16.3166 7.09763 16.7071 6.70711C17.0976 6.31658 17.0976 5.68342 16.7071 5.29289L14.9142 3.5L16 2.41421L16.2929 2.70711C16.6834 3.09763 17.3166 3.09763 17.7071 2.70711C18.0976 2.31658 18.0976 1.68342 17.7071 1.29289L16.7071 0.292894C16.509 0.0948186 16.2485 -0.00279238 15.9889 6.07713e-05C15.9286 0.000723416 15.8684 0.00680511 15.809 0.0183059ZM2 12.5C2 11.1193 3.11929 10 4.5 10C5.88071 10 7 11.1193 7 12.5C7 13.8807 5.88071 15 4.5 15C3.11929 15 2 13.8807 2 12.5Z" fill="currentColor"/>
@@ -381,6 +481,17 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 8C8.44772 8 8 8.44772 8 9C8 9.55228 8.44772 10 9 10C9.55228 10 10 9.55228 10 9C10 8.44772 9.55228 8 9 8ZM6 9C6 7.34315 7.34315 6 9 6C10.6569 6 12 7.34315 12 9C12 10.6569 10.6569 12 9 12C7.34315 12 6 10.6569 6 9Z" fill="currentColor"/>
</svg>`
/* Labeling */
window["env"]["svg"]["labeling"] = `<svg class="icon icon-labeling" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.66675 4.33333C5.66675 3.59695 6.26368 3 7.00003 3C7.73639 3 8.33332 3.59695 8.33332 4.33333C8.33332 5.06971 7.73639 5.66667 7.00003 5.66667C6.26368 5.66667 5.66675 5.06971 5.66675 4.33333Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.40381 6.7019C4.51673 6.47604 4.74757 6.33337 5.00007 6.33337H8.99993C9.25243 6.33337 9.48327 6.47604 9.59619 6.7019L10.9295 9.36857C11.0941 9.69788 10.9607 10.0983 10.6313 10.263C10.302 10.4277 9.9016 10.2942 9.73695 9.96485L8.58792 7.66671H5.41208L4.26305 9.96485C4.0984 10.2942 3.69796 10.4277 3.36866 10.263C3.03935 10.0983 2.90587 9.69788 3.07053 9.36857L4.40381 6.7019Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.00012 11C5.00012 10.6319 5.29859 10.3334 5.66676 10.3334H8.33333C8.70151 10.3334 8.99998 10.6319 8.99998 11C8.99998 11.3682 8.70151 11.6667 8.33333 11.6667H5.66676C5.29859 11.6667 5.00012 11.3682 5.00012 11Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.00012 7.00004C5.00012 6.63185 5.29859 6.33337 5.66676 6.33337H8.33333C8.70151 6.33337 8.99998 6.63185 8.99998 7.00004V14.3334C8.99998 14.7016 8.70151 15 8.33333 15C7.96516 15 7.66669 14.7016 7.66669 14.3334V7.66671H6.33341V14.3334C6.33341 14.7016 6.03494 15 5.66676 15C5.29859 15 5.00012 14.7016 5.00012 14.3334V7.00004Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 18C17.1046 18 18 17.1046 18 16L18 2C18 0.89543 17.1046 -3.91405e-08 16 -8.74228e-08L2 -6.99382e-07C0.89543 1.15968e-06 7.47664e-07 0.895431 6.99382e-07 2L8.74228e-08 16C3.91405e-08 17.1046 0.89543 18 2 18L16 18ZM16 2L16 16L2 16L2 2L16 2Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.3136 10.0007C13.4257 9.99274 13.5315 10.0531 13.5818 10.1536L13.8024 10.5948L14.7896 10.8416C14.9133 10.8725 15 10.9836 15 11.1111V11.9444C15 12.064 14.9235 12.1702 14.8101 12.208L14.1159 12.4394L13.9418 13.0505V14.4444C13.9418 14.5978 13.8174 14.7222 13.664 14.7222H13.0291C12.9066 14.7222 12.7985 14.6419 12.7632 14.5246L12.5714 13.8889H11.728L11.5135 14.5323C11.4757 14.6457 11.3696 14.7222 11.25 14.7222H10.4894C10.4103 14.7222 10.3349 14.6885 10.2822 14.6294C10.2295 14.5704 10.2045 14.4917 10.2134 14.4131L10.4102 12.6807L10.0225 11.7761C9.97655 11.6689 10.0024 11.5445 10.0872 11.4646C10.172 11.3846 10.2977 11.3661 10.402 11.4182L11.1657 11.8L12.5722 11.6828L13.0698 10.1899C13.1053 10.0834 13.2016 10.0087 13.3136 10.0007ZM13.3865 10.9967L13.0413 12.0323C13.0062 12.1377 12.9116 12.212 12.8009 12.2213L11.1342 12.3601C11.0834 12.3644 11.0325 12.3546 10.9869 12.3318L10.8318 12.2542L10.9498 12.5295C10.9688 12.5738 10.9759 12.6223 10.9705 12.6702L10.8005 14.1666H11.0498L11.2643 13.5233C11.3021 13.4098 11.4082 13.3333 11.5278 13.3333H12.7778C12.9003 13.3333 13.0084 13.4136 13.0437 13.5309L13.2355 14.1666H13.3863V13.0117C13.3863 12.986 13.3898 12.9603 13.3969 12.9356L13.6217 12.1461C13.6469 12.0579 13.714 11.9877 13.801 11.9587L14.4444 11.7442V11.328L13.5437 11.1028C13.48 11.0869 13.4245 11.0491 13.3865 10.9967Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7913 12.6213L12.6802 12.2046L12.8752 11.6844L13.9863 12.1011L13.7913 12.6213Z" fill="#A69D9D"/>
</svg>`
/* Lightbulb (suggest new: alert, channel) */
window["env"]["svg"]["lightbulb"] = `<svg class="icon icon-lightbulb" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 2C6.23858 2 4 4.23858 4 7C4 8.93153 5.09498 10.609 6.70272 11.4424C7.26034 11.7315 7.75508 12.2005 8.10683 12.5339C8.19009 12.6129 8.26535 12.6842 8.33152 12.7438C8.50937 12.9038 8.74227 13 9 13C9.25773 13 9.49063 12.9038 9.66848 12.7438C9.73465 12.6842 9.80991 12.6129 9.89317 12.5339C10.2449 12.2005 10.7397 11.7315 11.2973 11.4424C12.905 10.609 14 8.93153 14 7C14 4.23858 11.7614 2 9 2ZM2 7C2 3.13401 5.13401 0 9 0C12.866 0 16 3.13401 16 7C16 9.70754 14.4626 12.0543 12.2177 13.218C11.9338 13.3652 11.7145 13.5712 11.399 13.8675C11.2836 13.9758 11.1554 14.0963 11.0064 14.2304C10.4756 14.7081 9.7707 15 9 15C8.2293 15 7.52442 14.7081 6.99362 14.2304C6.84463 14.0963 6.71638 13.9758 6.601 13.8675C6.28552 13.5712 6.06624 13.3652 5.78227 13.218C3.53744 12.0543 2 9.70754 2 7Z" fill="currentColor"/>
@@ -429,6 +540,14 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 11C9.55228 11 10 11.4477 10 12V13C10 13.5523 9.55228 14 9 14C8.44772 14 8 13.5523 8 13V12C8 11.4477 8.44772 11 9 11Z" fill="currentColor"/>
</svg>`
/* Lock-unlocked (2FA) */
window["env"]["svg"]["lock-unlocked"] = `<svg class="icon icon-lock-unlocked" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 8C2 7.44772 2.44772 7 3 7H15C15.5523 7 16 7.44772 16 8V17C16 17.5523 15.5523 18 15 18H3C2.44772 18 2 17.5523 2 17V8ZM4 9V16H14V9H4Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 9C11.4477 9 11 8.55228 11 8L11 4C11 3.73736 10.9483 3.47728 10.8478 3.23463C10.7473 2.99198 10.5999 2.7715 10.4142 2.58579C10.2285 2.40007 10.008 2.25275 9.76537 2.15224C9.52272 2.05173 9.26264 2 9 2C8.73736 2 8.47728 2.05173 8.23463 2.15224C7.99198 2.25275 7.7715 2.40007 7.58579 2.58579C7.40007 2.7715 7.25275 2.99198 7.15224 3.23463C7.05173 3.47728 7 3.73736 7 4L7 4.5C7 5.05228 6.55228 5.5 6 5.5C5.44772 5.5 5 5.05228 5 4.5L5 4C5 3.47471 5.10346 2.95457 5.30448 2.46927C5.5055 1.98396 5.80014 1.54301 6.17157 1.17157C6.54301 0.800138 6.98396 0.5055 7.46927 0.304481C7.95457 0.103462 8.47471 -3.95613e-07 9 -3.49691e-07C9.52529 -3.03769e-07 10.0454 0.103463 10.5307 0.304481C11.016 0.5055 11.457 0.800138 11.8284 1.17157C12.1999 1.54301 12.4945 1.98396 12.6955 2.46927C12.8965 2.95457 13 3.47471 13 4L13 8C13 8.55228 12.5523 9 12 9Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 11C9.55228 11 10 11.4477 10 12V13C10 13.5523 9.55228 14 9 14C8.44772 14 8 13.5523 8 13V12C8 11.4477 8.44772 11 9 11Z" fill="currentColor"/>
</svg>`
/* Login (Profile > Login audit)
* https://ui.kerberos.io/?path=/story/icons-icon--logout
* */
@@ -485,6 +604,14 @@
<rect y="13" width="14" height="2" rx="1" fill="currentColor"/>
</svg>`
/* Mic */
window["env"]["svg"]["mic"] = `<svg class="icon icon-mic" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.91241 3C5.91241 1.34315 7.29475 0 8.99996 0C10.7052 0 12.0875 1.34315 12.0875 3V8C12.0875 9.65685 10.7052 11 8.99996 11C7.29475 11 5.91241 9.65685 5.91241 8V3ZM8.99996 2C8.43156 2 7.97078 2.44772 7.97078 3V8C7.97078 8.55228 8.43156 9 8.99996 9C9.56836 9 10.0291 8.55228 10.0291 8V3C10.0291 2.44772 9.56836 2 8.99996 2Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.2369 8.32815C14.786 8.47109 15.1118 9.01942 14.9647 9.55289C14.6129 10.8287 13.8376 11.956 12.7592 12.7601C11.6807 13.5642 10.3593 14 9 14C7.64065 14 6.31929 13.5642 5.24085 12.7601C4.1624 11.956 3.38715 10.8287 3.03532 9.55289C2.88821 9.01943 3.21403 8.47109 3.76306 8.32815C4.3121 8.1852 4.87644 8.50179 5.02355 9.03525C5.2581 9.88579 5.77493 10.6374 6.4939 11.1734C7.21286 11.7094 8.09377 12 9 12C9.90623 12 10.7871 11.7094 11.5061 11.1734C12.2251 10.6374 12.7419 9.88579 12.9764 9.03525C13.1236 8.50179 13.6879 8.1852 14.2369 8.32815Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.99995 13C9.56835 13 10.0291 13.4477 10.0291 14V17C10.0291 17.5523 9.56835 18 8.99995 18C8.43154 18 7.97076 17.5523 7.97076 17V14C7.97076 13.4477 8.43154 13 8.99995 13Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.91241 17C5.91241 16.4477 6.37319 16 6.9416 16L11.0583 16C11.6267 16 12.0875 16.4477 12.0875 17C12.0875 17.5523 11.6267 18 11.0583 18L6.9416 18C6.37319 18 5.91241 17.5523 5.91241 17Z" fill="currentColor"/>
</svg>`
/* Mic muted */
window["env"]["svg"]["mic-muted"] = `<svg class="icon icon-mic-muted" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.7071 1.70711C18.0976 1.31658 18.0976 0.683417 17.7071 0.292893C17.3166 -0.0976311 16.6834 -0.0976311 16.2929 0.292893L12 4.58579V3C12 1.34315 10.6569 0 9.00002 0C7.34316 0 6.00002 1.34315 6.00002 3V8C6.00002 8.72295 6.25574 9.38617 6.68166 9.90414L5.97212 10.6137C5.5804 10.1599 5.29334 9.62103 5.13638 9.03525C4.99343 8.50179 4.4451 8.1852 3.91163 8.32815C3.37817 8.47109 3.06158 9.01943 3.20452 9.55289C3.45277 10.4793 3.91796 11.3275 4.55537 12.0304L0.292908 16.2929C-0.0976158 16.6834 -0.0976158 17.3166 0.292908 17.7071C0.683433 18.0976 1.3166 18.0976 1.70712 17.7071L17.7071 1.70711ZM8.11666 8.46914L10 6.58579V3C10 2.44772 9.5523 2 9.00002 2C8.44773 2 8.00002 2.44772 8.00002 3V8C8.00002 8.16954 8.04221 8.32923 8.11666 8.46914ZM8.99479 18H7.00002C6.44773 18 6.00002 17.5523 6.00002 17C6.00002 16.4477 6.44773 16 7.00002 16H8.00002V14.1213L8.17796 13.9434L9.11482 13.0065L10.3594 11.7619C10.7436 11.6231 11.1067 11.4254 11.4351 11.1734C12.1337 10.6374 12.6359 9.88579 12.8638 9.03525C13.0067 8.50179 13.5551 8.1852 14.0885 8.32815C14.622 8.47109 14.9386 9.01943 14.7956 9.55289C14.4538 10.8287 13.7005 11.956 12.6526 12.7601C11.8711 13.3598 10.9582 13.7547 9.99659 13.9167C9.99886 13.9441 10 13.9719 10 14V16H11C11.5523 16 12 16.4477 12 17C12 17.5523 11.5523 18 11 18H9.00524L9.00002 18L8.99479 18Z" fill="currentColor"/>
@@ -520,6 +647,14 @@
<path d="M10.9888 9.33342C10.1801 10.5437 8.95898 11.4188 7.55293 11.7956L6.60717 8.26595C7.38922 8.05562 8.0409 7.44557 8.26558 6.60707C8.60085 5.35584 7.85831 4.06974 6.60708 3.73447C5.35585 3.39921 4.06975 4.14174 3.73448 5.39297C3.39922 6.64419 4.14174 7.93029 5.39296 8.26556L4.4471 11.7956C3.04105 11.4188 1.81991 10.5437 1.0112 9.33342C0.202481 8.12309 -0.138655 6.66004 0.0513455 5.21684C0.241346 3.77365 0.949525 2.44874 2.04394 1.48896C3.13836 0.529184 4.54437 -2.15956e-07 6.00002 0C7.45566 1.68642e-07 8.86168 0.529185 9.95609 1.48896C11.0505 2.44874 11.7587 3.77365 11.9487 5.21684C12.1387 6.66004 11.7975 8.12309 10.9888 9.33342Z" fill="currentColor"/>
</svg>`
/* Other */
window["env"]["svg"]["other"] = `<svg class="icon icon-other" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 18C17.1046 18 18 17.1046 18 16L18 2C18 0.89543 17.1046 -3.91405e-08 16 -8.74228e-08L2 -6.99382e-07C0.89543 1.15968e-06 7.47664e-07 0.895431 6.99382e-07 2L8.74228e-08 16C3.91405e-08 17.1046 0.89543 18 2 18L16 18ZM16 2L16 16L2 16L2 2L16 2Z" fill="currentColor"/>
<path d="M10 13C10 13.5523 9.55228 14 9 14C8.44772 14 8 13.5523 8 13C8 12.4477 8.44772 12 9 12C9.55228 12 10 12.4477 10 13Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 14C9.55228 14 10 13.5523 10 13C10 12.4477 9.55228 12 9 12C8.44772 12 8 12.4477 8 13C8 13.5523 8.44772 14 9 14Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.42779 5.35557C7.80007 5.16943 8.32724 5 9 5C9.64804 5 10.3917 5.15968 10.9957 5.63783C11.6367 6.14533 12 6.91736 11.9999 7.87504C11.9999 9.84193 10.5118 11 8.99995 11C8.44766 11 7.99995 10.5523 7.99995 10C7.99995 9.44772 8.44766 9 8.99995 9C9.4882 9 9.99992 8.65807 9.99995 7.87496C9.99996 7.45764 9.86324 7.29217 9.75428 7.20592C9.60827 7.09032 9.35196 7 9 7C8.67276 7 8.44993 7.08057 8.32221 7.14443C8.25672 7.17717 8.21379 7.20685 8.19375 7.22187C8.18965 7.22495 8.18657 7.22737 8.18451 7.22902C7.79252 7.59749 7.17597 7.59018 6.79289 7.20711C6.40237 6.81658 6.40237 6.18342 6.79289 5.79289L7.49995 6.49995C6.79289 5.79289 6.79324 5.79255 6.79359 5.7922L6.7943 5.79149L6.79576 5.79003L6.79885 5.78699L6.80567 5.78033L6.82192 5.76485C6.83391 5.75361 6.84824 5.74054 6.86493 5.72594C6.89828 5.69676 6.9412 5.66129 6.99375 5.62187C7.09871 5.54315 7.24328 5.44783 7.42779 5.35557Z" fill="currentColor"/>
</svg>`
/* Person (Alerts > Detections, detection classification) */
window["env"]["svg"]["person"] = `<svg class="icon icon-person" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.00024 2C7.00024 0.89543 7.89567 0 9.00024 0C10.1048 0 11.0002 0.89543 11.0002 2C11.0002 3.10457 10.1048 4 9.00024 4C7.89567 4 7.00024 3.10457 7.00024 2Z" fill="currentColor"/>
@@ -556,11 +691,11 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 13C9.55228 13 10 12.5523 10 12V6C10 5.44772 9.55228 5 9 5C8.44772 5 8 5.44772 8 6V12C8 12.5523 8.44772 13 9 13Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 9C13 8.44772 12.5523 8 12 8L6 8C5.44772 8 5 8.44772 5 9C5 9.55229 5.44772 10 6 10L12 10C12.5523 10 13 9.55228 13 9Z" fill="currentColor"/>
</svg>`
/* Plus circle ("add" button) */
window["env"]["svg"]["play-circle"] = `<svg class="icon icon-play-circle" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9ZM7.27038 13.0048C6.93762 13.2187 6.5 12.9798 6.5 12.5842V5.41586C6.5 5.02027 6.93762 4.78135 7.27038 4.99527L12.8457 8.57943C13.1519 8.77625 13.1519 9.22379 12.8457 9.42061L7.27038 13.0048Z" fill="#fff"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0C13.9706 0 18 4.02944 18 9ZM7.27038 13.0048C6.93762 13.2187 6.5 12.9798 6.5 12.5842V5.41586C6.5 5.02027 6.93762 4.78135 7.27038 4.99527L12.8457 8.57943C13.1519 8.77625 13.1519 9.22379 12.8457 9.42061L7.27038 13.0048Z" fill="currentColor"/>
</svg>`
/* Preferences */
@@ -592,11 +727,22 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.29289 11.7071C2.90237 11.3166 2.90237 10.6834 3.29289 10.2929L8.29289 5.29289C8.68342 4.90237 9.31658 4.90237 9.70711 5.29289L14.7071 10.2929C15.0976 10.6834 15.0976 11.3166 14.7071 11.7071C14.3166 12.0976 13.6834 12.0976 13.2929 11.7071L9 7.41421L4.70711 11.7071C4.31658 12.0976 3.68342 12.0976 3.29289 11.7071Z" fill="white"/>
</svg>`
/* PTZ Center */
window["env"]["svg"]["ptz-center"] = `<svg class="icon icon-ptz-center" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 18C17.1046 18 18 17.1046 18 16L18 2C18 0.89543 17.1046 -3.91405e-08 16 -8.74228e-08L11 -3.0598e-07L6 -5.24537e-07L2 -6.99382e-07C0.89543 1.15968e-06 7.47664e-07 0.895431 6.99382e-07 2L8.74228e-08 16C3.91405e-08 17.1046 0.89543 18 2 18L16 18ZM16 2L16 16L2 16L2 2L6 2L16 2Z" fill="white"/>
<path d="M18 6H0V12H18V6Z" fill="black"/>
<path d="M6 0L6 18H12V0H6Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 11.3333C7.71134 11.3333 6.66667 10.2887 6.66667 9C6.66667 7.71134 7.71134 6.66667 9 6.66667C10.2887 6.66667 11.3333 7.71134 11.3333 9C11.3333 10.2887 10.2887 11.3333 9 11.3333ZM6 9C6 10.6569 7.34315 12 9 12C10.6569 12 12 10.6569 12 9C12 7.34315 10.6569 6 9 6C7.34315 6 6 7.34315 6 9Z" fill="currentColor" stroke="white"/>
window["env"]["svg"]["ptz-center"] = `<svg class="icon icon-ptz-center" svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7 1H2C1.44772 1 1 1.44772 1 2V7" stroke="currentColor" stroke-width="2"/>
<path d="M11 1H16C16.5523 1 17 1.44772 17 2V7" stroke="currentColor" stroke-width="2"/>
<path d="M11 17H16C16.5523 17 17 16.5523 17 16V11" stroke="currentColor" stroke-width="2"/>
<path d="M7 17H2C1.44772 17 1 16.5523 1 16V11" stroke="currentColor" stroke-width="2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.2 12.0667C7.39587 12.0667 5.93333 10.6041 5.93333 8.8C5.93333 6.99587 7.39587 5.53333 9.2 5.53333C11.0041 5.53333 12.4667 6.99587 12.4667 8.8C12.4667 10.6041 11.0041 12.0667 9.2 12.0667ZM5 8.8C5 11.1196 6.8804 13 9.2 13C11.5196 13 13.4 11.1196 13.4 8.8C13.4 6.4804 11.5196 4.6 9.2 4.6C6.8804 4.6 5 6.4804 5 8.8Z" fill="white" stroke="currentColor"/>
</svg>`
/* Queue */
window["env"]["svg"]["queue"] = `<svg class="icon icon-queue" svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 2C12.4477 2 12 2.44772 12 3C12 3.55228 12.4477 4 13 4C13.5523 4 14 3.55228 14 3C14 2.44772 13.5523 2 13 2ZM10 3C10 1.34315 11.3431 0 13 0C14.6569 0 16 1.34315 16 3C16 4.65685 14.6569 6 13 6C11.3431 6 10 4.65685 10 3Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 14C4.44772 14 4 14.4477 4 15C4 15.5523 4.44772 16 5 16C5.55228 16 6 15.5523 6 15C6 14.4477 5.55228 14 5 14ZM2 15C2 13.3431 3.34315 12 5 12C6.65685 12 8 13.3431 8 15C8 16.6569 6.65685 18 5 18C3.34315 18 2 16.6569 2 15Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 8C8.44772 8 8 8.44772 8 9C8 9.55228 8.44772 10 9 10C9.55228 10 10 9.55228 10 9C10 8.44772 9.55228 8 9 8ZM6 9C6 7.34315 7.34315 6 9 6C10.6569 6 12 7.34315 12 9C12 10.6569 10.6569 12 9 12C7.34315 12 6 10.6569 6 9Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 2C4.44772 2 4 2.44772 4 3C4 3.55228 4.44772 4 5 4C5.55228 4 6 3.55228 6 3C6 2.44772 5.55228 2 5 2ZM2 3C2 1.34315 3.34315 0 5 0C6.65685 0 8 1.34315 8 3C8 4.65685 6.65685 6 5 6C3.34315 6 2 4.65685 2 3Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.2929 12.2929C14.6834 11.9024 15.3166 11.9024 15.7071 12.2929L17.7071 14.2929C18.0976 14.6834 18.0976 15.3166 17.7071 15.7071L15.7071 17.7071C15.3166 18.0976 14.6834 18.0976 14.2929 17.7071C13.9024 17.3166 13.9024 16.6834 14.2929 16.2929L15.5858 15L14.2929 13.7071C13.9024 13.3166 13.9024 12.6834 14.2929 12.2929Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3 2H1C0.447715 2 0 2.44772 0 3C0 3.55228 0.447715 4 1 4H3V2ZM7 4V2H11V4H7ZM15 4.26756C15.5978 4.61337 16 5.25972 16 6C16 7.10457 15.1046 8 14 8H11V10H14C16.2091 10 18 8.20914 18 6C18 4.13616 16.7252 2.57006 15 2.12602V4.26756ZM7 10V8H4C1.79086 8 0 9.79086 0 12C0 13.8638 1.27477 15.4299 3 15.874V13.7324C2.4022 13.3866 2 12.7403 2 12C2 10.8954 2.89543 10 4 10H7ZM7 14V16H17C17.5523 16 18 15.5523 18 15C18 14.4477 17.5523 14 17 14H7Z" fill="currentColor"/>
</svg>`
/* Refresh */
@@ -614,6 +760,15 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 9V7H10V9H15C15.5523 9 16 9.44772 16 10V13H14V11H10V13H8V11H4V13H2V10C2 9.44772 2.44772 9 3 9H8Z" fill="#A69D9D"/>
</svg>`
/* Rules */
window["env"]["svg"]["rules"] = `<svg class="icon icon-rules" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H7C7.55229 0 8 0.447715 8 1V4.35659L10.6126 1.78711C11.004 1.40211 11.6326 1.40473 12.0209 1.79296L16.2635 6.0356C16.6512 6.42325 16.6544 7.05075 16.2708 7.44242L13.7659 10H17C17.2652 10 17.5196 10.1054 17.7071 10.2929C17.8946 10.4804 18 10.7348 18 11V17C18 17.5523 17.5523 18 17 18H4C1.79086 18 0 16.2091 0 14V1ZM11.8071 12L7.88946 16H16V12H11.8071ZM8 13.0288L14.1495 6.75002L11.3079 3.90843L8 7.1618V13.0288ZM6 14C6 15.1046 5.10457 16 4 16C2.89543 16 2 15.1046 2 14V2H6V14Z" fill="#A69D9D"/>
<path d="M5 14C5 14.5523 4.55228 15 4 15C3.44772 15 3 14.5523 3 14C3 13.4477 3.44772 13 4 13C4.55228 13 5 13.4477 5 14Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 15C4.55228 15 5 14.5523 5 14C5 13.4477 4.55228 13 4 13C3.44772 13 3 13.4477 3 14C3 14.5523 3.44772 15 4 15Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 6H1V5H7V6Z" fill="#A69D9D"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10H1V9H7V10Z" fill="#A69D9D"/>
</svg>`
/* Save */
window["env"]["svg"]["save"] = `<svg class="icon icon-save" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H14C14.2652 0 14.5196 0.105357 14.7071 0.292893L17.7071 3.29289C17.8946 3.48043 18 3.73478 18 4V17C18 17.5523 17.5523 18 17 18H1C0.447715 18 0 17.5523 0 17V1ZM2 2V16H16V4.41421L13.5858 2H2Z" fill="currentColor"/>
@@ -663,6 +818,20 @@
<rect x="12" y="14" width="5.99999" height="2" rx="1" fill="currentColor"/>
</svg>`
/* Sound on */
window["env"]["svg"]["sound-on"] = `<svg class="icon icon-sound-on" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3 7.70711V10.7929C3 11.2456 3.17986 11.6799 3.5 12C3.82014 12.3201 4.25435 12.5 4.70711 12.5H5.17157C5.70201 12.5 6.21071 12.7107 6.58579 13.0858L8.79289 15.2929C9.18342 15.6834 9.81658 15.6834 10.2071 15.2929C10.3946 15.1054 10.5 14.851 10.5 14.5858V3.91421C10.5 3.649 10.3946 3.39464 10.2071 3.20711C9.81658 2.81658 9.18342 2.81658 8.79289 3.20711L6.58579 5.41421C6.21071 5.78929 5.70201 6 5.17157 6H4.70711C4.25435 6 3.82014 6.17986 3.5 6.5C3.17986 6.82014 3 7.25435 3 7.70711Z" stroke="currentColor" stroke-width="2"/>
<path d="M13 14.5C15.5 13 19.1 8.8 13.5 4" stroke="currentColor" stroke-width="2"/>
</svg>`
/* Sound off */
window["env"]["svg"]["sound-off"] = `<svg class="icon icon-sound-off" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3 7.70711V10.7929C3 11.2456 3.17986 11.6799 3.5 12C3.82014 12.3201 4.25435 12.5 4.70711 12.5H5.17157C5.70201 12.5 6.21071 12.7107 6.58579 13.0858L8.79289 15.2929C9.18342 15.6834 9.81658 15.6834 10.2071 15.2929C10.3946 15.1054 10.5 14.851 10.5 14.5858V3.91421C10.5 3.649 10.3946 3.39464 10.2071 3.20711C9.81658 2.81658 9.18342 2.81658 8.79289 3.20711L6.58579 5.41421C6.21071 5.78929 5.70201 6 5.17157 6H4.70711C4.25435 6 3.82014 6.17986 3.5 6.5C3.17986 6.82014 3 7.25435 3 7.70711Z" stroke="currentColor" stroke-width="2"/>
<path d="M13 14.5C15.5 13 19.1 8.8 13.5 4" stroke="currentColor" stroke-width="2"/>
<path d="M4 15.5L15 3" stroke="currentColor"/>
<path d="M3.07037 15.0685L14.4038 2.41365" stroke="white"/>
</svg>`
/* Star (mark as fav) */
window["env"]["svg"]["star"] = `<svg class="icon icon-star" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.09306 1.95257C8.45148 1.18092 9.54852 1.18092 9.90694 1.95257L11.4346 5.24154C11.5808 5.55636 11.8799 5.77283 12.2246 5.81342L15.8347 6.23847C16.6842 6.33849 17.0241 7.3896 16.3941 7.96815L13.7346 10.4105C13.4772 10.6469 13.3619 11.0005 13.4304 11.3432L14.1379 14.8787C14.3051 15.7147 13.4166 16.3631 12.6714 15.9489L9.48585 14.1782C9.18372 14.0102 8.81628 14.0102 8.51415 14.1782L5.32856 15.9489C4.58338 16.3632 3.69487 15.7147 3.86215 14.8787L4.56955 11.3432C4.63813 11.0005 4.5228 10.6469 4.26538 10.4105L1.60586 7.96815C0.975867 7.3896 1.31584 6.33849 2.16532 6.23847L5.77538 5.81342C6.12012 5.77283 6.41916 5.55636 6.56539 5.24154L8.09306 1.95257Z" stroke="currentColor" stroke-width="2"/>
@@ -689,6 +858,13 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.44781 0.328888C7.93778 0.112406 8.46542 0 9 0C9.53458 0 10.0622 0.112406 10.5522 0.328888C11.042 0.545285 11.4826 0.860547 11.8509 1.25332C12.219 1.64595 12.5078 2.10863 12.7038 2.61342C12.8998 3.11815 13 3.65709 13 4.2V5C13 5.55228 12.5523 6 12 6C11.4477 6 11 5.55228 11 5V4.2C11 3.90245 10.945 3.60916 10.8395 3.3374C10.734 3.06571 10.5808 2.82286 10.3918 2.6212C10.2029 2.41967 9.98209 2.26352 9.74391 2.15828C9.50593 2.05313 9.25335 2 9 2C8.74665 2 8.49407 2.05313 8.25609 2.15828C8.01791 2.26352 7.79715 2.41967 7.60822 2.6212C7.41916 2.82286 7.26605 3.06571 7.16054 3.3374C7.05501 3.60916 7 3.90245 7 4.2V5C7 5.55228 6.55228 6 6 6C5.44772 6 5 5.55228 5 5V4.2C5 3.65709 5.10018 3.11815 5.29618 2.61342C5.4922 2.10863 5.78105 1.64595 6.14914 1.25332C6.51736 0.860547 6.95803 0.545285 7.44781 0.328888Z" fill="currentColor"/>
</svg>`
/* Tag (Media > Filter) */
window["env"]["svg"]["tag"] = `<svg class="icon small icon-tag" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0.999756C0 0.447471 0.447715 -0.000244141 1 -0.000244141H7C7.26522 -0.000244141 7.51957 0.105113 7.70711 0.292649L17.7071 10.2926C18.0976 10.6832 18.0976 11.3163 17.7071 11.7069L11.7071 17.7069C11.3166 18.0974 10.6834 18.0974 10.2929 17.7069L0.292893 7.70686C0.105357 7.51933 0 7.26497 0 6.99976V0.999756ZM2 1.99976V6.58554L11 15.5855L15.5858 10.9998L6.58579 1.99976H2Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.5 4.99976C4.77614 4.99976 5 4.7759 5 4.49976C5 4.22361 4.77614 3.99976 4.5 3.99976C4.22386 3.99976 4 4.22361 4 4.49976C4 4.7759 4.22386 4.99976 4.5 4.99976ZM4.5 5.99976C5.32843 5.99976 6 5.32818 6 4.49976C6 3.67133 5.32843 2.99976 4.5 2.99976C3.67157 2.99976 3 3.67133 3 4.49976C3 5.32818 3.67157 5.99976 4.5 5.99976Z" fill="currentColor"/>
</svg>`
/* Tag (Media > tagged sequence) */
window["env"]["svg"]["tag-small"] = `<svg class="icon small icon-tag-small" width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1.03575V3.71398C0 3.98868 0.109124 4.25213 0.303365 4.44637L7.55363 11.6966C7.95811 12.1011 8.61392 12.1011 9.0184 11.6966L11.6966 9.0184C12.1011 8.61391 12.1011 7.95811 11.6966 7.55363L4.44637 0.303364C4.25213 0.109123 3.98868 0 3.71398 0H1.03575C0.463722 0 0 0.463722 0 1.03575ZM2.0715 3.10726C2.64353 3.10726 3.10726 2.64353 3.10726 2.0715C3.10726 1.49947 2.64353 1.03575 2.0715 1.03575C1.49947 1.03575 1.03575 1.49947 1.03575 2.0715C1.03575 2.64353 1.49947 3.10726 2.0715 3.10726Z" fill="white"/>
@@ -730,14 +906,13 @@
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.42779 5.35557C7.80007 5.16943 8.32724 5 9 5C9.64804 5 10.3917 5.15968 10.9957 5.63783C11.6367 6.14533 12 6.91736 11.9999 7.87504C11.9999 9.84193 10.5118 11 8.99995 11C8.44766 11 7.99995 10.5523 7.99995 10C7.99995 9.44772 8.44766 9 8.99995 9C9.4882 9 9.99992 8.65807 9.99995 7.87496C9.99996 7.45764 9.86324 7.29217 9.75428 7.20592C9.60827 7.09032 9.35196 7 9 7C8.67276 7 8.44993 7.08057 8.32221 7.14443C8.25672 7.17717 8.21379 7.20685 8.19375 7.22187C8.18965 7.22495 8.18657 7.22737 8.18451 7.22902C7.79252 7.59749 7.17597 7.59018 6.79289 7.20711C6.40237 6.81658 6.40237 6.18342 6.79289 5.79289L7.49995 6.49995C6.79289 5.79289 6.79324 5.79255 6.79359 5.7922L6.7943 5.79149L6.79576 5.79003L6.79885 5.78699L6.80567 5.78033L6.82192 5.76485C6.83391 5.75361 6.84824 5.74054 6.86493 5.72594C6.89828 5.69676 6.9412 5.66129 6.99375 5.62187C7.09871 5.54315 7.24328 5.44783 7.42779 5.35557Z" fill="#A69D9D"/>
</svg>`
/* Task approved */
window["env"]["svg"]["task-approved"] = `<svg class="icon icon-task-approved" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="1">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L8 9.58579L11.2929 6.29289C11.6834 5.90237 12.3166 5.90237 12.7071 6.29289C13.0976 6.68342 13.0976 7.31658 12.7071 7.70711L8.70711 11.7071C8.31658 12.0976 7.68342 12.0976 7.29289 11.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z" fill="green"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 18C17.1046 18 18 17.1046 18 16L18 2C18 0.89543 17.1046 -3.91405e-08 16 -8.74228e-08L2 -6.99382e-07C0.89543 1.15968e-06 7.47664e-07 0.895431 6.99382e-07 2L8.74228e-08 16C3.91405e-08 17.1046 0.89543 18 2 18L16 18ZM16 2L16 16L2 16L2 2L16 2Z" fill="green"/>
</g>
</svg>`
/* Task approved */
window["env"]["svg"]["task-approved"] = `<svg class="icon icon-task-approved" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="1">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L8 9.58579L11.2929 6.29289C11.6834 5.90237 12.3166 5.90237 12.7071 6.29289C13.0976 6.68342 13.0976 7.31658 12.7071 7.70711L8.70711 11.7071C8.31658 12.0976 7.68342 12.0976 7.29289 11.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z" fill="green"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 18C17.1046 18 18 17.1046 18 16L18 2C18 0.89543 17.1046 -3.91405e-08 16 -8.74228e-08L2 -6.99382e-07C0.89543 1.15968e-06 7.47664e-07 0.895431 6.99382e-07 2L8.74228e-08 16C3.91405e-08 17.1046 0.89543 18 2 18L16 18ZM16 2L16 16L2 16L2 2L16 2Z" fill="green"/>
</g>
</svg>`
/* Trash */
window["env"]["svg"]["trash"] = `<svg class="icon icon-trash" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -746,6 +921,11 @@ window["env"]["svg"]["task-approved"] = `<svg class="icon icon-task-approved" wi
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 1C7 0.447715 7.44772 0 8 0H10C10.5523 0 11 0.447715 11 1V3H7V1Z" fill="currentColor"/>
</svg>`
/* TV monitor */
window["env"]["svg"]["tvmonitor"] = `<svg class="icon icon-tvmonitor" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.5605 3.74998H15.756C16.167 3.74998 16.5 4.08373 16.5 4.49998V15C16.5 15.414 16.1588 15.75 15.756 15.75H2.24401C2.14586 15.7498 2.04871 15.7302 1.95814 15.6924C1.86757 15.6545 1.78537 15.5992 1.71624 15.5295C1.64711 15.4598 1.59243 15.3772 1.55532 15.2863C1.51822 15.1954 1.49942 15.0981 1.50001 15V4.49998C1.50001 4.08598 1.84126 3.74998 2.24401 3.74998H6.43951L4.53751 1.84798L5.59801 0.787476L8.56051 3.74998H9.43951L12.402 0.787476L13.4625 1.84798L11.5605 3.74998ZM3.00001 5.24998V14.25H15V5.24998H3.00001Z" fill="currentColor"/>
</svg>`
/* Upload (Forward buttons) */
window["env"]["svg"]["upload"] = `<svg class="icon icon-upload" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 13C1.55228 13 2 13.4477 2 14V16H16V14C16 13.4477 16.4477 13 17 13C17.5523 13 18 13.4477 18 14V17C18 17.5523 17.5523 18 17 18H1C0.447715 18 0 17.5523 0 17V14C0 13.4477 0.447715 13 1 13Z" fill="currentColor"/>
@@ -761,10 +941,152 @@ window["env"]["svg"]["task-approved"] = `<svg class="icon icon-task-approved" wi
<rect x="-448.5" y="-610.5" width="1860" height="1045" stroke="currentColor" stroke-width="3"/>
</svg>`
/* Video wall (navigation) */
window["env"]["svg"]["videowall"] = `<svg class="icon icon-videowall" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H7C7.55228 0 8 0.447715 8 1V7C8 7.55228 7.55228 8 7 8H1C0.447715 8 0 7.55228 0 7V1ZM2 2V6H6V2H2Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 11C0 10.4477 0.447715 10 1 10H7C7.55228 10 8 10.4477 8 11V17C8 17.5523 7.55228 18 7 18H1C0.447715 18 0 17.5523 0 17V11ZM2 12V16H6V12H2Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 1C10 0.447715 10.4477 0 11 0H17C17.5523 0 18 0.447715 18 1V7C18 7.55228 17.5523 8 17 8H11C10.4477 8 10 7.55228 10 7V1ZM12 2V6H16V2H12Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 11C10 10.4477 10.4477 10 11 10H17C17.5523 10 18 10.4477 18 11V17C18 17.5523 17.5523 18 17 18H11C10.4477 18 10 17.5523 10 17V11ZM12 12V16H16V12H12Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17 4C17 5.65685 15.6569 7 14 7C12.3431 7 11 5.65685 11 4C11 2.34315 12.3431 1 14 1C15.6569 1 17 2.34315 17 4ZM13.4234 5.33486C13.3125 5.40617 13.1667 5.32653 13.1667 5.19467V2.80522C13.1667 2.67336 13.3125 2.59372 13.4234 2.66502L15.2819 3.85975C15.384 3.92535 15.384 4.07453 15.2819 4.14014L13.4234 5.33486Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17 14C17 15.6569 15.6569 17 14 17C12.3431 17 11 15.6569 11 14C11 12.3431 12.3431 11 14 11C15.6569 11 17 12.3431 17 14ZM13.4234 15.3349C13.3125 15.4062 13.1667 15.3265 13.1667 15.1947V12.8052C13.1667 12.6734 13.3125 12.5937 13.4234 12.665L15.2819 13.8597C15.384 13.9254 15.384 14.0745 15.2819 14.1401L13.4234 15.3349Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 4C7 5.65685 5.65685 7 4 7C2.34315 7 1 5.65685 1 4C1 2.34315 2.34315 1 4 1C5.65685 1 7 2.34315 7 4ZM3.42344 5.33486C3.31252 5.40617 3.16665 5.32653 3.16665 5.19467V2.80522C3.16665 2.67336 3.31252 2.59372 3.42344 2.66502L5.2819 3.85975C5.38395 3.92535 5.38395 4.07453 5.2819 4.14014L3.42344 5.33486Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 14C7 15.6569 5.65685 17 4 17C2.34315 17 1 15.6569 1 14C1 12.3431 2.34315 11 4 11C5.65685 11 7 12.3431 7 14ZM3.42344 15.3349C3.31252 15.4062 3.16665 15.3265 3.16665 15.1947V12.8052C3.16665 12.6734 3.31252 12.5937 3.42344 12.665L5.2819 13.8597C5.38395 13.9254 5.38395 14.0745 5.2819 14.1401L3.42344 15.3349Z" fill="currentColor"/>
</svg>`
/* User (Profile > Edit profile) */
window["env"]["svg"]["user"] = `<svg class="icon icon-user" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 2C7.89543 2 7 2.89543 7 4C7 5.10457 7.89543 6 9 6C10.1046 6 11 5.10457 11 4C11 2.89543 10.1046 2 9 2ZM5 4C5 1.79086 6.79086 0 9 0C11.2091 0 13 1.79086 13 4C13 6.20914 11.2091 8 9 8C6.79086 8 5 6.20914 5 4Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.9981 11.3995C5.29471 9.88675 7.08937 9 9 9C10.9106 9 12.7053 9.88675 14.0019 11.3995C15.2944 12.9074 16 14.9238 16 17C16 17.5523 15.5523 18 15 18L3 18C2.44772 18 2 17.5523 2 17C2 14.9238 2.70558 12.9074 3.9981 11.3995ZM9 11C7.72803 11 6.47044 11.5882 5.51662 12.701C4.75666 13.5877 4.24797 14.743 4.07017 16L13.9298 16C13.752 14.743 13.2433 13.5877 12.4834 12.701C11.5296 11.5882 10.272 11 9 11Z" fill="currentColor"/>
</svg>`
/* Comments */
window["env"]["svg"]["comments"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path clip-rule="evenodd" fill="#A69D9D" d="M9 17.25a1 1 0 0 1-1-1v-2.25H5.25a2 2 0 0 1-2-2V5.25a2 2 0 0 1 2-2h10.5a2 2 0 0 1 2 2v6.75a2 2 0 0 1-2 2h-3.075l-2.775 2.782c-.2.19-.45.293-.675.293zm.75-4.5v2.31L12.06 12.75h3.94V5.25H5.25v7.5zM2.25 11.25H.75V2.25a2 2 0 0 1 2-2h12V2.25H2.25z"/>
</svg>`
/* Details */
window["env"]["svg"]["details"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="#A69D9D" d="M16 2.25H2a1 1 0 0 0-1 1v11.5a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3.25a1 1 0 0 0-1-1zm0 12.5H2V3.25h14v11.5z"/>
<path fill="#A69D9D" d="M4.5 8.25h9a.75.75 0 0 0 0-1.5h-9a.75.75 0 0 0 0 1.5zM4.5 10.25h9a.75.75 0 0 0 0-1.5h-9a.75.75 0 0 0 0 1.5zM4.5 12.25h5a.75.75 0 0 0 0-1.5h-5a.75.75 0 0 0 0 1.5z"/>
</svg>`;
/* Dots */
window["env"]["svg"]["dots"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.75 7.5C2.925 7.5 2.25 8.175 2.25 9C2.25 9.825 2.925 10.5 3.75 10.5C4.575 10.5 5.25 9.825 5.25 9C5.25 8.175 4.575 7.5 3.75 7.5ZM14.25 7.5C13.425 7.5 12.75 8.175 12.75 9C12.75 9.825 13.425 10.5 14.25 10.5C15.075 10.5 15.75 9.825 15.75 9C15.75 8.175 15.075 7.5 14.25 7.5ZM9 7.5C8.175 7.5 7.5 8.175 7.5 9C7.5 9.825 8.175 10.5 9 10.5C9.825 10.5 10.5 9.825 10.5 9C10.5 8.175 9.825 7.5 9 7.5Z" fill="black"/>
</svg>`;
/* Label */
window["env"]["svg"]["label"] = `<svg fill="#A69D9D" width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 16C1.45 16 0.979333 15.8043 0.588 15.413C0.196667 15.0217 0.000666667 14.5507 0 14V2C0 1.45 0.196 0.979333 0.588 0.588C0.98 0.196666 1.45067 0.000666667 2 0H13C13.3167 0 13.6167 0.0709998 13.9 0.213C14.1833 0.355 14.4167 0.550667 14.6 0.8L20 8L14.6 15.2C14.4167 15.45 14.1833 15.646 13.9 15.788C13.6167 15.93 13.3167 16.0007 13 16H7.5H2ZM2 14H13L17.5 8L13 2H2V14Z"/>
</svg>`;
/* Settings */
window["env"]["svg"]["settings"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M14.5726 9.73502C14.6026 9.49502 14.6251 9.25502 14.6251 9.00002C14.6251 8.74502 14.6026 8.50502 14.5726 8.26502L16.1551 7.02752C16.2976 6.91502 16.3351 6.71252 16.2451
6.54752L14.7451 3.95252C14.7009 3.87514 14.6306 3.81603 14.5467 3.7858C14.4629 3.75556 14.371 3.75617 14.2876 3.78752L12.4201 4.53752C12.0301 4.23752 11.6101 3.99002 11.1526 3.80252L10.8676 1.81502C10.8549 1.72691 10.8106
1.64641 10.7431 1.58847C10.6755 1.53054 10.5891 1.49911 10.5001 1.50002H7.50012C7.31262 1.50002 7.15512 1.63502 7.13262 1.81502L6.84762 3.80252C6.39012 3.99002 5.97012 4.24502 5.58012 4.53752L3.71262 3.78752C3.66903 3.77318
3.62351 3.76559 3.57762 3.76502C3.45012 3.76502 3.32262 3.83252 3.25512 3.95252L1.75512 6.54752C1.65762 6.71252 1.70262 6.91502 1.84512 7.02752L3.42762 8.26502C3.39762 8.50502 3.37512 8.75252 3.37512 9.00002C3.37512 9.24752
3.39762 9.49502 3.42762 9.73502L1.84512 10.9725C1.70262 11.085 1.66512 11.2875 1.75512 11.4525L3.25512 14.0475C3.29934 14.1249 3.36966 14.184 3.4535 14.2142C3.53733 14.2445 3.6292 14.2439 3.71262 14.2125L5.58012 13.4625C5.97012
13.7625 6.39012 14.01 6.84762 14.1975L7.13262 16.185C7.15512 16.365 7.31262 16.5 7.50012 16.5H10.5001C10.6876 16.5 10.8451 16.365 10.8676 16.185L11.1526 14.1975C11.6101 14.01 12.0301 13.755 12.4201 13.4625L14.2876 14.2125C14.3326
14.2275 14.3776 14.235 14.4226 14.235C14.5501 14.235 14.6776 14.1675 14.7451 14.0475L16.2451 11.4525C16.3351 11.2875 16.2976 11.085 16.1551 10.9725L14.5726 9.73502ZM13.0876 8.45252C13.1176 8.68502 13.1251 8.84252 13.1251 9.00002C13.1251
9.15752 13.1101 9.32252 13.0876 9.54752L12.9826 10.395L13.6501 10.92L14.4601 11.55L13.9351 12.4575L12.9826 12.075L12.2026 11.76L11.5276 12.27C11.2051 12.51 10.8976 12.69 10.5901 12.8175L9.79512 13.14L9.67512 13.9875L9.52512 15H8.47512L8.33262
13.9875L8.21262 13.14L7.41762 12.8175C7.09512 12.6825 6.79512 12.51 6.49512 12.285L5.81262 11.76L5.01762 12.0825L4.06512 12.465L3.54012 11.5575L4.35012 10.9275L5.01762 10.4025L4.91262 9.55502C4.89012 9.32252 4.87512 9.15002 4.87512 9.00002C4.87512
8.85002 4.89012 8.67752 4.91262 8.45252L5.01762 7.60502L4.35012 7.08002L3.54012 6.45002L4.06512 5.54252L5.01762 5.92502L5.79762 6.24002L6.47262 5.73002C6.79512 5.49002 7.10262 5.31002 7.41012 5.18252L8.20512 4.86002L8.32512 4.01252L8.47512 3.00002H9.51762L9.66012
4.01252L9.78012 4.86002L10.5751 5.18252C10.8976 5.31752 11.1976 5.49002 11.4976 5.71502L12.1801 6.24002L12.9751 5.91752L13.9276 5.53502L14.4526 6.44252L13.6501 7.08002L12.9826 7.60502L13.0876 8.45252ZM9.00012 6.00002C7.34262 6.00002 6.00012 7.34252 6.00012 9.00002C6.00012
10.6575 7.34262 12 9.00012 12C10.6576 12 12.0001 10.6575 12.0001 9.00002C12.0001 7.34252 10.6576 6.00002 9.00012 6.00002ZM9.00012 10.5C8.17512 10.5 7.50012 9.82502 7.50012 9.00002C7.50012 8.17502 8.17512 7.50002 9.00012 7.50002C9.82512 7.50002 10.5001 8.17502 10.5001 9.00002C10.5001 9.82502 9.82512 10.5 9.00012 10.5Z"/>
</svg>`
/* Clock */
window["env"]["svg"]["clock"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M9 15C10.5913 15 12.1174 14.3679 13.2426 13.2426C14.3679 12.1174 15 10.5913 15 9C15 7.4087 14.3679 5.88258 13.2426 4.75736C12.1174 3.63214 10.5913 3 9 3C7.4087 3 5.88258 3.63214 4.75736 4.75736C3.63214 5.88258 3 7.4087 3 9C3 10.5913 3.63214 12.1174 4.75736 13.2426C5.88258 14.3679 7.4087 15 9 15ZM9 1.5C9.98491 1.5 10.9602 1.69399 11.8701 2.0709C12.7801 2.44781 13.6069 3.00026 14.3033 3.6967C14.9997 4.39314 15.5522 5.21993 15.9291 6.12987C16.306 7.03982 16.5 8.01509 16.5 9C16.5 10.9891 15.7098 12.8968 14.3033 14.3033C12.8968 15.7098 10.9891 16.5 9 16.5C4.8525 16.5 1.5 13.125 1.5 9C1.5 7.01088 2.29018 5.10322 3.6967 3.6967C5.10322 2.29018 7.01088 1.5 9 1.5ZM9.375 5.25V9.1875L12.75 11.19L12.1875 12.1125L8.25 9.75V5.25H9.375Z"/>
</svg>`;
/* Light mode */
window["env"]["svg"]["lightmode"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M8 12C10.2091 12 12 10.2091 12 8C12 5.79086 10.2091 4 8 4C5.79086 4 4 5.79086 4 8C4 10.2091 5.79086 12 8 12Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M14.667 8H15.3337" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M8 1.33268V0.666016" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M8 15.3327V14.666" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M13.3337 13.3327L12.667 12.666" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M13.3337 2.66602L12.667 3.33268" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M2.66699 13.3327L3.33366 12.666" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M2.66699 2.66602L3.33366 3.33268" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
<path fill="currentColor" d="M0.666992 8H1.33366" stroke="black" stroke-linecap="currentColor" stroke-linejoin="round"/>
</svg>`;
/* Dark mode */
window["env"]["svg"]["darkmode"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill="currentColor" d="M2 7.67107C2 11.1665 4.83356 14 8.32893 14C10.8139 14 12.9644 12.5679 14 10.4839C8.32893 10.4839 5.51607 7.67107 5.51607 2C3.43214 3.03563 2 5.1861 2 7.67107Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
</svg>`;
/* Counting line */
window["env"]["svg"]["counting"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.5 14H13.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 11V2M9 2L11.625 4.625M9 2L6.375 4.625" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>`;
/* Counting line in */
window["env"]["svg"]["countingIn"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.06836 13.5L3.06836 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.1689 9H6.16895M6.16895 9L8.79395 6.375M6.16895 9L8.79395 11.625" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>`;
/* Counting line out */
window["env"]["svg"]["countingOut"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 4.5L4 13.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7 9H16M16 9L13.375 11.625M16 9L13.375 6.375" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>`;
/* Load more */
window["env"]["svg"]["loadMore"] = ` <svg width="12" height="18" viewBox="0 0 12 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<g opacity="0.5">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.7071 11.2929C12.0976 11.6834 12.0976 12.3166 11.7071 12.7071L6.70711 17.7071C6.31658 18.0976 5.68342 18.0976 5.29289 17.7071L0.292893 12.7071C-0.0976315 12.3166 -0.0976315 11.6834 0.292893 11.2929C0.683417 10.9024 1.31658 10.9024 1.70711 11.2929L6 15.5858L10.2929 11.2929C10.6834 10.9024 11.3166 10.9024 11.7071 11.2929Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 18C6.55228 18 7 17.5523 7 17L7 1C7 0.447716 6.55228 -5.33895e-09 6 -1.19249e-08C5.44772 -1.85108e-08 5 0.447716 5 1L5 17C5 17.5523 5.44772 18 6 18Z" fill="white"/>
</g>
</svg>`;
/* Loading */
window["env"]["svg"]["loading"] = `<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="loading">
<animateTransform
attributeName="transform"
type="rotate"
values="0 9 9; 60 9 9; 120 9 9; 180 9 9; 240 9 9; 300 9 9"
dur="0.75s"
repeatCount="indefinite"
calcMode="discrete" />
<circle cx="9" cy="3" r="3" fill="currentColor"/>
<path d="M6.33155 6.00218C6.33155 7.38289 5.21226 8.50218 3.83155 8.50218C2.45084 8.50218 1.33155 7.38289 1.33155 6.00218C1.33155 4.62147 2.45084 3.50218 3.83155 3.50218C5.21226 3.50218 6.33155 4.62147 6.33155 6.00218Z" fill="currentColor"/>
<path d="M5.79858 12.0042C5.79858 13.1087 4.90315 14.0042 3.79858 14.0042C2.69401 14.0042 1.79858 13.1087 1.79858 12.0042C1.79858 10.8996 2.69401 10.0042 3.79858 10.0042C4.90315 10.0042 5.79858 10.8996 5.79858 12.0042Z" fill="currentColor"/>
<path d="M10.5 15C10.5 15.8284 9.82843 16.5 9 16.5C8.17157 16.5 7.5 15.8284 7.5 15C7.5 14.1716 8.17157 13.5 9 13.5C9.82843 13.5 10.5 14.1716 10.5 15Z" fill="currentColor"/>
<path d="M15.1843 12.0012C15.1843 12.5535 14.7366 13.0012 14.1843 13.0012C13.632 13.0012 13.1843 12.5535 13.1843 12.0012C13.1843 11.4489 13.632 11.0012 14.1843 11.0012C14.7366 11.0012 15.1843 11.4489 15.1843 12.0012Z" fill="currentColor"/>
</g>
</svg>`;
window["env"]["svg"]["timeline"] = `
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M3 2C2.44772 2 2 2.44772 2 3C2 3.55228 2.44772 4 3 4C3.55228 4 4 3.55228 4 3C4 2.44772 3.55228 2 3 2ZM0 3C0 1.34315 1.34315 0 3 0C4.65685 0 6 1.34315 6 3C6 4.65685 4.65685 6 3 6C1.34315 6 0 4.65685 0 3Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 2C6.44772 2 6 2.44772 6 3C6 3.55228 6.44772 4 7 4C7.55228 4 8 3.55228 8 3C8 2.44772 7.55228 2 7 2ZM4 3C4 1.34315 5.34315 0 7 0C8.65685 0 10 1.34315 10 3C10 4.65685 8.65685 6 7 6C5.34315 6 4 4.65685 4 3Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 2C10.4477 2 10 2.44772 10 3C10 3.55228 10.4477 4 11 4C11.5523 4 12 3.55228 12 3C12 2.44772 11.5523 2 11 2ZM8 3C8 1.34315 9.34315 0 11 0C12.6569 0 14 1.34315 14 3C14 4.65685 12.6569 6 11 6C9.34315 6 8 4.65685 8 3Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15 10C14.4477 10 14 10.4477 14 11C14 11.5523 14.4477 12 15 12C15.5523 12 16 11.5523 16 11C16 10.4477 15.5523 10 15 10ZM12 11C12 9.34315 13.3431 8 15 8C16.6569 8 18 9.34315 18 11C18 12.6569 16.6569 14 15 14C13.3431 14 12 12.6569 12 11Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3 10C2.44772 10 2 10.4477 2 11C2 11.5523 2.44772 12 3 12C3.55228 12 4 11.5523 4 11C4 10.4477 3.55228 10 3 10ZM0 11C0 9.34315 1.34315 8 3 8C4.65685 8 6 9.34315 6 11C6 12.6569 4.65685 14 3 14C1.34315 14 0 12.6569 0 11Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 10C10.4477 10 10 10.4477 10 11C10 11.5523 10.4477 12 11 12C11.5523 12 12 11.5523 12 11C12 10.4477 11.5523 10 11 10ZM8 11C8 9.34315 9.34315 8 11 8C12.6569 8 14 9.34315 14 11C14 12.6569 12.6569 14 11 14C9.34315 14 8 12.6569 8 11Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 3C12 2.44772 12.4477 2 13 2H17C17.5523 2 18 2.44772 18 3C18 3.55228 17.5523 4 17 4H13C12.4477 4 12 3.55228 12 3Z" fill="currentColor"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 11C4 10.4477 4.44772 10 5 10H9C9.55228 10 10 10.4477 10 11C10 11.5523 9.55228 12 9 12H5C4.44772 12 4 11.5523 4 11Z" fill="currentColor"/>
</svg>
`
/* Hide right sidebar */
window["env"]["svg"]["hideRightSidebar"] = `<svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 24 24">
<path fill="currentColor" d="M7.22 14.47L9.69 12L7.22 9.53a.749.749 0 0 1 .326-1.275a.75.75 0 0 1 .734.215l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 0 1-1.042-.018a.75.75 0 0 1-.018-1.042" />
<path fill="currentColor" d="M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2M3.5 3.75v16.5c0 .138.112.25.25.25H15v-17H3.75a.25.25 0 0 0-.25.25m13 16.75h3.75a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H16.5Z" />
</svg>`;
/* Show right sidebar */
window["env"]["svg"]["showRightSidebar"] = `<svg xmlns="http://www.w3.org/2000/svg" width="18px" height="18px" viewBox="0 0 24 24">
<path fill="currentColor" d="M11.28 9.53L8.81 12l2.47 2.47a.749.749 0 0 1-.326 1.275a.75.75 0 0 1-.734-.215l-3-3a.75.75 0 0 1 0-1.06l3-3a.749.749 0 0 1 1.275.326a.75.75 0 0 1-.215.734" />
<path fill="currentColor" d="M3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25V3.75C2 2.784 2.784 2 3.75 2M3.5 3.75v16.5c0 .138.112.25.25.25H15v-17H3.75a.25.25 0 0 0-.25.25m13 16.75h3.75a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25H16.5Z" />
</svg>`;
})(this);
@@ -0,0 +1,409 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"
/>
<meta name="description" content="Kerberos.io Mailing">
<style type="text/css">
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url("https://kerberos.io/dist/fonts/Inter-Regular.woff?v=/dist/fonts/Inter-Regular.woff2?v=3.183.18") format("woff2"),
url("https://kerberos.io/dist/fonts/Inter-Regular.woff?v=/dist/fonts/Inter-Regular.woff2?v=3.183.18") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url("https://kerberos.io/dist/fonts/Inter-Medium.woff2?v=3.18") format("woff2"),
url("https://kerberos.io/dist/fonts/Inter-Medium.woff?v=3.18") format("woff");
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url("https://kerberos.io/dist/fonts/Inter-SemiBold.woff2?v=3.18") format("woff2"),
url("https://kerberos.io/dist/fonts/Inter-SemiBold.woff?v=3.18") format("woff");
}
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: normal;
font-named-instance: 'Regular';
src: url("https://kerberos.io/dist/fonts/Inter-roman.var.woff2?v=3.18") format("woff2");
}
body{
background: #E5E5E5;
margin-top:0;
margin-bottom: 0;
margin-right: 0;
margin-left: 0;
padding-top: 0;
padding-left: 0;
padding-right: 0;
padding-bottom: 0;
font-family: 'Inter';
}
a, a:hover, a:active {
color: #262424;
text-decoration: none;
}
.corner-td{
width: 60px;
}
table {border-collapse:separate;max-width: 850px; margin: 0 auto; width: 100%;}
.ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td {line-height: 100%;}
.ExternalClass {width: 100%;}
@media screen and (max-width:500px){
.tab-td{
padding-left: 10px!important;
}
.tab-td a h4{
font-size: 14px!important;
}
.corner-td{
width: 20px!important;
}
.company-name-td h3{
font-size: 16px!important;
}
table.header-table{
padding-top: 8px!important;
padding-right: 0px!important;
padding-bottom: 24px!important;
padding-left: 0px!important;
}
.colored-card-td h4{
font-size: 14px!important;
}
.colored-card-td h2{
font-size: 20px!important;
}
.colored-card-td a p{
font-size: 12px!important;
width: 143px!important;
}
.colored-card-td{
padding-top: 24px!important;
padding-right: 24px!important;
padding-bottom: 24px!important;
padding-left: 24px!important;
}
.colorless-card-td{
padding-top: 24px!important;
padding-right: 24px!important;
padding-bottom: 24px!important;
padding-left: 24px!important;
}
.colorless-card-td h3{
font-size: 18px!important;
}
.colorless-card-td p{
font-size: 14px!important;
}
.colorless-card-table{
margin-left: 0px!important;
margin-right: 0px!important;
margin-top: 24px!important;
margin-bottom: 24px!important;
}
.footer-td{
display: table-row!important;
}
}
@media screen and (max-width:600px) {
.footer-td{
display: table-row!important;
}
}
@media screen and (max-width:650px) {
.footer-table{
margin-left: 0px!important;
margin-right: 0px!important;
margin-top: 0px!important;
margin-bottom: 36px!important;
}
}
</style>
</head>
<body height="100%" width="100%">
<table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="E5E5E5" style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tr>
<td bgcolor="E5E5E5">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="36" class="header-table" style="padding-top: 36px ;padding-right: 0;padding-bottom: 36px;padding-left: 0;border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tbody>
<tr>
<td class="corner-td" align="left"></td>
<td width="48" height="36" align="left"><img alt="Kerberos.io" width="36" height="36" src="https://kerberos.io/images/email/kerberos.png"/></td>
<td height="36" align="left" class="company-name-td">
<h3 width="36" height="36" style=" font-family: Inter;
font-size: 20px;
font-style: normal;
font-weight: 600;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color: #262424;">Kerberos.io</h3>
</td>
<td height="36" width="36" style="padding-left: 36px;" class="tab-td" align="right">
<a style="text-decoration: none;color: none;" href={{tab1_href}}>
<h4 style="font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 36px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: right;
color: #6D6666;">{{tab1_title}}</h4>
</a>
</td>
<td height="36" width="36" style="padding-left: 36px;" class="tab-td" align="right" >
<a style="text-decoration: none;color: none;" href={{tab2_href}}>
<h4 style="font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 36px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: right;
color: #6D6666;">{{tab2_title}}</h4>
</a>
</td>
<td class="corner-td" align="right"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="E5E5E5" style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tr>
<td bgcolor="E5E5E5">
<table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;" >
<tbody>
<tr>
<td class="corner-td" align="left"></td>
<td class="colored-card-td" bgcolor="#57356B" style="padding-left: 48px;padding-right: 48px;padding-top: 48px;padding-bottom: 48px;border-radius: 4px;background-color:#57356B;">
<h4 style="font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#b09fb9;">Hey, {{assignee}}</h4>
<h2 style=" font-family: Inter;
font-size: 24px;
font-style: normal;
font-weight: 600;
line-height: 36px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#FFFFFF;
padding-top: 12px;
padding-bottom: 24px;
padding-left: 0;
padding-right: 0;">You have been assigned to a task</h2>
<p style="font-family: Inter;
font-size: 18px;
font-style: normal;
font-weight: 600;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#FFFFFF;
padding-top: 0;
padding-bottom: 0;
padding-left: 0;
padding-right: 0;
">Task Details:</p>
<ul style="font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 600;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#FFFFFF;
padding-top: 0;
padding-bottom: 12px;
padding-left: 0;
padding-right: 0;
margin-left: 12px">
<li>Task Name: {{task_name}}</li>
<li>Assigned By: {{user}}</li>
</ul>
<a style="text-decoration: none;color: none;" href="{{link}}">
<p style="font-family: Inter;
font-size: 14px;
font-style: normal;
line-height: 20px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#FFFFFF;
background-color: #84559F;
padding-top: 6px;
padding-bottom: 6px;
padding-right: 16px;
padding-left: 16px;
width: 166px;
border-radius: 4px;
cursor: pointer;">View task on kerberos hub</p>
</a>
</td>
<td class="corner-td" align="right"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="E5E5E5" style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tr>
<td bgcolor="E5E5E5">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="footer-table" style="margin-top: 0;border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;" >
<tbody>
<tr>
<td class="corner-td" align="left"></td>
<!--[if mso | IE]>
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;display:table-row !important">
<![endif]-->
<td height="146" width="190" class="footer-td" style="margin-bottom: 12px;" valign="top" align="left">
<table style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tbody>
<tr>
<td>
<h4 style=" font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 36px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#6D6666;">Get in touch</h4>
<a style="text-decoration: none;color: none;" href="mailto:support@verstraeten.io">
<p style=" font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 16px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color: #A69D9D;">support@kerberos.io</p>
</a>
<p style=" font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 16px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color: #A69D9D;">9000 Ghent, BE</p>
<a style="text-decoration: none;color: none;" href="https://kerberos.io/">
<p style=" font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color: #A69D9D;">https://kerberos.io</p>
</a>
</td>
</tr>
</tbody>
</table>
</td>
<!--[if mso | IE]>
<table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:top;display:table-row !important">
<![endif]-->
<td class="footer-td" style="border-radius: 4px;padding-left: 0;padding-right: 0;padding-top: 0;padding-bottom: 0; margin-bottom: 12px;" valign="top" align="left">
<table style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tbody>
<tr>
<td>
<h4 style=" font-family: Inter;
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 36px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color:#6D6666;">About Kerberos</h4>
<p style=" font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color: #A69D9D;">Welcome to the revolutionary video analytics and video management platform. Open, modular, and extensible for everyone, anywhere.</p>
<p style="margin-top: 12px;">
<a href="https://twitter.com/kerberosio" style="text-decoration: none;color: none;">
<img width="24" height="24" alt="Twitter" src="https://kerberos.io/images/email/twitter.png"/>
</a>
<a href="https://reddit.com/r/kerberos_io" style="text-decoration: none;color: none;">
<img g width="24" height="24" alt="Reddit" src="https://kerberos.io/images/email/reddit.png"/>
</a>
<a href="https://www.youtube.com/channel/UCnd9q7iRNNw4W95eQwQuECA" style="text-decoration: none;color: none;">
<img g width="24" height="24" alt="Youtube" src="https://kerberos.io/images/email/youtube.png"/>
</a>
<a href="https://github.com/kerberos-io" style="text-decoration: none;color: none;">
<img g width="24" height="24" alt="Github" src="https://kerberos.io/images/email/github.png"/>
</a>
</p>
</td>
</tr>
</tbody>
</table>
</td>
<td class="corner-td" align="right"></td>
</tr>
</tbody>
</table>
<table style="border-collaps:collaps; mso-table-lspace:0pt; mso-table-rspace:0pt;">
<tbody>
<tr style="height: 50px">
<td></td>
</tr>
</tbody>
</table>
</td>
</tr>
</table>
</body>
</html>
@@ -0,0 +1,19 @@
Kerberos.io
------------
Hey, {{assignee}}
You have been assigned to a new task on Kerberos Hub.
Task Details:
- Task Name: {{task_name}}
- Assigned By: {{user}}
- Link: {{link}}
Get in touch
------------
support@kerberos.io
9000 Ghent, BE
https://kerberos.io
About Kerberos
------------
Welcome to the revolutionary video analytics and video management platform. Open, modular, and extensible for everyone, anywhere.
@@ -1,3 +1,31 @@
package templates
var TEMPLATE_DETECTION_TEXT = `
Kerberos.io
------------
Hey, {{user}}
Welcome to Kerberos Hub
Activate your account ->
{{link}}
Kerberos Hub in a nutshell
With Kerberos Hub you can access your surveillance media remotely. By subscribing to a plan, you get access to a set of features, from advanced filtering, notifications to machine learning.
However before you get started this amazing applications, please activate your account.
Get in touch
------------
support@kerberos.io
9000 Ghent, BE
https://kerberos.io
About Kerberos
------------
Welcome to the revolutionary video analytics and video management platform. Open, modular, and extensible for everyone, anywhere.
`
var TEMPLATE_DETECTION = `
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
@@ -275,10 +303,25 @@
letter-spacing: 0em;
text-align: left;
color: #6D6666;
margin-top: 12px;">An alert was send to your e-mail as one of the conditions was triggered. Please watch the recording, by clicking on below button.
margin-top: 12px;">An alert was send to your e-mail as one of the conditions was triggered for your device <b>{{devicename}}</b>. Please watch the recording, by clicking on below button.
If you believe this event is a false positive, go to your Kerberos Hub account and change the alert settings accordingly.</p>
<p style=" font-family: Inter;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 24px;
mso-line-height-rule:exactly;
letter-spacing: 0em;
text-align: left;
color: #6D6666;
margin-top: 12px;">Following event was detected at {{datetime}}.</p>
<a style="text-decoration: none;color: none;" href="{{link}}">
{{thumbnail}}
</a>
<a style="text-decoration: none;color: none;" href="{{link}}">
<p style="font-family: Inter;
font-size: 14px;
@@ -429,4 +472,4 @@ If you believe this event is a false positive, go to your Kerberos Hub account a
</tr>
</table>
</body>
</html>
</html>`
@@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: admin
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.admin.replicas }}
selector:
matchLabels:
app: admin
template:
metadata:
labels:
app: admin
spec:
containers:
- name: admin
image: "{{ .Values.global.imageRegistry }}{{ .Values.admin.repository }}:{{ .Values.admin.tag }}"
imagePullPolicy: {{ .Values.admin.pullPolicy }}
{{- with .Values.admin.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
ports:
- name: http
containerPort: 80
protocol: TCP
env:
- name: API_URL
value: "{{ .Values.kerberoshub.api.schema }}://{{ .Values.kerberoshub.api.url }}"
- name: TITLE
value: Hub Admin | Scale for everyone, anywhere
- name: LOGO_NAME
- name: ENVIRONMENT
value: staging
- name: PRIVATE_EDITION
value: "false"
- name: PRODUCTION
value: "true"
- name: DEMO
value: "false"
+50
View File
@@ -0,0 +1,50 @@
{{ if ne .Values.ingress "" }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}
kind: Ingress
metadata:
name: admin-ingress
namespace: {{ .Release.Namespace }}
annotations:
{{- if eq .Values.admin.oauth2Proxy.enabled true }}
nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
{{- end }}
{{- if eq .Values.ingress "nginx" }}
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
{{- with .Values.admin.tls }}
tls:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
rules:
- host: "{{ .Values.admin.url }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: admin-svc
port:
number: 80
{{- else }}
rules:
- host: "{{ .Values.admin.url }}"
http:
paths:
- path: /
backend:
serviceName: admin-svc
servicePort: 80
{{- end }}
{{- end }}
@@ -0,0 +1,96 @@
{{- if eq .Values.admin.oauth2Proxy.enabled true }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: oauth2-proxy-admin
namespace: kube-system
annotations:
{{- if eq .Values.ingress "nginx" }}
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/enable-cors: "true"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
rules:
- host: "{{ .Values.admin.url }}"
http:
paths:
- path: /oauth2
pathType: Prefix
backend:
service:
name: oauth2-proxy-admin
port:
number: 4180
tls:
- hosts:
- "{{ .Values.admin.url }}"
secretName:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: oauth2-proxy-admin
namespace: kube-system
labels:
k8s-app: oauth2-proxy-admin
spec:
replicas: 1
selector:
matchLabels:
k8s-app: oauth2-proxy-admin
template:
metadata:
labels:
k8s-app: oauth2-proxy-admin
spec:
containers:
- args:
- --provider=github
- --email-domain=*
- --upstream=file:///dev/null
- --http-address=0.0.0.0:4180
- --skip-auth-preflight=true
env:
- name: OAUTH2_PROXY_CLIENT_ID
value: "{{ .Values.admin.oauth2Proxy.github.clientId }}"
- name: OAUTH2_PROXY_CLIENT_SECRET
value: "{{ .Values.admin.oauth2Proxy.github.clientSecret }}"
- name: OAUTH2_PROXY_COOKIE_SECRET
value: "{{ .Values.admin.oauth2Proxy.github.cookieSecret }}"
- name: OAUTH2_PROXY_GITHUB_ORG
value: "{{ .Values.admin.oauth2Proxy.github.organization }}"
- name: OAUTH2_PROXY_GITHUB_TEAM
value: "{{ .Values.admin.oauth2Proxy.github.team }}"
image: quay.io/oauth2-proxy/oauth2-proxy:latest
imagePullPolicy: Always
name: oauth2-proxy
ports:
- containerPort: 4180
protocol: TCP
resources:
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
---
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: oauth2-proxy-admin
name: oauth2-proxy-admin
namespace: kube-system
spec:
ports:
- name: http
port: 4180
protocol: TCP
targetPort: 4180
selector:
k8s-app: oauth2-proxy-admin
{{- end -}}
+15
View File
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: admin-svc
namespace: {{ .Release.Namespace }}
labels:
app: admin-svc
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
name: http
selector:
app: admin
+79 -36
View File
@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: hub-api-svc
namespace: {{ .Release.Namespace }}
labels:
app: hub-api-svc
spec:
@@ -16,6 +17,7 @@ spec:
protocol: TCP
selector:
app: hub-api
{{ if ne .Values.ingress "" }}
---
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
@@ -25,38 +27,22 @@ apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hub-api-ingress
namespace: {{ .Release.Namespace }}
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress }}
{{- if eq .Values.ingress "nginx" }}
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/proxy-body-size: 200m # This might throw a 413 Entity Too Large when uploading large recordings.
cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
{{- with .Values.kerberoshub.api.tls }}
tls:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
rules:
- host: "{{ .Values.kerberoshub.api.url }}"
http:
paths:
- path: /
backend:
serviceName: hub-api-svc
servicePort: 8081
{{- if .Values.kerberoshub.api.legacyUrl }}
- host: "{{ .Values.kerberoshub.api.legacyUrl }}"
http:
paths:
- path: /
backend:
serviceName: hub-api-svc
servicePort: 8081
{{- end }}
{{- else }}
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
rules:
- host: "{{ .Values.kerberoshub.api.url }}"
http:
@@ -90,12 +76,32 @@ spec:
name: hub-api-svc
port:
number: 80
{{- end }}
{{ else }}
rules:
- host: "{{ .Values.kerberoshub.api.url }}"
http:
paths:
- path: /
backend:
serviceName: hub-api-svc
servicePort: 8081
{{- if .Values.kerberoshub.api.legacyUrl }}
- host: "{{ .Values.kerberoshub.api.legacyUrl }}"
http:
paths:
- path: /
backend:
serviceName: hub-api-svc
servicePort: 8081
{{- end }}
{{ end }}
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-api
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberoshub.api.replicas }}
selector:
@@ -122,7 +128,7 @@ spec:
{{- end }}
containers:
- name: hub-api
image: "{{ .Values.kerberoshub.api.repository }}:{{ .Values.kerberoshub.api.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.api.repository }}:{{ .Values.kerberoshub.api.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.api.pullPolicy }}
{{- with .Values.kerberoshub.api.resources }}
resources:
@@ -130,14 +136,18 @@ spec:
{{- end }}
ports:
- containerPort: 80
name: http
name: http
{{- with .Values.kerberoshub.api.volumeMounts}}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: ENVIRONMENT
value: "{{ .Values.environment }}"
- name: READ_ONLY
value: "{{ .Values.readonly }}"
value: "{{ .Values.readOnly }}"
- name: SUPPORT_ENABLED
value: "{{ .Values.kerberoshub.support.enabled }}"
- name: CLOUD_API_URL
value: "{{ .Values.kerberoshub.api.url }}"
- name: API_URL
@@ -165,20 +175,30 @@ spec:
value: "{{ .Values.licenseServer.url }}"
- name: LICENSE_PUBLIC_API_TOKEN
value: "{{ .Values.licenseServer.token }}"
# Authorization - Authentication secret
- name: KERBEROS_JWT_SECRET
value: "{{ .Values.kerberoshub.api.jwtSecret }}"
# SSO (OIDC) setup
- name: SSO_ISSUER
value: "{{ .Values.kerberoshub.api.sso.issuer }}"
- name: SSO_CLIENTID
value: "{{ .Values.kerberoshub.api.sso.clientId }}"
- name: SSO_CLIENTSECRET
value: "{{ .Values.kerberoshub.api.sso.clientSecret }}"
- name: SSO_REDIRECTURL
value: "{{ .Values.kerberoshub.api.schema }}://{{ .Values.kerberoshub.api.url }}{{ .Values.kerberoshub.api.sso.redirectUrl }}"
- name: SSO_DOMAINS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .domain }};{{- end }}"
- name: SSO_REDIRECTURLS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .redirectUrl }};{{- end }}"
- name: SSO_CLAIMIDS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .claimId }};{{- end }}"
- name: SSO_ISSUERS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .issuer }};{{- end }}"
- name: SSO_CLIENTIDS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .clientId }};{{- end }}"
- name: SSO_CLIENTSECRETS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .clientSecret }};{{- end }}"
- name: SSO_CLIENTVERIFICATIONIDS
value: "{{- range .Values.kerberoshub.api.sso }}{{ .clientVerificationId }};{{- end }}"
- name: SSO_FORCE_SSO
value: "{{- range .Values.kerberoshub.api.sso }}{{ .forceSSO }};{{- end }}"
- name: SSO_EXTRA_HEADERS
value: "{{- range .Values.kerberoshub.api.sso }}{{- if .extraHeaders }}{{- range .extraHeaders }}{{ .name }}:{{ .value }};{{- end }}{{- else }}{{- end }}*{{- end }}"
# Kerberos pipeline
- name: QUEUE_SYSTEM
@@ -190,6 +210,10 @@ spec:
- name: STRIPE_KEY
value: "{{ .Values.kerberoshub.api.stripe.privateKey }}"
# OpenAI
- name: OPENAI_API_KEY
value: "{{ .Values.openai.apikey }}"
# MFA Issuer name (Will be shown when scanning in)
- name: MFA_ISSUER
value: "{{ .Values.kerberoshub.api.mfaIssuer }}"
@@ -246,8 +270,12 @@ spec:
# Mongodb
- name: MONGODB_DATABASE_CLOUD
value: "Kerberos"
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -286,7 +314,7 @@ spec:
value: "{{ .Values.email.from }}"
- name: EMAIL_FROM_DISPLAYNAME
value: "{{ .Values.email.displayName }}"
# Mail templates
- name: WELCOME_TEMPLATE
value: "{{ .Values.email.templates.welcome }}"
@@ -304,6 +332,10 @@ spec:
value: "{{ .Values.email.templates.share }}"
- name: SHARE_TITLE
value: "{{ .Values.email.templates.shareTitle }}"
- name: ASSIGN_TASK_TEMPLATE
value: "{{ .Values.email.templates.assignTask }}"
- name: ASSIGN_TASK_TITLE
value: "{{ .Values.email.templates.assignTaskTitle }}"
# SMTP
- name: SMTP_SERVER
@@ -314,7 +346,7 @@ spec:
value: "{{ .Values.email.smtp.username }}"
- name: SMTP_PASSWORD
value: "{{ .Values.email.smtp.password }}"
# Mailgun
- name: MAILGUN_DOMAIN
value: "{{ .Values.email.mailgun.domain }}"
@@ -347,3 +379,14 @@ spec:
value: "{{ .Values.kerberosvault.sprite.width }}"
- name: VAULT_SPRITE_HEIGHT
value: "{{ .Values.kerberosvault.sprite.height }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 12 }}
{{- end }}
# Open Telemetry tracing
- name: OTEL_EXPORTED_OTLP_ENABLED
value: "{{ .Values.kerberoshub.api.otlp.enabled }}"
- name: OTEL_EXPORTED_OTLP_ROUTING_ENABLED
value: "{{ .Values.kerberoshub.api.otlp.routingEnabled }}"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: "{{ .Values.kerberoshub.api.otlp.endpoint }}"
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-cleanup
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -24,23 +25,31 @@ spec:
{{- end }}
containers:
- name: hub-cleanup
image: "{{ .Values.kerberoshub.cleanup.repository }}:{{ .Values.kerberoshub.cleanup.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.cleanup.repository }}:{{ .Values.kerberoshub.cleanup.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.cleanup.pullPolicy }}
{{- with .Values.kerberoshub.cleanup.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: READ_ONLY
value: "{{ .Values.readonly }}"
- name: MAX_DAYS
value: "30"
value: "{{ .Values.kerberoshub.cleanup.maxDays }}"
- name: MONGODB_DATABASE_CLOUD
value: "Kerberos"
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
value: "{{ .Values.mongodb.username }}"
- name: MONGODB_PASSWORD
value: "{{ .Values.mongodb.password }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 12 }}
{{- end }}
@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: hub-frontend-demo-svc
namespace: {{ .Release.Namespace }}
labels:
app: hub-frontend-demo-svc
spec:
@@ -12,6 +13,7 @@ spec:
name: http
selector:
app: hub-frontend-demo
{{ if ne .Values.ingress "" }}
---
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
@@ -21,30 +23,20 @@ apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: hub-frontend-demo-ingress
namespace: {{ .Release.Namespace }}
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress }}
{{- if eq .Values.ingress "nginx" }}
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
{{- with .Values.kerberoshub.frontend.demoTls }}
tls:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
rules:
- host: "{{ .Values.kerberoshub.frontend.demoUrl }}"
http:
paths:
- path: /
backend:
serviceName: hub-frontend-demo-svc
servicePort: 80
{{- else }}
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
rules:
- host: "{{ .Values.kerberoshub.frontend.demoUrl }}"
http:
@@ -56,12 +48,23 @@ spec:
name: hub-frontend-demo-svc
port:
number: 80
{{- end }}
{{ else }}
rules:
- host: "{{ .Values.kerberoshub.frontend.demoUrl }}"
http:
paths:
- path: /
backend:
serviceName: hub-frontend-demo-svc
servicePort: 80
{{ end }}
{{ end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-frontend-demo
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberoshub.frontend.replicas }}
selector:
@@ -88,7 +91,7 @@ spec:
{{- end }}
containers:
- name: hub-frontend-demo
image: "{{ .Values.kerberoshub.frontend.repository }}:{{ .Values.kerberoshub.frontend.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.frontend.repository }}:{{ .Values.kerberoshub.frontend.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.frontend.pullPolicy }}
{{- with .Values.kerberoshub.frontend.resources }}
resources:
@@ -223,6 +226,27 @@ spec:
value: "{{ .Values.kerberoshub.frontend.navigationLinkUrl4 }}"
- name: NAVIGATION_LINK_TITLE_5
value: "{{ .Values.kerberoshub.frontend.navigationLinkTitle5 }}"
- name: NAVIGATION_LINK_URL_5
- 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
- name: COLOR_DEVICE_ACTIVE
value: "{{ .Values.kerberoshub.frontend.colorDeviceActive }}"
- name: COLOR_DEVICE_INACTIVE
value: "{{ .Values.kerberoshub.frontend.colorDeviceInactive }}"
- name: COLOR_DEVICE_IDLE
value: "{{ .Values.kerberoshub.frontend.colorDeviceIdle }}"
- name: COLOR_DEVICE_MOTION
value: "{{ .Values.kerberoshub.frontend.colorDeviceMotion }}"
- name: COLOR_FLOORPLAN_LABEL_TEXT
value: "{{ .Values.kerberoshub.frontend.colorFloorPlanLabelText }}"
- name: COLOR_FLOORPLAN_LABEL_BACKGROUND
value: "{{ .Values.kerberoshub.frontend.colorFloorPlanLabelBackground }}"
- name: COLOR_DEVICE_MARKER_BORDER
value: "{{ .Values.kerberoshub.frontend.colorDeviceMarkerBorder }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 8 }}
{{- end }}
@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: hub-frontend-svc
namespace: {{ .Release.Namespace }}
labels:
app: hub-frontend-svc
spec:
@@ -12,77 +13,137 @@ spec:
name: http
selector:
app: hub-frontend
{{ if ne .Values.ingress "" }}
---
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{ else }}
{{- else }}
apiVersion: networking.k8s.io/v1beta1
{{ end }}
{{- end }}
kind: Ingress
metadata:
name: hub-frontend-ingress
namespace: {{ .Release.Namespace }}
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress }}
{{- if eq .Values.kerberoshub.oauth2Proxy.enabled true }}
nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
{{- end }}
{{- if eq .Values.ingress "nginx" }}
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
{{- with .Values.kerberoshub.frontend.tls }}
tls:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
rules:
- host: "{{ .Values.kerberoshub.frontend.url }}"
http:
paths:
- path: /
backend:
serviceName: hub-frontend-svc
servicePort: 80
- path: /
pathType: Prefix
backend:
service:
name: hub-frontend-svc
port:
number: 80
{{- if .Values.kerberoshub.frontend.legacyUrl }}
- host: "{{ .Values.kerberoshub.frontend.legacyUrl }}"
http:
paths:
- path: /
backend:
serviceName: hub-frontend-svc
servicePort: 80
- path: /
pathType: Prefix
backend:
service:
name: hub-frontend-svc
port:
number: 80
{{- end }}
{{- range .Values.kerberoshub.frontend.domains }}
- host: "{{ . }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hub-frontend-svc
port:
number: 80
{{- end }}
{{- else }}
rules:
- host: "{{ .Values.kerberoshub.frontend.url }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hub-frontend-svc
port:
number: 80
- path: /
backend:
serviceName: hub-frontend-svc
servicePort: 80
{{- if .Values.kerberoshub.frontend.legacyUrl }}
- host: "{{ .Values.kerberoshub.frontend.legacyUrl }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: hub-frontend-svc
port:
number: 80
- path: /
backend:
serviceName: hub-frontend-svc
servicePort: 80
{{- end }}
{{- range .Values.kerberoshub.frontend.domains }}
- host: "{{ . }}"
http:
paths:
- path: /
backend:
serviceName: hub-frontend-svc
servicePort: 80
{{- end }}
{{- end }}
{{- end }}
{{- if eq .Values.kerberoshub.oauth2Proxy.enabled true }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: oauth2-proxy-frontend
namespace: kube-system
annotations:
{{- if eq .Values.ingress "nginx" }}
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/enable-cors: "true"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
rules:
- host: "{{ .Values.kerberoshub.frontend.url }}"
http:
paths:
- path: /oauth2
pathType: Prefix
backend:
service:
name: oauth2-proxy
port:
number: 4180
tls:
- hosts:
- "{{ .Values.kerberoshub.frontend.url }}"
secretName:
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-frontend
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberoshub.frontend.replicas }}
selector:
@@ -109,7 +170,7 @@ spec:
{{- end }}
containers:
- name: hub-frontend
image: "{{ .Values.kerberoshub.frontend.repository }}:{{ .Values.kerberoshub.frontend.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.frontend.repository }}:{{ .Values.kerberoshub.frontend.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.frontend.pullPolicy }}
{{- with .Values.kerberoshub.frontend.resources }}
resources:
@@ -123,8 +184,12 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
env:
- name: SSO_DOMAIN
value: "{{ .Values.kerberoshub.frontend.ssoDomain }}"
- name: SSO_DOMAINS
# get the domain attribute from the list of sso domains
value: "{{- range .Values.kerberoshub.api.sso }}{{ .domain }};{{- end }}"
- name: SSO_FORCE_DOMAINS
# get the domain attribute from the list of sso domains
value: "{{- range .Values.kerberoshub.api.sso }}{{ .forceSSO }};{{- end }}"
- name: TITLE
value: "{{ .Values.kerberoshub.frontend.title }}"
- name: LOGO_NAME
@@ -167,6 +232,10 @@ spec:
- name: MQTT_LEGACY_PORT
value: "{{ .Values.mqtt.legacy.port }}"
# OpenAI
- name: OPENAI_ENABLED
value: "{{ .Values.openai.enabled }}"
# Turn (Pion)
- name: TURN_SERVER
value: "{{ .Values.turn.host }}"
@@ -256,5 +325,35 @@ spec:
value: "{{ .Values.kerberoshub.frontend.navigationLinkUrl4 }}"
- name: NAVIGATION_LINK_TITLE_5
value: "{{ .Values.kerberoshub.frontend.navigationLinkTitle5 }}"
- name: NAVIGATION_LINK_URL_5
- name: NAVIGATION_LINK_URL_5
value: "{{ .Values.kerberoshub.frontend.navigationLinkUrl5 }}"
- name: CASE_FILTER_ASSIGNEES_DEFAULT
value: "{{ .Values.kerberoshub.frontend.caseFilterAssigneesDefault }}"
- name: COLOR_DEVICE_ACTIVE
value: "{{ .Values.kerberoshub.frontend.colorDeviceActive }}"
- name: COLOR_DEVICE_INACTIVE
value: "{{ .Values.kerberoshub.frontend.colorDeviceInactive }}"
- name: COLOR_DEVICE_IDLE
value: "{{ .Values.kerberoshub.frontend.colorDeviceIdle }}"
- name: COLOR_DEVICE_MOTION
value: "{{ .Values.kerberoshub.frontend.colorDeviceMotion }}"
- name: COLOR_FLOOR_PLAN_LABEL_TEXT
value: "{{ .Values.kerberoshub.frontend.colorFloorPlanLabelText }}"
- name: COLOR_FLOOR_PLAN_LABEL_BACKGROUND
value: "{{ .Values.kerberoshub.frontend.colorFloorPlanLabelBackground }}"
- name: COLOR_DEVICE_MARKER_BORDER
value: "{{ .Values.kerberoshub.frontend.colorDeviceMarkerBorder }}"
- name: FLOOR_PLAN_NAME
value: "{{ .Values.kerberoshub.frontend.floorPlanName }}"
- name: SITES_NAME
value: "{{ .Values.kerberoshub.frontend.sitesName }}"
- name: GROUPS_NAME
value: "{{ .Values.kerberoshub.frontend.groupsName }}"
- name: SITE_GROUP_NAME
value: "{{ .Values.kerberoshub.frontend.siteGroupName }}"
- name: DEVICE_GROUP_NAME
value: "{{ .Values.kerberoshub.frontend.deviceGroupName }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 8 }}
{{- end }}
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-monitor-device
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -28,7 +29,7 @@ spec:
{{- end }}
containers:
- name: hub-monitor-device
image: "{{ .Values.kerberoshub.monitordevice.repository }}:{{ .Values.kerberoshub.monitordevice.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.monitordevice.repository }}:{{ .Values.kerberoshub.monitordevice.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.monitordevice.pullPolicy }}
{{- with .Values.kerberoshub.monitordevice.resources }}
resources:
@@ -39,11 +40,17 @@ spec:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: READ_ONLY
value: "{{ .Values.readonly }}"
# Mongodb
- name: MONGODB_DATABASE_CLOUD
value: "Kerberos"
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -58,13 +65,13 @@ spec:
value: "{{ .Values.email.from }}"
- name: EMAIL_FROM_DISPLAYNAME
value: "{{ .Values.email.displayName }}"
# Mail templates
- name: DEVICE_TEMPLATE
value: "{{ .Values.email.templates.device }}"
- name: DEVICE_TITLE
value: "{{ .Values.email.templates.deviceTitle }}"
# - Plain SMTP
- name: SMTP_SERVER
value: "{{ .Values.email.smtp.server }}"
@@ -74,10 +81,12 @@ spec:
value: "{{ .Values.email.smtp.username }}"
- name: SMTP_PASSWORD
value: "{{ .Values.email.smtp.password }}"
# Mailgun
- name: MAILGUN_DOMAIN
value: "{{ .Values.email.mailgun.domain }}"
- name: MAILGUN_API_KEY
value: "{{ .Values.email.mailgun.apikey }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 12 }}
{{- end }}
@@ -0,0 +1,69 @@
{{- if .Values.kerberoshub.oauth2Proxy.enabled -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: oauth2-proxy
namespace: kube-system
labels:
k8s-app: oauth2-proxy
spec:
replicas: 1
selector:
matchLabels:
k8s-app: oauth2-proxy
template:
metadata:
labels:
k8s-app: oauth2-proxy
spec:
containers:
- args:
- --provider=github
- --email-domain=*
- --upstream=file:///dev/null
- --http-address=0.0.0.0:4180
- --skip-auth-preflight=true
env:
- name: OAUTH2_PROXY_CLIENT_ID
value: "{{ .Values.kerberoshub.oauth2Proxy.github.clientId }}"
- name: OAUTH2_PROXY_CLIENT_SECRET
value: "{{ .Values.kerberoshub.oauth2Proxy.github.clientSecret }}"
- name: OAUTH2_PROXY_COOKIE_SECRET
value: "{{ .Values.kerberoshub.oauth2Proxy.github.cookieSecret }}"
- name: OAUTH2_PROXY_GITHUB_ORG
value: "{{ .Values.kerberoshub.oauth2Proxy.github.organization }}"
- name: OAUTH2_PROXY_GITHUB_TEAM
value: "{{ .Values.kerberoshub.oauth2Proxy.github.team }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 12 }}
{{- end }}
image: quay.io/oauth2-proxy/oauth2-proxy:latest
imagePullPolicy: Always
name: oauth2-proxy
ports:
- containerPort: 4180
protocol: TCP
resources:
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
---
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: oauth2-proxy
name: oauth2-proxy
namespace: kube-system
spec:
ports:
- name: http
port: 4180
protocol: TCP
targetPort: 4180
selector:
k8s-app: oauth2-proxy
{{- end -}}
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-reactivate-subscription
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -18,15 +19,23 @@ spec:
labels:
app: hub-reactivate-subscription
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
- name: regcred
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: hub-reactivate-subscription
image: "{{ .Values.kerberoshub.reactivate.repository }}:{{ .Values.kerberoshub.reactivate.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.reactivate.repository }}:{{ .Values.kerberoshub.reactivate.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.reactivate.pullPolicy }}
env:
- name: READ_ONLY
value: "{{ .Values.readonly }}"
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -37,3 +46,6 @@ spec:
value: "{{ .Values.kerberoshub.api.aws.accessKey }}"
- name: AWS_SECRET_ACCESS_KEY
value: "{{ .Values.kerberoshub.api.aws.secretKey }}"
{{- if .Values.kerberoshub.extraEnv }}
{{- toYaml .Values.kerberoshub.extraEnv | nindent 12 }}
{{- end }}
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-analysis
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.analysis.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-analysis
image: "{{ .Values.kerberospipeline.analysis.repository }}:{{ .Values.kerberospipeline.analysis.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.analysis.repository }}:{{ .Values.kerberospipeline.analysis.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.analysis.pullPolicy }}
{{- with .Values.kerberospipeline.analysis.resources }}
resources:
@@ -37,8 +38,12 @@ spec:
value: "{{ .Values.queueProvider }}"
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -83,10 +88,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-analysis
namespace: {{ .Release.Namespace }}
labels:
app: pipe-analysis
service: pipe
name: pipe-analysis
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-counting
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.counting.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-counting
image: "{{ .Values.kerberospipeline.counting.repository }}:{{ .Values.kerberospipeline.counting.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.counting.repository }}:{{ .Values.kerberospipeline.counting.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.counting.pullPolicy }}
{{- with .Values.kerberospipeline.counting.resources }}
resources:
@@ -61,10 +62,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-counting
namespace: {{ .Release.Namespace }}
labels:
app: pipe-counting
service: pipe
name: pipe-counting
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-dominantcolor
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.dominantColor.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-dominantcolor
image: "{{ .Values.kerberospipeline.dominantColor.repository }}:{{ .Values.kerberospipeline.dominantColor.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.dominantColor.repository }}:{{ .Values.kerberospipeline.dominantColor.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.dominantColor.pullPolicy }}
{{- with .Values.kerberospipeline.dominantColor.resources }}
resources:
@@ -61,10 +62,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-dominantcolor
namespace: {{ .Release.Namespace }}
labels:
app: pipe-dominantcolor
service: pipe
name: pipe-dominantcolor
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-event
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.event.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-event
image: "{{ .Values.kerberospipeline.event.repository }}:{{ .Values.kerberospipeline.event.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.event.repository }}:{{ .Values.kerberospipeline.event.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.event.pullPolicy }}
{{- with .Values.kerberospipeline.event.resources }}
resources:
@@ -33,14 +34,20 @@ spec:
ports:
- containerPort: 8080
env:
- name: READ_ONLY
value: "{{ .Values.readonly }}"
- name: CLOUD_PROVIDER
value: "{{ .Values.cloudProvider }}"
- name: QUEUE_SYSTEM
value: "{{ .Values.queueProvider }}"
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -73,10 +80,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-event
namespace: {{ .Release.Namespace }}
labels:
app: pipe-event
service: pipe
name: pipe-event
spec:
ports:
- name: hub-metrics
@@ -0,0 +1,129 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-export
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.export.replicas }}
selector:
matchLabels:
app: pipe-export
minReadySeconds: 10
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: pipe-export
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: pipe-export
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.export.repository }}:{{ .Values.kerberospipeline.export.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.export.pullPolicy }}
{{- with .Values.kerberospipeline.export.resources }}
resources:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: CLOUD_PROVIDER
value: "{{ .Values.cloudProvider }}"
- name: QUEUE_SYSTEM
value: "{{ .Values.queueProvider }}"
# Database
- name: MONGODB_DATABASE_CLOUD
value: "Kerberos"
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
value: "{{ .Values.mongodb.username }}"
- name: MONGODB_PASSWORD
value: "{{ .Values.mongodb.password }}"
# Kafka settings
- name: KAFKA_BROKER
value: "{{ .Values.kafka.broker }}"
- name: KAFKA_USERNAME
value: "{{ .Values.kafka.username }}"
- name: KAFKA_PASSWORD
value: "{{ .Values.kafka.password }}"
- name: KAFKA_MECHANISM
value: "{{ .Values.kafka.mechanism }}"
- name: KAFKA_SECURITY
value: "{{ .Values.kafka.security }}"
# RabbitMQ settings
- name: RABBITMQ_HOST
value: "{{ .Values.rabbitmq.host }}"
- name: RABBITMQ_EXCHANGE
value: "{{ .Values.rabbitmq.exchange }}"
- name: RABBITMQ_USERNAME
value: "{{ .Values.rabbitmq.username }}"
- name: RABBITMQ_PASSWORD
value: "{{ .Values.rabbitmq.password }}"
# Kerberos Vault (Main instance, within Kerberos Hub you can assign additional Vaults to sites).
- name: STORAGE_URI
value: "{{ .Values.kerberosvault.uri }}"
- name: STORAGE_ACCESS_KEY
value: "{{ .Values.kerberosvault.accesskey }}"
- name: STORAGE_SECRET_KEY
value: "{{ .Values.kerberosvault.secretkey }}"
# Kerberos Vault: archiving credentials. When creating a task, the underlying recording will be
# copied to this storage provider, using the specific account credentials, for deletion/retention.
- name: STORAGE_ARCHIVE_PROVIDER
value: "{{ .Values.kerberosvault.archive.provider }}"
- name: STORAGE_ARCHIVE_ACCESS_KEY
value: "{{ .Values.kerberosvault.archive.accesskey }}"
- name: STORAGE_ARCHIVE_SECRET_KEY
value: "{{ .Values.kerberosvault.archive.secretkey }}"
# Sprites
- name: SPRITE_ENABLED
value: "{{ .Values.kerberospipeline.sprite.enabled }}"
- name: VAULT_SPRITE_PROVIDER
value: "{{ .Values.kerberosvault.sprite.provider }}"
- name: VAULT_SPRITE_ACCESS_KEY
value: "{{ .Values.kerberosvault.sprite.accessKey }}"
- name: VAULT_SPRITE_SECRET_KEY
value: "{{ .Values.kerberosvault.sprite.secretKey }}"
# Thumbnails
- name: THUMBNAIL_VAULT_ENABLED
value: "{{ .Values.kerberospipeline.thumbnail.kerberosvault.enabled }}"
- name: VAULT_THUMBNAIL_PROVIDER
value: "{{ .Values.kerberosvault.thumbnail.provider }}"
- name: VAULT_THUMBNAIL_ACCESS_KEY
value: "{{ .Values.kerberosvault.thumbnail.accessKey }}"
- name: VAULT_THUMBNAIL_SECRET_KEY
value: "{{ .Values.kerberosvault.thumbnail.secretKey }}"
---
apiVersion: v1
kind: Service
metadata:
name: pipe-export
namespace: {{ .Release.Namespace }}
labels:
app: pipe-export
service: pipe
spec:
ports:
- name: hub-metrics
port: 8080
targetPort: 8080
protocol: TCP
selector:
app: pipe-export
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-monitor
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.monitor.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-monitor
image: "{{ .Values.kerberospipeline.monitor.repository }}:{{ .Values.kerberospipeline.monitor.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.monitor.repository }}:{{ .Values.kerberospipeline.monitor.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.monitor.pullPolicy }}
{{- with .Values.kerberospipeline.monitor.resources }}
resources:
@@ -32,8 +33,12 @@ spec:
{{- end }}
env:
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -94,10 +99,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-monitor
namespace: {{ .Release.Namespace }}
labels:
app: pipe-monitor
service: pipe
name: pipe-monitor
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-notify-test
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.notifyTest.replicas }}
selector:
@@ -28,7 +29,7 @@ spec:
{{- end }}
containers:
- name: pipe-notify-test
image: "{{ .Values.kerberospipeline.notifyTest.repository }}:{{ .Values.kerberospipeline.notifyTest.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.notifyTest.repository }}:{{ .Values.kerberospipeline.notifyTest.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.notifyTest.pullPolicy }}
{{- with .Values.kerberospipeline.notifyTest.resources }}
resources:
@@ -43,8 +44,12 @@ spec:
value: "{{ .Values.queueProvider }}"
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -107,10 +112,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-notify-test
namespace: {{ .Release.Namespace }}
labels:
app: pipe-notify-test
service: pipe
name: pipe-notify-test
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-notify
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.notify.replicas }}
selector:
@@ -28,7 +29,7 @@ spec:
{{- end }}
containers:
- name: pipe-notify
image: "{{ .Values.kerberospipeline.notify.repository }}:{{ .Values.kerberospipeline.notify.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.notify.repository }}:{{ .Values.kerberospipeline.notify.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.notify.pullPolicy }}
{{- with .Values.kerberospipeline.notify.resources }}
resources:
@@ -40,8 +41,12 @@ spec:
{{- end }}
env:
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -137,10 +142,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-notify
namespace: {{ .Release.Namespace }}
labels:
app: pipe-notify
service: pipe
name: pipe-notify
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-sequence
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.sequence.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-sequence
image: "{{ .Values.kerberospipeline.sequence.repository }}:{{ .Values.kerberospipeline.sequence.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.sequence.repository }}:{{ .Values.kerberospipeline.sequence.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.sequence.pullPolicy }}
{{- with .Values.kerberospipeline.sequence.resources }}
resources:
@@ -37,8 +38,12 @@ spec:
value: "{{ .Values.queueProvider }}"
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -71,10 +76,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-sequence
namespace: {{ .Release.Namespace }}
labels:
app: pipe-sequence
service: pipe
name: pipe-sequence
spec:
ports:
- name: hub-metrics
@@ -3,6 +3,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-sprite
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.sprite.replicas }}
selector:
@@ -25,7 +26,7 @@ spec:
{{- end }}
containers:
- name: pipe-sprite
image: "{{ .Values.kerberospipeline.sprite.repository }}:{{ .Values.kerberospipeline.sprite.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.sprite.repository }}:{{ .Values.kerberospipeline.sprite.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.sprite.pullPolicy }}
{{- with .Values.kerberospipeline.sprite.resources }}
resources:
@@ -85,10 +86,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-sprite
namespace: {{ .Release.Namespace }}
labels:
app: pipe-sprite
service: pipe
name: pipe-sprite
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-throttler
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.throttler.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-throttler
image: "{{ .Values.kerberospipeline.throttler.repository }}:{{ .Values.kerberospipeline.throttler.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.throttler.repository }}:{{ .Values.kerberospipeline.throttler.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.throttler.pullPolicy }}
{{- with .Values.kerberospipeline.throttler.resources }}
resources:
@@ -37,8 +38,12 @@ spec:
value: "{{ .Values.queueProvider }}"
# Database
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -71,10 +76,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-throttler
namespace: {{ .Release.Namespace }}
labels:
app: pipe-throttler
service: pipe
name: pipe-throttler
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-thumbnail
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.thumbnail.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-thumbnail
image: "{{ .Values.kerberospipeline.thumbnail.repository }}:{{ .Values.kerberospipeline.thumbnail.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.thumbnail.repository }}:{{ .Values.kerberospipeline.thumbnail.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.thumbnail.pullPolicy }}
{{- with .Values.kerberospipeline.thumbnail.resources }}
resources:
@@ -87,10 +88,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-thumbnail
namespace: {{ .Release.Namespace }}
labels:
app: pipe-thumbnail
service: pipe
name: pipe-thumbnail
spec:
ports:
- name: hub-metrics
@@ -2,6 +2,7 @@ apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: hub-metrics-servicemonitor
namespace: {{ .Release.Namespace }}
labels:
service: pipe
release: prometheus
@@ -1,7 +1,10 @@
# If .Values.kerberoshub.forwarder.enabled is set to true
{{- if .Values.kerberoshub.forwarder.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: vault-forwarder
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -24,7 +27,7 @@ spec:
{{- end }}
containers:
- name: vault-forwarder
image: "{{ .Values.kerberoshub.forwarder.repository }}:{{ .Values.kerberoshub.forwarder.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.forwarder.repository }}:{{ .Values.kerberoshub.forwarder.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.forwarder.pullPolicy }}
resources:
requests:
@@ -36,10 +39,14 @@ spec:
- name: BUFFER_TIME
value: "3"
# Mongodb
- name: MONGODB_URI
value: "{{ .Values.mongodb.uri }}"
- name: MONGODB_DATABASE_CLOUD
value: "Kerberos"
- name: MONGODB_HOST
value: "{{ .Values.mongodb.host }}"
- name: MONGODB_AUTHENTICATION_MECHANISM
value: "{{ .Values.mongodb.authenticationMechanism }}"
- name: MONGODB_DATABASE_CREDENTIALS
value: "{{ .Values.mongodb.adminDatabase }}"
- name: MONGODB_USERNAME
@@ -54,3 +61,4 @@ spec:
value: "{{ .Values.mqtt.username }}"
- name: MQTT_PASSWORD
value: "{{ .Values.mqtt.password }}"
{{- end }}
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: vault-proxy
namespace: {{ .Release.Namespace }}
spec:
replicas: 3
selector:
@@ -18,11 +19,13 @@ spec:
labels:
app: vault-proxy
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
- name: regcred
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: vault-proxy
image: "{{ .Values.kerberoshub.proxy.repository }}:{{ .Values.kerberoshub.proxy.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberoshub.proxy.repository }}:{{ .Values.kerberoshub.proxy.tag }}"
imagePullPolicy: {{ .Values.kerberoshub.proxy.pullPolicy }}
ports:
- containerPort: 8080
@@ -45,6 +48,7 @@ apiVersion: v1
kind: Service
metadata:
name: vault-proxy-svc
namespace: {{ .Release.Namespace }}
labels:
app: vault-proxy-svc
spec:
+283 -163
View File
@@ -1,47 +1,59 @@
# Default values for kerberoshub.
# Default values for hub.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
###########################################################################
# LICENSING information: you will a license to run Kerberos Hub.
# ----
# Get your license from support@kerberos.io
license: "---ENTER-YOUR-LICENSE-HERE---"
#######################################################
# LICENSING information: you will a license to run Hub.
# 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"
licenseServer:
url: "https://license.kerberos.io/verify"
token: "214%ˆ#ddfsf@#3rfdsgl_)23sffeqasSwefDSFNBM" # do not change otherwise Kerberos Hub will not work.
url: ""
token: ""
###########################################################################
# # Environment: set to 'production', 'develop', 'demo', 'staging' or 'acceptance'.
# Change the environment to 'staging' or 'acceptance' will add a banner on the
# front-end, to indicate the environment.
###########################################################################
environment: "production"
isPrivate: true # Set to 'true' if this is a private deployment.
readOnly: false # Set to 'true' to halt all write operations to the database (e.g. migration, etc).
###########################################################################
# Global configuration
###########################################################################
global:
imageRegistry: "docker.io/"
# 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:
- name: regcred
# Environment: set to 'production', 'develop', 'demo', 'staging' or 'acceptance'.
# Set to 'true' if this is a private deployment.
environment: 'production'
# Set to 'true' if this is a private deployment.
isPrivate: true
# If you plan a migration or doing maintenance, you can enable readonly.
# This will stop any write process to mongodb or any processing done in the Kerberos Hub pipeline.
readOnly: false
#imagePullSecrets:
# - name: regcred
# Which network ingress you are using in your Kubernetes Cluster
ingress: "nginx" # or "traefik"
# A mongodb instance is required to store all the relevant metadata (this can be standalone or in a cluster).
# A mongodb instance is required to store all the relevant metadata.
#########################################
# Database configuration (metadata store)
#########################################
mongodb:
# MongoDB URI (for example for a SaaS service like MongoDB Atlas)
# If uri is set, the below properties are not used (host, adminDatabase, username, password)
#uri: "mongodb+srv://xx:xx@kerberos-hub.xxx.mongodb.net/?retryWrites=true&w=majority&appName=xxx"
# Self-hosted mongodb, you could also use the uri property above.
host: mongodb.mongodb
#host: "mongodb-0.mongodb-headless.mongodb:27017,mongodb-1.mongodb-headless.mongodb:27017"
adminDatabase: admin
authenticationMechanism: SCRAM-SHA-256
username: yourusername
password: "yourpassword"
# A MQTT broker (vernemq) is used to have a bi-directional
# communication between enterprise agents and kerberos hub.
###################################################
# MQTT configuration (bi-directional communication)
###################################################
# A MQTT broker (vernemq or other like mosquitto) is used to have a bi-directional communication between Agents and Hub.
# We recommend to use VernemQ (as part of this installation), but a stand-alone mosquitto broker is also possible.
mqtt:
host: "mqtt.yourdomain.com"
host: "mqtt.yourdomain.com" # this needs to be a public accessible DNS name (it's used to communicate between Kerberos Agents and Kerberos Hub)
port: "8443"
protocol: "wss"
username: "yourusername"
@@ -49,40 +61,62 @@ mqtt:
legacy:
host: ""
port: ""
################################################################
# AMQP configuration (asynchronous processing for microservices)
#
# Usecases:
# - Hub pipeline: each time a recording is created, a message is
# send to the pipeline to process the recording.
################################################################
# We are using a pipeline that is orchestrated through Kafka topics or RabbitMQ queues
# Events are send back and forth until the processing is done.
queueProvider: "KAFKA" # or "RABBITMQ"
queueProvider: "RABBITMQ" # or "KAFKA"
queueName: "kcloud-event-queue" # This is the topic to which all events are send.
# RabbitMQ can be installed in the same cluster using a helm chart, or you can
# use a service on cloud provider like AWS, GCP, Azure, etc.
rabbitmq:
host: "rabbitmq.rabbitmq:5672" # can be internal dns name or external
#host: "amqps://b-xxx-xxx-xxx-xxx-xxx.mq.eu-central-1.amazonaws.com:5671"
username: "yourusername"
password: "yourpassword"
exchange: ""
# If you already have a Kafka cluster you might use this instead of RabbitMQ.
kafka:
broker: "kafka1.yourdomain.com:9094,kafka2.yourdomain.com:9094"
broker: "kafka1.yourdomain.com:9094" # can be internal dns name or external
username: "yourusername"
password: "yourpassword"
mechanism: "PLAIN"
security: "SASL_PLAINTEXT"
rabbitmq:
host: "rabbitmq.yourdomain.com:5671"
username: "yourusername"
password: "yourpassword"
exchange: ""
############################################
# TURN/STUN configuration (live streaming)
#
# Usecases:
# - WebRTC: for live streaming in full HD.
############################################
# For allowing WEBRTC a STUN and TURN server is required.
# You might want to install coturn in a seperate VM.
# -> https://help.hcltechsw.com/sametime/11.6/admin/turnserver_ubuntu.html
turn:
host: "turn:turn.yourdomain.com:8443"
host: "turn:turn.yourdomain.com:8443" # this needs to be a public accessible DNS name.
username: "username1"
password: "password1"
############################################
# OpenAI configuration (semantic search)
#
# Usecases:
# - Semantic search: search for recordings based on text.
############################################
openai:
enabled: false
apikey: "xxx"
# We have a kerberos vault component installed which contains all the
# recordings. Kerberos vault is queried to retrieve the recordings
# from the appropriate provider.
kerberosvault:
uri: "https://api.vault.yourdomain.com"
uri: "https://api.vault.yourdomain.com" # this needs to be a public accessible DNS name.
provider: "a-provider"
accesskey: "xxx"
secretkey: "xxx"
# Archiving is used when creating a task. The underlying recording of the task will be copied from its
# existing provider to the below archived provider. Seperate credentials are used, as it makes possible to
# specify another retention period.
@@ -98,43 +132,44 @@ kerberosvault:
provider: "a-sprite-provider"
accessKey: "xxx"
secretKey: "xxx"
email:
provider: "mailgun"
from: "support@yourdomain.com"
displayName: "yourdomain.com"
mailgun:
domain: "mg.yourdomain.com"
apikey: "xxxx"
smtp:
server: "smtp.yourdomain.com"
port: "465"
username: "yourusername"
password: "yourpassword"
templates:
welcome: "welcome"
welcomeTitle: "Welcome to Kerberos Hub"
activate: "activate"
activateTitle: "Wonderful! Your Kerberos Hub is now active"
forgot: "forgot"
forgotTitle: "Password reset Kerberos Hub. You forgot your password"
share: "share"
shareTitle: "[Action] You received a recording from Kerberos Hub"
detection: "detection"
disabled: "disabled"
highupload: "highupload"
device: "device"
alertTitle: "[Alert] Kerberos Hub detected something an event"
deviceTitle: "[Device] A Kerberos Agent's status has been changed"
###########################################################################
# Administration panel for managing the Hub database (and more in future).
# For now it's used to create, edit users for Hub.
###########################################################################
admin:
repository: uugai/admin
pullPolicy: IfNotPresent
tag: "v1.1.0"
replicas: 2
resources:
requests:
memory: 100Mi
cpu: 250m
url: "admin.yourdomain.com"
tls:
- hosts:
- "admin.yourdomain.com"
secretName: admin
oauth2Proxy:
enabled: false
github:
clientId: "github-client-id"
clientSecret: "github-client-secret"
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.
kerberoshub:
# Extra environment variables like proxy to set for kerberos-hub pods
extraEnv: []
# extraEnv:
# - name: HTTP_PROXY
# value: "custom_value"
api:
repository: kerberos/hub-api
repository: uugai/hub-api
pullPolicy: IfNotPresent
tag: "1.0.835347486"
tag: "v1.6.1"
replicas: 2
jwtSecret: "this-is-a-secret-please-change-to-random-string" # change to a random value, this is for generating JWT tokens.
schema: "https"
@@ -143,7 +178,6 @@ kerberoshub:
requests:
memory: 100Mi
cpu: 250m
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
@@ -157,12 +191,10 @@ kerberoshub:
#legacyUrl: "api.legacy.yourdomain.com"
# MFA issuer name
mfaIssuer: "Kerberos.io"
mfaIssuer: "yourdomain.com"
# Admin API's are made available for automation of Kerberos Hub.
# To access those API's (e.g. creation of owner users), an API key needs to be provided.
apiKey: "a-random-admin-api-key"
## Certificates
tls:
- hosts:
@@ -198,14 +230,34 @@ kerberoshub:
username: ""
password: ""
sso: # OIDC settings for allowing SSO.
issuer: "" #"https://accounts.google.com"
clientId: "" # 4294xxxxsk4no3.apps.googleusercontent.com"
clientSecret: "" # UksvZ-QKGdB1W2mOu5l_Jg3R"
redirectUrl: "/sso/response"
- domain: "uug.ai"
redirectUrl: "https://api.cloud.kerberos.io/sso/callback/uug.ai"
forceSSO: "false"
issuer: "https://xxx.eu.auth0.com/"
claimId: "email" # claim which is used to identify the user
clientId: "xxx"
clientSecret: "xxx"
clientVerificationId: "" # This is only required for SSO chaining.
extraHeaders: # Extra headers to be added to the request
- name: "x-zitadel-login-client"
value: "xxx"
- domain: "kerberos.io"
redirectUrl: "https://api.cloud.kerberos.io/sso/callback/kerberos.io"
forceSSO: "false"
issuer: "https://accounts.google.com"
claimId: "email" # claim which is used to identify the user
clientId: "xxx"
clientSecret: "xxx"
clientVerificationId: "" # This is only required for SSO chaining.
extraHeaders: []
otlp: # Open Telemetry tracing
enabled: false # Set to 'true' to enable Open Telemetry tracing
routingEnabled: false # Set to 'true' to enable Gin routing middleware of traces
endpoint: "x.x.x.x:4318" # The endpoint to which traces are sent
frontend:
repository: kerberos/hub-frontend
repository: uugai/hub-frontend
pullPolicy: IfNotPresent
tag: "1.0.834697556"
tag: "v1.4.2"
replicas: 2
schema: "https"
url: "yourdomain.com"
@@ -213,12 +265,10 @@ kerberoshub:
requests:
memory: 50Mi
cpu: 50m
# The front-end but in read-only mode
#demoUrl: "demo.yourdomain.com"
# When migrating to another url, this might help migrating.
#legacyUrl: "legacy.yourdomain.com"
tls:
- hosts:
- "yourdomain.com"
@@ -230,7 +280,6 @@ kerberoshub:
# - hosts:
# - "demo.yourdomain.com"
# secretName: kerberoshub-demo
ssoDomain: "@yourdomain.com"
mixpanel: # We can keep track logging in Mixpanel as well
apikey: "xxx"
sentry: # We can trace errors in Sentry
@@ -244,22 +293,18 @@ kerberoshub:
posthog: # Posthog is used for auditing and user interaction logging
key: "xxx"
url: "https://posthog.domain.com"
# You can disable the Kerberos agent buttons, this make sense
# in a white-label setup, or where you are managing the Kerberos Agents for your customers.
hideAddAgent: "false"
# Multi tenancy (domains)
# By default the Kerberos Hub allows multi-tenancy through the concept
# of accounts and subaccounts. However through the concept of domains, you
# take it a step further. Within a domain, user accounts are unique, and are prefixed by a (domain\).
#multiTenant: true
#tenantBaseDomain: "yourdomain.com" # this would resolve in following sub domain "https://domain.kerberos.io"
#tenantBaseDomain: "yourdomain.com" # this would resolve in following sub domain "https://domain.kerberos.io"
# Page title (browser)
title: "Kerberos Hub - Video surveillance as it should be"
# You can style Kerberos hub as you wish.
# 1. we do the styling on our side and bake it in the Docker image (change the logo attribute to your company name)
# 2. you bring your own logo (set logo to 'custom'), and mount the css file and favicons.
@@ -303,7 +348,6 @@ kerberoshub:
framesPerSecondDescription: ""
mlaUtilizationDescription: ""
objectsDetectedDescription: ""
# You can add custom links to the navigation bar.
navigationLinkTitle1: ""
navigationLinkUrl1: ""
@@ -315,142 +359,174 @@ kerberoshub:
navigationLinkUrl4: ""
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)"
colorFloorPlanLabelText: "hsla(0, 0%, 100%, 1)"
colorFloorPlanLabelBackground: "hsla(0, 0%, 0%, 0.8)"
colorDeviceMarkerBorder: "hsla(0, 0%, 100%, 1)"
# Override naming conventions within the front-end.
floorPlanName: "map" # The name of the 'floor plan' feature to use in the front-end.
sitesName: "Sites" # The name of the 'sites' feature to use in the front-end.
groupsName: "Groups" # The name of the 'groups' feature to use in the front-end.
siteGroupName: "Site Groups" # The name of the 'site groups' feature to use in the front-end.
deviceGroupName: "Device Groups" # The name of the 'device groups' feature to use in the front-end.
support:
enabled: false
oauth2Proxy:
enabled: false
github:
clientId: "github-client-id"
clientSecret: "github-client-secret"
cookieSecret: "generate-a-random-cookie-secret"
organization: "github-organization"
team: "github-team"
cleanup:
repository: kerberos/hub-cleanup
repository: uugai/hub-cleanup
pullPolicy: IfNotPresent
tag: "1.0.4098363473"
tag: "v1.4.1"
maxDays: "365" # The maximum number of days to keep orphaned recordings.
resources:
requests:
memory: 10Mi
cpu: 10m
monitordevice:
repository: kerberos/hub-monitor-device
repository: uugai/hub-monitor-device
pullPolicy: IfNotPresent
tag: "1.0.2818471126"
tag: "v1.3.0"
resources:
requests:
memory: 10Mi
cpu: 10m
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
# mountPath: /mail
#volumes:
# - name: custom-email-templates
# persistentVolumeClaim:
# claimName: custom-layout-claim
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
# mountPath: /mail
#volumes:
# - name: custom-email-templates
# persistentVolumeClaim:
# claimName: custom-layout-claim
reactivate:
repository: kerberos/hub-reactivate
repository: uugai/hub-reactivatesubscriptions
pullPolicy: IfNotPresent
tag: "1.0.2732384534"
tag: "v1.0.1"
resources:
requests:
memory: 10Mi
cpu: 10m
forwarder:
repository: kerberos/vault-forwarder
pullPolicy: IfNotPresent
tag: "1.0.2732389692"
resources:
requests:
memory: 10Mi
cpu: 10m
enabled: false
#repository: kerberos/vault-forwarder
#pullPolicy: IfNotPresent
#tag: "1.0.2732389692"
#resources:
# requests:
# memory: 10Mi
# cpu: 10m
# This proxy is legacy for the old agent, will be migrated in the new Hub API.
proxy:
repository: kerberos/vault-proxy
repository: uugai/hub-proxy
pullPolicy: IfNotPresent
tag: "1.0.2733724812"
tag: "v1.0.0"
resources:
requests:
memory: 10Mi
cpu: 10m
# The Kerberos Hub pipeline is a series of microservices that process the recordings.
# Each microservice is responsible for a specific task, like counting objects, generating thumbnails, etc.
# The pipeline is orchestrated through Kafka topics or RabbitMQ queues.
# The pipeline is a critical component of Kerberos Hub, and should be monitored closely.
kerberospipeline:
event:
repository: kerberos/pipe-event
repository: uugai/hub-pipeline-event
pullPolicy: IfNotPresent
tag: "1.0.4061811730"
tag: "v1.0.1"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
monitor:
repository: kerberos/pipe-monitor
repository: uugai/hub-pipeline-monitor
pullPolicy: IfNotPresent
tag: "1.0.4040996006"
tag: "v1.2.1"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
sequence:
repository: kerberos/pipe-sequence
repository: uugai/hub-pipeline-sequence
pullPolicy: IfNotPresent
tag: "1.0.4092937753"
tag: "v1.5.0"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
throttler:
repository: kerberos/pipe-throttler
repository: uugai/hub-pipeline-throttler
pullPolicy: IfNotPresent
tag: "1.0.4041064593"
tag: "v1.1.0"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
notify:
repository: kerberos/pipe-notify
repository: uugai/hub-pipeline-notification
pullPolicy: IfNotPresent
tag: "1.0.4101660816"
tag: "v1.0.16"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
# mountPath: /mail
#volumes:
# - name: custom-email-templates
# persistentVolumeClaim:
# claimName: custom-layout-claim
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
# mountPath: /mail
#volumes:
# - name: custom-email-templates
# persistentVolumeClaim:
# claimName: custom-layout-claim
notifyTest:
repository: kerberos/pipe-notify-test
repository: uugai/hub-pipeline-notification-test
pullPolicy: IfNotPresent
tag: "1.0.4040099761"
tag: "v1.2.1"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
# mountPath: /mail
#volumes:
# - name: custom-email-templates
# persistentVolumeClaim:
# claimName: custom-layout-claim
# E-mail templates
#volumeMounts:
# - name: custom-email-templates
# mountPath: /mail
#volumes:
# - name: custom-email-templates
# persistentVolumeClaim:
# claimName: custom-layout-claim
analysis:
repository: kerberos/pipe-analysis
repository: uugai/hub-pipeline-analysis
pullPolicy: IfNotPresent
tag: "1.0.4100212321"
tag: "v1.4.0"
replicas: 1
resources:
requests:
memory: 10Mi
cpu: 10m
dominantColor:
repository: kerberos/pipe-dominantcolor
repository: uugai/hub-pipeline-dominantcolors
pullPolicy: IfNotPresent
tag: "1.0.4021128527"
replicas: 1
tag: "v1.1.2"
replicas: 3
resources:
requests:
memory: 512Mi
@@ -459,15 +535,15 @@ kerberospipeline:
memory: 2Gi
cpu: 1000m
thumbnail:
repository: kerberos/pipe-thumbnail
repository: uugai/hub-pipeline-thumbnail
pullPolicy: IfNotPresent
tag: "1.0.4061885672"
replicas: 1
quality: "70"
width: "250"
height: "250"
tag: "v1.1.6"
replicas: 2
quality: "1" # 1 (best) - 31 (worst)
width: "600"
height: "-1"
kerberosvault:
enabled: false # If you want to use Kerberos Vault to store the thumbnails
enabled: true # If you want to use Kerberos Vault to store the thumbnails
resources:
requests:
memory: 512Mi
@@ -476,9 +552,9 @@ kerberospipeline:
memory: 2Gi
cpu: 1000m
counting:
repository: kerberos/pipe-counting
repository: uugai/hub-pipeline-counting
pullPolicy: IfNotPresent
tag: "1.0.4021203633"
tag: "v1.6.0"
replicas: 1
resources:
requests:
@@ -486,10 +562,10 @@ kerberospipeline:
cpu: 10m
sprite:
enabled: false # Enable or disable the sprite generation 'true' or 'false
repository: kerberos/pipe-sprite
repository: uugai/hub-pipeline-sprite
pullPolicy: IfNotPresent
tag: "1.0.4095867847"
replicas: 3
tag: "v1.0.4"
replicas: 5
interval: "1" # Number of secondes between each thumbnail in the sprite
width: "240" # Should not be changed for the moment (hard coded in UI)
height: "135" # Should not be changed for the moment (hard coded in UI)
@@ -500,3 +576,47 @@ kerberospipeline:
limits:
memory: 2Gi
cpu: 1000m
export:
repository: uugai/hub-pipeline-export
pullPolicy: IfNotPresent
tag: "v1.0.0"
replicas: 2
resources:
requests:
memory: 10Mi
cpu: 10m
###########################################################################
# Email configuration
#
# Preferred email provider, we support mailgun and smtp.
# Email templates are used to send out emails to users.
###########################################################################
email:
provider: "mailgun"
from: "support@yourdomain.com"
displayName: "yourdomain.com"
mailgun:
domain: "mg.yourdomain.com"
apikey: "xxxx"
smtp:
server: "smtp.yourdomain.com"
port: "465"
username: "yourusername"
password: "yourpassword"
templates:
welcome: "welcome"
welcomeTitle: "Welcome to Kerberos Hub"
activate: "activate"
activateTitle: "Wonderful! Your Kerberos Hub is now active"
forgot: "forgot"
forgotTitle: "Password reset Kerberos Hub. You forgot your password"
share: "share"
shareTitle: "[Action] You received a recording from Kerberos Hub"
assignTask: "assign_task"
assignTaskTitle: "[Action] You've been assigned to a task"
detection: "detection"
disabled: "disabled"
highupload: "highupload"
device: "device"
alertTitle: "[Alert] Kerberos Hub detected something an event"
deviceTitle: "[Device] A Kerberos Agent's status has been changed"