Compare commits

..
Author SHA1 Message Date
Cedric Verstraeten 3143384c1f upgrade to 0.82.0 2025-03-07 17:27: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
34 changed files with 1033 additions and 205 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)
+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
+2 -2
View File
@@ -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.63.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"
+19 -1
View File
@@ -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,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.
@@ -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
+13 -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,12 +27,8 @@ 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.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"
@@ -38,6 +36,7 @@ metadata:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
{{- with .Values.kerberoshub.api.tls }}
tls:
{{- toYaml . | nindent 8 }}
@@ -96,41 +95,13 @@ spec:
servicePort: 8081
{{- end }}
{{ end }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: oauth2-proxy
namespace: kube-system
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress }}
{{- if eq .Values.ingress "nginx" }}
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- end }}
spec:
ingressClassName: nginx
rules:
- host: "{{ .Values.kerberoshub.api.url }}"
http:
paths:
- path: /oauth2
pathType: Prefix
backend:
service:
name: oauth2-proxy
port:
number: 4180
tls:
- hosts:
- "{{ .Values.kerberoshub.api.url }}"
secretName:
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-api
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberoshub.api.replicas }}
selector:
@@ -157,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:
@@ -299,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
@@ -355,6 +328,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
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-cleanup
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -24,7 +25,7 @@ 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:
@@ -34,13 +35,15 @@ spec:
- 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
@@ -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,26 +23,19 @@ 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.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.demoTls }}
tls:
{{- toYaml . | nindent 8 }}
{{- end }}
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
rules:
- host: "{{ .Values.kerberoshub.frontend.demoUrl }}"
@@ -63,41 +58,13 @@ spec:
serviceName: hub-frontend-demo-svc
servicePort: 80
{{ end }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: oauth2-proxy
namespace: kube-system
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress }}
{{- if eq .Values.ingress "nginx" }}
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
{{- end }}
spec:
ingressClassName: nginx
rules:
- host: "{{ .Values.kerberoshub.frontend.demoUrl }}"
http:
paths:
- path: /oauth2
pathType: Prefix
backend:
service:
name: oauth2-proxy
port:
number: 4180
tls:
- hosts:
- "{{ .Values.kerberoshub.frontend.demoUrl }}"
secretName:
{{ end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-frontend-demo
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberoshub.frontend.replicas }}
selector:
@@ -124,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:
@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: hub-frontend-svc
namespace: {{ .Release.Namespace }}
labels:
app: hub-frontend-svc
spec:
@@ -12,6 +13,7 @@ spec:
name: http
selector:
app: hub-frontend
{{ if ne .Values.ingress "" }}
---
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
@@ -21,8 +23,8 @@ apiVersion: networking.k8s.io/v1beta1
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"
@@ -33,7 +35,7 @@ metadata:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
{{- end }}
spec:
ingressClassName: {{ .Values.ingress }}
{{- with .Values.kerberoshub.frontend.tls }}
tls:
{{- toYaml . | nindent 8 }}
@@ -103,22 +105,23 @@ spec:
servicePort: 80
{{- end }}
{{- end }}
{{- if eq .Values.kerberoshub.oauth2Proxy.enabled true }}
{{- end }}
{{- if eq .Values.kerberoshub.oauth2Proxy.enabled true }}
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: oauth2-proxy
name: oauth2-proxy-frontend
namespace: kube-system
annotations:
kubernetes.io/ingress.class: {{ .Values.ingress }}
{{- 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: nginx
ingressClassName: {{ .Values.ingress }}
rules:
- host: "{{ .Values.kerberoshub.frontend.url }}"
http:
@@ -133,13 +136,14 @@ spec:
tls:
- hosts:
- "{{ .Values.kerberoshub.frontend.url }}"
secretName: oauth2-proxy-tls
secretName:
{{- end }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-frontend
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberoshub.frontend.replicas }}
selector:
@@ -166,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:
@@ -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:
@@ -48,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
@@ -2,10 +2,10 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: oauth2-proxy
name: oauth2-proxy
namespace: kube-system
labels:
k8s-app: oauth2-proxy
spec:
replicas: 1
selector:
@@ -22,6 +22,7 @@ spec:
- --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 }}"
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: hub-reactivate-subscription
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -24,7 +25,7 @@ spec:
{{- 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
@@ -33,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
@@ -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:
@@ -41,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
@@ -85,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:
@@ -45,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
@@ -77,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
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: pipe-export
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.kerberospipeline.export.replicas }}
selector:
@@ -24,7 +25,7 @@ spec:
{{- end }}
containers:
- name: pipe-export
image: "{{ .Values.kerberospipeline.export.repository }}:{{ .Values.kerberospipeline.export.tag }}"
image: "{{ .Values.global.imageRegistry }}{{ .Values.kerberospipeline.export.repository }}:{{ .Values.kerberospipeline.export.tag }}"
imagePullPolicy: {{ .Values.kerberospipeline.export.pullPolicy }}
{{- with .Values.kerberospipeline.export.resources }}
resources:
@@ -43,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
@@ -111,10 +114,11 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: pipe-export
namespace: {{ .Release.Namespace }}
labels:
app: pipe-export
service: pipe
name: pipe-export
spec:
ports:
- name: hub-metrics
@@ -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:
@@ -36,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
@@ -96,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:
@@ -47,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
@@ -109,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:
@@ -44,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
@@ -139,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:
@@ -41,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
@@ -73,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:
@@ -41,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
@@ -73,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
@@ -4,6 +4,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: vault-forwarder
namespace: {{ .Release.Namespace }}
spec:
replicas: 1
selector:
@@ -26,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:
@@ -44,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
@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: vault-proxy
namespace: {{ .Release.Namespace }}
spec:
replicas: 3
selector:
@@ -24,7 +25,7 @@ spec:
{{- 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
@@ -47,6 +48,7 @@ apiVersion: v1
kind: Service
metadata:
name: vault-proxy-svc
namespace: {{ .Release.Namespace }}
labels:
app: vault-proxy-svc
spec:
+176 -85
View File
@@ -1,34 +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)
license: "L/+FAwEBB2xpY2Vuc2UB/4YAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA/gMv/4YB/gEk/80QAC1naXRsYWIuY29tL2tlcmJlcm9zLWlvL2xpY2Vuc2UvbW9kZWxzLkxpY2Vuc2X/gQMBAQdMaWNlbnNlAf+CAAEMAQJJZAH/hAABA0tleQEMAAEHQ29tcGFueQEMAAEHRXhwVGltZQEEAAEERGF5cwEEAAEHQ2FtZXJhcwEEAAEFU2l0ZXMBBAABBlZhdWx0cwEEAAEKTWVkaWFMaW1pdAEEAAEJUGVycGV0dWFsAQIAAQZBY3RpdmUBAgABCUlwQWRkcmVzcwEMAAAAGP+DAQEBCE9iamVjdElEAf+EAAEGARgAADv/gjgBDAAAAAAAAAAAAAAAAAILa2VyYmVyb3MuaW8B+p0p8FRT4AH8dzWT/gEQARABEAH8dzWT/gIBAAH+AgBjpoCE2/c3iq4Bf0T8WKYHZdLqDkoqRyFBQ/1ouWgx5NgWPErkVXSf9AMaaeSKpgYU3u4d+mYAKrv53CSGLpMYl7Vt1DfAa6prXHWJ2pF2GNIcS4wIseAK5ZAWlvZDq7DUz16LQupCrBxFPhYMlS9KqdvtJpIA7dbcewlhbyOR/fkCOOhiBBnWg/c2KuVKGWVbrs72y1QeeHBFzJ1yqvxiN5Y6gptPfskx00gnNUwIjlwyv+uvtEtsxNLfrHZmu0tm35cT21qZsN4bPOPc0TUEl1d1kIKrqsl3t4opno9SSDTGLFP0bWRyy4am8+0P5xqQ8r3YyoZ0rA4qA3OU57e0Znk++P2uv9sF430vvVH662mRwtAn8kfpk6b0yn4HkjMQo2CtTREKY0fVnSqgeCkPJXUdLqT0UyrmGtdjam0JObEO38XG8KODmbjBxdCnrSni3P4OSOW+KchxofDVHBBgsIQffU4O9hIDVoe+tWeVG/Q3eH2J9Obk1dVZ8z8mBQpZgIDv1cMoQCsL6D0H7a1YT+IdoshzMFO2jDW7kKB5poVkIpTlalAiG9RKyOvHOJmOrvchMcW1bKXIdswtyqLzKxbnVKVyZX1GEE9XbxM2do7lp3YuQmKbPgklf85AP0DGsAatxrGbXDA328vY3JTSgprQAo5QvTbN0OlKcveKOgA="
#######################################################
# 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)
@@ -37,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"
@@ -51,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"
@@ -58,30 +86,47 @@ 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: "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>"
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>" # can be internal dns name or external
username: "<yourusername>"
password: "<yourpassword>"
broker: "kafka1.yourdomain.com:9094" # can be internal dns name or external
username: "yourusername"
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.
@@ -105,40 +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"
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.4"
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"
@@ -160,35 +207,35 @@ kerberoshub:
#legacyUrl: "api.legacy.yourdomain.com"
# MFA issuer name
mfaIssuer: "<yourdomain.com>"
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>"
apiKey: "a-random-admin-api-key"
## Certificates
tls:
- hosts:
- "<api.yourdomain.com>"
- "api.yourdomain.com"
secretName: kerberoshub-api
#- hosts:
# - "api.legacy.yourdomain.com"
# secretName: kerberoshub-api-legacy
- hosts:
- "<admin.api.yourdomain.com>"
- "admin.api.yourdomain.com"
secretName: kerberoshub-admin
language: "english"
fallbackLanguage: "english"
# Legacy (reseller) it is possible to link to AWS S3 and IAM (however Kerberos Vault is now the recommended option).
# This is primarily used for creation of subscriptions, and not needed if you are using mainly Kerberos Vault.
aws:
region: "<xxx>"
bucket: "<xxx>"
accessKey: "<xxx>"
secretKey: "<xxx>"
region: "xxx"
bucket: "xxx"
accessKey: "xxx"
secretKey: "xxx"
stripe: # We use stripe for billing, so it's possible to resell Kerberos Hub if agreed.
privateKey: "<xxx>"
privateKey: "xxx"
slack: # Slack is used in the api, to send logs to a specific Slack channel.
enabled: "true"
hook: "<yourslackhook>" # https://hooks.slack.com/services/T08Q2Q9V5/xxKT/JALxxAk26bHtuqTfZ
hook: "yourslackhook" # https://hooks.slack.com/services/T08Q2Q9V5/xxKT/JALxxAk26bHtuqTfZ
username: "Kerberos Hub" # The slack username
elasticsearch: # Logs of the kerberos hub will be send to an elastic search cluster.
enabled: "false"
@@ -218,7 +265,7 @@ kerberoshub:
frontend:
repository: uugai/hub-frontend
pullPolicy: IfNotPresent
tag: "v1.0.16"
tag: "v1.0.42"
replicas: 2
schema: "https"
url: "yourdomain.com"
@@ -325,15 +372,16 @@ kerberoshub:
oauth2Proxy:
enabled: false
github:
clientId: "<github-client-id>"
clientSecret: "<github-client-secret>"
cookieSecret: "<generate-a-random-cookie-secret>"
organization: "<github-organization>"
team: "<github-team>"
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
pullPolicy: IfNotPresent
tag: "1.0.6436406806"
maxDays: "365" # The maximum number of days to keep orphaned recordings.
resources:
requests:
memory: 10Mi
@@ -380,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
@@ -391,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:
@@ -418,9 +471,9 @@ kerberospipeline:
memory: 10Mi
cpu: 10m
notify:
repository: kerberos/pipe-notify
repository: uugai/hub-pipeline-notification
pullPolicy: IfNotPresent
tag: "1.0.7688338979"
tag: "v1.0.11"
replicas: 1
resources:
requests:
@@ -452,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:
@@ -481,7 +534,7 @@ kerberospipeline:
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
@@ -500,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)
@@ -523,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"