mirror of
https://github.com/kerberos-io/helm-charts.git
synced 2026-10-19 17:38:27 +00:00
Compare commits
22
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3143384c1f | ||
|
|
0cee9420cc | ||
|
|
e92fa41437 | ||
|
|
08b06d5ba0 | ||
|
|
63fcb3e0a4 | ||
|
|
28087cb072 | ||
|
|
39fb2a11f2 | ||
|
|
0a26eb00b3 | ||
|
|
9afc0e7e97 | ||
|
|
764c580962 | ||
|
|
f0d544c009 | ||
|
|
903bf847af | ||
|
|
926c59ac48 | ||
|
|
57881d35c2 | ||
|
|
6964daed46 | ||
|
|
818bad12c7 | ||
|
|
ed003dfb13 | ||
|
|
ba5d74e719 | ||
|
|
2c10d6eace | ||
|
|
b19aa8af9f | ||
|
|
17fb252380 | ||
|
|
794f424fe2 |
@@ -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.77.0
|
||||
version: 0.82.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: "1.3.0"
|
||||
appVersion: "3.3.0"
|
||||
|
||||
@@ -886,4 +886,22 @@
|
||||
<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>`
|
||||
|
||||
})(this);
|
||||
/* 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>`;
|
||||
|
||||
})(this);
|
||||
|
||||
@@ -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"
|
||||
@@ -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 -}}
|
||||
@@ -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
|
||||
@@ -270,6 +270,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -42,6 +42,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -49,6 +49,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -34,6 +34,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -42,6 +42,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -46,6 +46,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -44,6 +44,8 @@ spec:
|
||||
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,6 +37,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -48,6 +48,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -45,6 +45,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -42,6 +42,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -42,6 +42,8 @@ spec:
|
||||
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
|
||||
|
||||
@@ -45,6 +45,8 @@ spec:
|
||||
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
|
||||
|
||||
+147
-63
@@ -1,38 +1,48 @@
|
||||
# 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---"
|
||||
# License for 8 cameras (for more cameras, please contact us for a private license)
|
||||
#######################################################
|
||||
# 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'.
|
||||
# Change the environment to 'staging' or 'acceptance' will add a banner on the
|
||||
# front-end, to indicate the environment.
|
||||
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
|
||||
# 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).
|
||||
|
||||
|
||||
#########################################
|
||||
# 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)
|
||||
@@ -41,11 +51,16 @@ mongodb:
|
||||
# Self-hosted mongodb, you could also use the uri property above.
|
||||
host: mongodb.mongodb
|
||||
adminDatabase: admin
|
||||
authenticationMechanism: SCRAM-SHA-256
|
||||
username: yourusername
|
||||
password: "yourpassword"
|
||||
# A MQTT broker (vernemq or other like mosquitto) is used to have a bi-directional
|
||||
# communication between Kerberos Agents and Kerberos Hub.
|
||||
# we recommend to use vernemq (as part of this installation), but a stand-alone mosquitto broker is also possible.
|
||||
|
||||
|
||||
###################################################
|
||||
# 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" # this needs to be a public accessible DNS name (it's used to communicate between Kerberos Agents and Kerberos Hub)
|
||||
port: "8443"
|
||||
@@ -55,6 +70,15 @@ 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: "RABBITMQ" # or "KAFKA"
|
||||
@@ -74,18 +98,35 @@ kafka:
|
||||
password: "yourpassword"
|
||||
mechanism: "PLAIN"
|
||||
security: "SASL_PLAINTEXT"
|
||||
|
||||
|
||||
############################################
|
||||
# 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" # this needs to be a public accessible DNS name.
|
||||
username: "username1"
|
||||
password: "password1"
|
||||
# (optional) OpenAI integration, used for semantic search
|
||||
# Langchain is used to translate text to a filter on the media page
|
||||
|
||||
|
||||
############################################
|
||||
# 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.
|
||||
@@ -109,42 +150,42 @@ 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"
|
||||
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"
|
||||
|
||||
###########################################################################
|
||||
# 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:
|
||||
api:
|
||||
repository: uugai/hub-api
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v1.0.7"
|
||||
tag: "v1.0.22"
|
||||
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"
|
||||
@@ -224,7 +265,7 @@ kerberoshub:
|
||||
frontend:
|
||||
repository: uugai/hub-frontend
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v1.0.17"
|
||||
tag: "v1.0.42"
|
||||
replicas: 2
|
||||
schema: "https"
|
||||
url: "yourdomain.com"
|
||||
@@ -387,6 +428,11 @@ kerberoshub:
|
||||
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
|
||||
@@ -398,18 +444,18 @@ kerberospipeline:
|
||||
memory: 10Mi
|
||||
cpu: 10m
|
||||
monitor:
|
||||
repository: kerberos/pipe-monitor
|
||||
repository: uugai/hub-pipeline-monitor
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "1.0.6256044005"
|
||||
tag: "v1.1.0"
|
||||
replicas: 1
|
||||
resources:
|
||||
requests:
|
||||
memory: 10Mi
|
||||
cpu: 10m
|
||||
sequence:
|
||||
repository: kerberos/pipe-sequence
|
||||
repository: uugai/hub-pipeline-sequence
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "1.0.6256054139"
|
||||
tag: "v1.0.1"
|
||||
replicas: 1
|
||||
resources:
|
||||
requests:
|
||||
@@ -427,7 +473,7 @@ kerberospipeline:
|
||||
notify:
|
||||
repository: uugai/hub-pipeline-notification
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v1.0.8"
|
||||
tag: "v1.0.11"
|
||||
replicas: 1
|
||||
resources:
|
||||
requests:
|
||||
@@ -459,9 +505,9 @@ kerberospipeline:
|
||||
# persistentVolumeClaim:
|
||||
# claimName: custom-layout-claim
|
||||
analysis:
|
||||
repository: kerberos/pipe-analysis
|
||||
repository: uugai/hub-pipeline-analysis
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "1.0.6897439184"
|
||||
tag: "v1.0.1"
|
||||
replicas: 1
|
||||
resources:
|
||||
requests:
|
||||
@@ -507,9 +553,9 @@ 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.7190736361"
|
||||
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)
|
||||
@@ -530,3 +576,41 @@ kerberospipeline:
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user