From af2f67e238ab6d8ebfd678c21926cf40872ba5ad Mon Sep 17 00:00:00 2001 From: cedricve Date: Sun, 20 Jun 2021 20:05:26 +0000 Subject: [PATCH] deploy: b6a33bbd790834bfe56e2e631dbbb3a58c51913d --- 404.html | 2 +- contributors/index.html | 2 +- enterprise/first-things-first/index.html | 2 +- enterprise/get-started/index.html | 2 +- enterprise/index.html | 2 +- enterprise/installation-cloud/index.html | 2 +- enterprise/installation-edge/index.html | 2 +- enterprise/installation/index.html | 2 +- enterprise/releases/index.html | 2 +- help/index.html | 2 +- hub/first-things-first/index.html | 2 +- hub/index.html | 2 +- index.html | 4 ++-- ...5723c9fc448098a72292664dc3016ded635b4475220cdbd4bdda613.js | 1 + ...8c105e0a2b2a7b921e04f5a5725b33eff3ba2856722b277181cb56a.js | 1 - opensource/contribute/index.html | 2 +- opensource/first-things-first/index.html | 2 +- opensource/get-started/index.html | 2 +- opensource/index.html | 2 +- opensource/installation-advanced/index.html | 2 +- opensource/installation/index.html | 2 +- opensource/license/index.html | 2 +- opensource/machinery/index.html | 2 +- opensource/releases/index.html | 2 +- opensource/upgrade/index.html | 2 +- opensource/web/index.html | 2 +- opensourcev3/announcement/index.html | 2 +- opensourcev3/index.html | 2 +- prologue/deployments/index.html | 2 +- prologue/glossary/index.html | 2 +- prologue/how/index.html | 2 +- prologue/index.html | 2 +- vault/first-things-first/index.html | 2 +- vault/get-started/index.html | 2 +- vault/index.html | 2 +- vault/installation-cloud/index.html | 2 +- vault/installation-edge/index.html | 2 +- vault/installation/index.html | 2 +- vault/providers/index.html | 2 +- vault/recycle/index.html | 2 +- vault/releases/releases/index.html | 2 +- 41 files changed, 41 insertions(+), 41 deletions(-) create mode 100644 index.min.043f7b7308409ac3e67679315a41fd9fac3fd39f80a7f5ac82dd92857185f29b11e21997d5723c9fc448098a72292664dc3016ded635b4475220cdbd4bdda613.js delete mode 100644 index.min.644e211f3e6873b569395aec54b902c8857b41e66177d84ed872b722fce4609c73aaeb3708c105e0a2b2a7b921e04f5a5725b33eff3ba2856722b277181cb56a.js diff --git a/404.html b/404.html index 4861146..cc2fc80 100644 --- a/404.html +++ b/404.html @@ -2,4 +2,4 @@ Kerberos Docs

Page not found :(

The page you are looking for doesn't exist or has been moved.

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/contributors/index.html b/contributors/index.html index f1db429..d6c2be9 100644 --- a/contributors/index.html +++ b/contributors/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Contributors

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/first-things-first/index.html b/enterprise/first-things-first/index.html index c676c5c..52dc250 100644 --- a/enterprise/first-things-first/index.html +++ b/enterprise/first-things-first/index.html @@ -4,4 +4,4 @@

First things first

A revolutionary design to scale your video analytics and video surveillance landscape.

Over the years Kerberos evolved into a mature and stable solution. Lots of people and companies started to adopt the system, and requested enhancements. Despite the fact that Kerberos Open Source is stable and feature rich, every solution has its limitations, especially if you aim to scale it.

That being said, Kerberos Open Source is perfect when monitoring a limited set of surveillance cameras, but it doesn’t scale well if you plan to monitor dozens or hundreds of surveillance cameras. Although Kerberos Open Source ships as a Docker image, it has no high availability or fail over functionality.

Independently we’ve seen many vendors developing their own custom VMS solutions, usually tightly coupled to there proprietary surveillance hardware, which are delivered to enterprise customers as closed software solutions with limited API’s and/or messaging capabilities.

Due to these reasons we have developed Kerberos Enterprise, Kerberos Storage and Kerberos Cloud, which is an open scalable solution stack, suitable for your ever growing video surveillance landscape, but having extensibility and integration built-in from the ground up.

The major key differentiators compared to to other solutions are:

  • Scalability with Kubernetes,
  • Open API’s with well documented Swagger API’s,
  • Host anywhere, in the cloud or on premise,
  • Integration and extension, allowing to build custom apps, ML services and more.

Kubernetes

To provide our customer with the high availability and fail over requirements they have, Kerberos Enterprise was built on top of Kubernetes (k8s). This container orchestrator allows us to scale a video surveillance landscape horizontally, and deliver a never-seen high available video surveillance system.

When you start having bigger deployments it's recommended to go with a Kubernetes approach.

When you start having bigger deployments it’s recommended to go with a Kubernetes approach.

Kerberos Enterprise is installed inside a Kubernetes cluster. It will create pods/deployments for every surveillance camera you want to monitor. Kubernetes will scale and distrubute these pods across your nodes (VM’s/Baremetal machines).

Nodes inside your cluster can fail or crash, Kubernetes will make sure the Kerberos pods running on the failed nodes will be deployed to healthy node. This, to make sure the monitoring of your video surveillance cameras continues seamlessly.

By having the power to add nodes to your cluster, you can anticipate to the ever growing need of your surveillance cameras. With the Kubernetes tools you can monitor your cluster and get into the details.

Cloud or on premise

You install Kerberos Enterprise inside a Kubernetes cluster, but there are no limitations where this cluster will be actually running. This means that whatever security policy you have within your company, you can run it where you want: on-premise, public cloud, private cloud, etc.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

Licensing

Kerberos Enterprise is publicly available and does not require a license key to operate correctly. Everyone can install the Kerberos Enterprise component free of charge.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/get-started/index.html b/enterprise/get-started/index.html index 9026546..c616523 100644 --- a/enterprise/get-started/index.html +++ b/enterprise/get-started/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Get Started

What to expect from the Kerberos Enterprise agent.

Once you’ve installed Kerberos Enterprise, you will have the Kerberos Enterprise Factory webapp running inside your cluster. This web application allows you to administrate your Kerberos Enterprise agents as deployments/pods. It comes a bunch of other features as well, read on.

Important to note is that this web app is relying on the Golang Kubernetes SDK, so that means from an administration point of view, you could simply use the well known kubectl command. The webapp just add (a lot of) functionalities on top of the Kubernetes API, which are specific to Kerberos Enterprise agents.

Login page

Once you open a browser, and navigate to the Factory web application (see installation for the url), you will land on the login page.

Login into the Kerberos Enterprise agent interface.

Login into the Kerberos Enterprise agent interface.

The default username password of the Factory web applications is:

  • username: root
  • password: kerberos

The username and password can be changed in the deployment.yaml file.

Overview

On the overview page you will find an intuitive overview of the different pages and functionalities. On the left menu you will see two sections: Docker and Kubernetes. Kerberos Enterprise can both run in Docker (single-host) and Kubernetes (cluster) mode, however the recommended way is of course Kubernetes.

When working with Kubernetes, Kerberos Enterprise agents are deployed as a deployment. When working with Docker, Kerberos Enterprise agents are deployed as traditional Docker containers.

Review your Docker or Kubernetes agents.

Review your Docker or Kubernetes agents.

Kubernetes

On the left menu you will find the Kubernetes section. In this section 3 sub menu’s are available:

  • Nodes: a list of all the nodes in your cluster.
  • Deployments: a list of all the Kerberos Enterprise agents running in your cluster.
  • Pods: all the pods running in your cluster.

Nodes

The nodes section lists all the available nodes inside your Kubernetes cluster. It shows a limited amount of information such as the version, the number of Docker images installed on the node, and some basic hardware information.

Get an entire list of nodes which are connected to your Kubernetes cluster.

Get an entire list of nodes which are connected to your Kubernetes cluster.

Deployments

The deployments section will list all the Kerberos Enterprise agents (running as deployments) that you have deployed inside your cluster. This page gives you access to deploy new Kerberos Enterprise agents one by one or in bulk. Next to that you can easily upgrade Kerberos Enterprise agents to a newer version, reboot them, view logging and update the configuration options of the Kerberos Enterprise agent.

Get a list of all your Kerberos Enterprise agents.

Get a list of all your Kerberos Enterprise agents.

Adding a new deployment

There are two options to add a new deployment, single deployments and bulk deployment.

Get a list of all your Kerberos Enterprise agents.

Get a list of all your Kerberos Enterprise agents.

  • single deployment

By specifying a name for your deployment, and it’s corresponding RTSP url, a new deployment will be created for you, and deployed to one of your installed nodes.

  • in bulk deployment.

By importing an Excel file, deployments can be created in bulk.

By specifying the name and corresponding RTSP url in multiple rows, you can deploy your deployments in bulk.

Add a Kerberos Enterprise agent through a deployment.

Add a Kerberos Enterprise agent through a deployment.

Configuring a deployment

Once you have a running deployment, you should see a green circle next to the deployment, indicating that it is succesfully running. At any time you can configure your deployments by clicking on the icon. This will open a popup, allowing you to change some settings.

Once you created the Kerberos Enterprise agent, you can configure the agent.

Once you created the Kerberos Enterprise agent, you can configure the agent.

Following settings can be changed:

  • One or more regions of interest,
  • Time based conditions,
  • Pre- and postrecording
  • Continious recording
  • Linking to Kerberos Hub or Kerberos Vault

Global configuration

Configuration can be specified on a Kerberos Enterprise agent level, this means that you update the configuration of a specific deployment. However can also be specified at a higher level. This higher level is what we call the global configuration.

By specifying configurations at a higher level, any Kerberos Enterprise agents will inherit from that configuration, improving the overall maintenance and management of your Kerberos Enterprise agents.

You can specify the configurations on a global level, so all agents will inherit from that.

You can specify the configurations on a global level, so all agents will inherit from that.

Upgrade or reboot a Kerberos Enterprise agent

At Kerberos.io we have fast development cycles, which means that new versions will be released every day, week or month. To make sure you can upgrade or downgrade your Kerberos Enterprise agent easily, an upgrade feature is built-in. When pressing the upgrade button, you will be able to select the version to which you would like to upgrade or downgrade. Once submitted, a zero downtime upgrade will take place. Kubernetes will download the new release, create a new pod, and destroy the old one.

At any moment you can reboot your Kerberos Enterprise agent. When pressing the reboot button, next to your deployment, Kubernetes will destroy the pod of your deployment, and schedule a new one. This comes in handy, when you noticed one of your Kerberos Enterprise agents is in a stale state.

You can specify the configurations on a global level, so all agents will inherit from that.

You can specify the configurations on a global level, so all agents will inherit from that.

Pods

When creating a Kerberos Enterprise agent, Kubernetes will create a deployment and schedule a pod. This pod will be managed by your deployment, and deployed as a Docker container to one of your available nodes. Once a pod dies/ crashes, or whatever unexpected scenario, the deployment will make sure it is deployed again to a different (or the same) node. This makes sure the Kerberos Enterprise agent is in a healthy state at all times.

When creating a deployment, a Kubernetes pod has created and assigned to a node.

When creating a deployment, a Kubernetes pod has created and assigned to a node.

Storage and video management

Kerberos Enterprise allows you to scale your video landscape horizontally, using the concept of Kubernetes, and brings a strong backbone for stability and performance. It allows you to avoid reinventing the wheel, and get stuck in the numerious challenges of making an intelligent VMS yourself (we worked on this for 2 years with experienced engineers).

Kerberos Enterprise stores its recordings locally for a short amount of time. This means that long-term storage is not included in the solution. On top of that it also does not have a visual component, which allows you te review dashboards or recordings. To overcome these two challenges, long-term storage with extensibility/integration capabilities and visualisation features, following solutions were developed Kerberos Vault and Kerberos Hub.

Kerberos Vault

Kerberos Vault is a solution which makes it able to store recordings from Kerberos Enterprise agents (accross different clusters) at a central place, on the storage provider you want. You can store your recordings in the cloud (AWS S3, Google Cloud Storage, Azure Blob storage) or on premise (Minio).

On the other hand it’s an open platform, as it allows you build extensions and integrations (web apps, mobile apps, machine learning services much more). Kerberos Vault ships with the ability of real-time messaging (Kafka) and a REST API (documented as Swaggger).

Kerberos Vault allows you to centralise your recordings and build integrations.

Kerberos Vault allows you to centralise your recordings and build integrations.

To connect one or more Kerberos Enterprise agents to your Kerberos Vault instance, you should open the configuration option and navigate to the cloud tab. When selected you need to fill-in the credentials from your Kerberos Vault account.

  • Storage URI: this is the API endpoint of your Kerberos Vault instance. Usually this is in the following format: http(s)://api.yourdomain.com/storage. Where api.yourdomain.com should match your Kerberos Vault API endpoint.

  • Provider: the name of the provider, which you created on the Kerberos Vault providers page, to which you want to send your recordings to.

  • Directory: this is the subdirectory in which your files will be stored. At the time of writing this should also equal your Kerberos Hub username, if you plan to upload to Kerberos Hub.

  • Access Key: this should match the access key of one of your Kerberos Vault accounts.

  • Secret Access Key: this should match the secret access key of one of your Kerberos Vault accounts.

Using Kerberos Vault you can bring your own storage, and store the recordings of your agents in your own storage provider.

Using Kerberos Vault you can bring your own storage, and store the recordings of your agents in your own storage provider.

Kerberos Hub

For the visualisation part Kerberos Hub comes into the picture. Kerberos Hub is a web app, backed up with a number of microservices, that shows dashboards, live streams, filter recordings and much more. Learn more about the features and functions here.

You have two choices when using Kerberos Hub, either you send your recordings from your Kerberos Enterprise agents directly to Kerberos Hub, or you send your recordings to Kerberos Vault, and connect Kerberos Vault to Kerberos Hub. About the latter more is explained on the Kerberos Vault page.

Select the Kerberos Hub option, and copy-paste the credentials from your Kerberos Hub subscription.

By linking your Enterprise agent to Kerberos Hub, your recordings and livestreams will become available online.

By linking your Enterprise agent to Kerberos Hub, your recordings and livestreams will become available online.

  • Region: this is the region where your recordings will be stored. Only eu-west-1 for now (will change, on the roadmap).

  • Bucket: the name of the Kerberos Hub bucket. Only kerberosaccept for now (will change, on the roadmap).

  • Directory: this is your personal directory, and matches your Kerberos Hub username.

  • Public Key: this should match the public key of your Kerberos Hub subscription.

  • Secret Access Key: this should match the private key of your Kerberos Hub subscription.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/index.html b/enterprise/index.html index 35af1fe..d8f641e 100644 --- a/enterprise/index.html +++ b/enterprise/index.html @@ -2,4 +2,4 @@ Kerberos Docs
\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/installation-cloud/index.html b/enterprise/installation-cloud/index.html index 8ae5554..a291397 100644 --- a/enterprise/installation-cloud/index.html +++ b/enterprise/installation-cloud/index.html @@ -71,4 +71,4 @@ factory-6f5c877d7c-hf77p 1/1 Running 0 2d11h mongodb-758d5c5ddd-qsfq9 1/1 Running 0 5m31s traefik-7d566ccc47-mwslb 1/1 Running 0 4d12h

Access the system

Once everything is configured correctly your cluster and DNS, you should be able to setup the Factory application. By navigating to the Factory domain factory.domain.com in your browser you will see the Factory login page showing up.

Once successfully installed Kerberos Enterprise, it will show you the login page.

Once successfully installed Kerberos Enterprise, it will show you the login page.

Edit this page on GitHub

← Installation
Edge Installation →
\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/installation-edge/index.html b/enterprise/installation-edge/index.html index 49ab6fb..75bdfc7 100644 --- a/enterprise/installation-edge/index.html +++ b/enterprise/installation-edge/index.html @@ -115,4 +115,4 @@ factory-6f5c877d7c-hf77p 1/1 Running 0 2d11h mongodb-758d5c5ddd-qsfq9 1/1 Running 0 5m31s traefik-7d566ccc47-mwslb 1/1 Running 0 4d12h

Access the system

Once everything is configured correctly your cluster and DNS, you should be able to setup the Factory application. By navigating to the Factory domain factory.domain.com in your browser you will see the Factory login page showing up.

Once successfully installed Kerberos Enterprise, it will show you the login page.

Once successfully installed Kerberos Enterprise, it will show you the login page.

Edit this page on GitHub

← Cloud Installation
Releases →
\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/installation/index.html b/enterprise/installation/index.html index 163eb90..aa5e086 100644 --- a/enterprise/installation/index.html +++ b/enterprise/installation/index.html @@ -4,4 +4,4 @@ Although you might except Kubernetes at the Edge or Kubernetes in the cloud, the Kerberos Docs

Installation

Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.

Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.

Kerberos Enterprise can be installed everywhere your Kubernetes cluster can be installed.

Kerberos Enterprise can be installed everywhere your Kubernetes cluster can be installed.

Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.

Installation on a Kubernetes Service Provider

Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some kubectl apply commands.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

Install Kerberos Enterprise on a Kubernetes Service Provider by following this step-by-step installation guide.

Installation in Private Cloud or Baremetal

No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).

When you start having bigger deployments it's recommended to go with a Kubernetes approach.

When you start having bigger deployments it’s recommended to go with a Kubernetes approach.

In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don’t be scared, it’s pretty ssttraight forward as well. You can’t simple expect a: click, click, đź’Ą approach.

Install Kerberos Enterprise on a Private cloud or Baremetal by following this step-by-step installation guide.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/enterprise/releases/index.html b/enterprise/releases/index.html index 2e15ceb..606429c 100644 --- a/enterprise/releases/index.html +++ b/enterprise/releases/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Releases

1.0.0

Factory

  • React application using the Kubernetes and Docker Golang SDK.
  • Possibility to add deployments one by one or in bulk (Excel).
  • Configure machinery deployments: select a region of interest, specify recording time (pre, andd post recording), specify time interval.
  • Global configuration page, where you specify your cloud credentials at a single place.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/help/index.html b/help/index.html index 6ad0e2b..51f7833 100644 --- a/help/index.html +++ b/help/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Help

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/hub/first-things-first/index.html b/hub/first-things-first/index.html index ab477f8..4688b9c 100644 --- a/hub/first-things-first/index.html +++ b/hub/first-things-first/index.html @@ -3,4 +3,4 @@

First things first

A scalable interface to manage all your agents and sites through a single pane of glass.

When installing a Kerberos agent inside your local network, it’s possible to review your activity by using the agent’s web interface. By nature, you will not be able to access the web interface from the cloud (outside your local network). On top of that, the Kerberos agent doesn’t come with a consolidated overview. This means that you will need to open multiple web interfaces, one for each connected surveillance camera.

To simplify and resolve all of these challenges, Kerberos Hub was developed.

Kerberos Hub is a cloud solution which allows you to have a single overview of all the media recordings generated by your surveillance cameras. It’s not a solution for processing your surveillance cameras in the cloud. For processing of your surveillance cameras, a Kerberos agent is used.

A brief list of the key features of Kerberos Hub are:

  • Secured storage
  • Consolidated overview
  • Advanced searching
  • Machine learning
  • Alerts
  • Live streaming
  • Accounts
  • Logging

Checkout the demo environment to see and feel the Kerberos Hub solution yourself.

Architecture

A simplified architecture is found below. In this architecture the Kerberos agents are installed on-premise, next to the surveillance cameras. Once one of the agents recorded something it will send the recording to our Kerberos Vault, using the credentials you’ve defined inside the agent.

As soon as the recording is succesfully received several engines will be executed, that will further process the recording and extract metadata from it (classification, origin of the surveillance camera, etc). A lot of processing is happening behind the scenes (by what we call microservices).

By using a browser you can navigate to Kerberos Hub, and review all the recordings made by the Kerberos agents. On top of that you will receive more context about the recordings, get notifications, view a livestream and much more.

Kerberos Hub is composed out of of different microservices.

Kerberos Hub is composed out of of different microservices.

Public or Private edition

They are two different versions of using and deploying Kerberos Hub, we have the public and private dition. What’s the difference?

The Public edition of Kerberos Hub, is running all its services in what we often call the public cloud; and to be more specific on AWS and GCP. The Public cloud is mainly built for people who want to have a low cost and small scale VMS in the cloud. It’s easy to (un)subscribe to the system, and you can connect your Kerberos agents in a matter of seconds.

On the other hand we also have the private edition, which is available for enterprises. In contrary to the public edition, a customer can deploy the entire Kerberos Hub platform (with all its microservices) where it wants (on-premise or cloud). Both public and private edition are built on Kubernetes, this means that you will need to have a Kubernetes cluster available at the location you which to install Kerberos Hub.

For more information about the licensing of Kerberos Hub private edition, please get in touch with cedric@verstraeten.io. The licensing model of Kerberos Hub public edition can be found online.

Features

So you might wonder, what’s actually inside the platform? Please find a concrete list of functionalities below, this should give you more insights about how it looks like and what the capabilities are.

Secured storage

Kerberos Hub allows you to store your data in the cloud, and make it available using a secured web interface. This is how it works.

Once you’ve installed a Kerberos agent, and created an account on Kerberos Hub, you will be able to connect both systems together. By entering credentials received from Kerberos Hub, into your Kerberos agent, your media recordings will be send to our cloud storage.

You can link one or more Kerberos agents to your Kerberos Hub account.

After linking your media recorded by a Kerberos agent will be send to our secure cloud storage, Kerberos Vault. By default our own Kerberos Vault service is used, however you can install your own Kerberos Vault and link it to our public cloud. By doing this all the recordings are stored in your own datacenter of choice, and only metadata is stored inside Kerberos Hub.

You connect your agents to Kerberos Hub, through Kerberos Vault.

You connect your agents to Kerberos Hub, through Kerberos Vault.

Once stored your media recordings will be processed by different functions and algorithms to send alerts, apply machine learning and much more.

Kerberos Hub is much more than a storage service, you get intelligent capabilities as well. Read on to discover more.

Consolidated overview

Kerberos Hub will group your media recordings (coming from one or more Kerberos agents) into time bundles. We do this to simplify the searching of a specific event. Less data is shown at once, and when needed you can drill down a level deeper to see more details.

The media page gives you an overview of all your recordings.

The media page gives you an overview of all your recordings.

In a sneak peek you will see how many media recordings were generated during a certain time period, and which Kerberos agents were involved. For example, this might give you an indication of a particular event (more about in the machine learning section).

Security

Once you’re inside your Kerberos Hub account, you will see all the available media recordings of your Kerberos agents in a single interface. So how does this work?

When you open Kerberos Hub we will generate temporary and private links for every media recording within your account. This link includes a random and unique hash, and is only available for a couple of minutes. So this means that your recording cannot be shared afterwards, or the risk someone else accessing that link is minimised.

Advanced searching

Next to showing all your recordings in one overview, we also give you the capabilities to search for a recording more easily. For example you can search for recordings within a specific time boundary, recordings generated by a specific Kerberos agent, recordings which are marked as important, classified recordings such as pedestrians or animals, and more.

Detailed searching across different sites and cameras. Using smart search to look for specific objects.

Detailed searching across different sites and cameras. Using smart search to look for specific objects.

Machine learning

With Kerberos Hub you will get far more than just a nice interface for finding back your recordings. When a recording is uploaded to Kerberos Hub, we will execute all kind of algorithms. One of these algorithms is classification. This algorithm is used to classify/recognise all the objects inside your recording. Any human, vehicle or animal in the recording will be labeled.

Next to classifying, the algorithm is also tracing the classified objects. By doing this we can label the recording with the object of interest. For example at the image below you see the traject of a pedestrian walking by (710 pixels).

When running your recordings on our Kerberos Hub, it will be processed by our ML service.

When running your recordings on our Kerberos Hub, it will be processed by our ML service.

You can filter and drill down into specific media where a classification was detected.

You can filter and drill down into specific media where a classification was detected.

Alerts

When a specific event occurred, a notification can be send to one or more channels. A user can compose an event by selecting one or more conditions. Once the event is triggered, a notification is sent to all the enabled channels.

Alerts

Kerberos Hub supports different types of alerts:

  • Detections: send a notification if a recording was received from a specific Kerberos agent, within a time range, with a specific classification, etc.
  • Devices: when one of your Kerberos agents stopped working, a notification can be send.
  • High upload: when a lot of recordings are generated within a specific period of time, a notification can be send.
Configure specific scenarios to trigger alerts.

Configure specific scenarios to trigger alerts.

Channels

Kerberos Hub supports different types of channels, towards notifications can be send:

  • Browser: notifications inside the browser (if the used browser supports this).
  • E-mail: a personal email can be send.
  • Slack: send a message to a slack channel.
  • Alexa: send a notification to Alexa skill (Notify Me).
  • Telegram: send a message to a Telegram channel.
  • Pushbullet: send a message to a Pushbullet channel.
  • Pushover: send a message to a Pushover channel.
  • Webhook: trigger a webhook (POST).
  • IFTTT: send a message to IFTTT.
  • SMS: send a text message to a mobile number.
Channels allow you to communicate to external services.

Channels allow you to communicate to external services.

Livestreaming

Kerberos Hub allows you to live stream from your Kerberos agents to your Kerberos Hub account.

For Kerberos Open Source a low resolution livestream is made available, this will allow you to see what is happening in front of your surveillance camera in real-time. The stream is shared over MQTT (TCPS) and visualised in the Kerberos Hub webinterface using secure websockets (WSS). No port forwarding needs to be enabled.

A Kerberos agent will give you access to the livestream, and a HD stream when using the enterprise agent.

A Kerberos agent will give you access to the livestream, and a HD stream when using the enterprise agent.

For Kerberos Enterprise a HD livestream is made available. The full resolution and FPS is send through a concept called WebRTC. This WebRTC technology, is used my all major conferencing tools such as Zoom, Teams, etc.

Accounts

It’s possible to create multiple accounts (also called subaccounts) within your main account. Their are two different roles:

  • Guest: will only see your media recordings. A guest cannot modify, delete or create something.
  • Editor: has full access, same permissions as the main account.
Using accounts you can give external people access.

Using accounts you can give external people access.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/hub/index.html b/hub/index.html index b350df6..63ee39e 100644 --- a/hub/index.html +++ b/hub/index.html @@ -2,4 +2,4 @@ Kerberos Docs
\ No newline at end of file +Kerberos.io
\ No newline at end of file diff --git a/index.html b/index.html index 97c5e2b..71eae25 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ Kerberos Docs - Video surveillance for everyone

Introduction

And so it began. The ecosystem of Kerberos.io

The Kerberos.io project, pronounced as /kuh buh ruhs dot i o/, is a video surveillance solution, which was initiated back in 2014. Over the years it has evolved into a trusted, stable and feature-rich video surveillance system. To set the expectations, watch the video below to understand what it can and can’t do. If you want to install Kerberos.io, it’s recommended to have a look at the architectures page to find the best solution for your usecase.

The name: Kerberos.io

Many people are confused, and don’t understand why this project is called Kerberos.io. If you’ve been in the IT world for a while you will notice that Kerberos is already used for the authentication protocol Kerberos.

We believe that the name Kerberos.io makes sense for this project as well, with a strong emphasize on the suffix .io, which stands for input and output devices (e.g. any type of camera). Kerberos.io can be seen as a kind of security protocol driven by hardware devices such as surveillance cameras. To make writing easier we will from now on, refer to Kerberos instead of Kerberos.io.

Why Kerberos

As burglary is very common, we believe that video surveillance is a trivial tool in our daily lifes which helps us to feel a bit more secure. Responding to this need, a lot of companies have started developing their own video surveillance software in the past few years.

Nowadays we have a myriad of expensive cameras, recorders, and software solutions which are mainly outdated and difficult to install and use. Kerberos goal is to solve these problems and to provide every human being or enterprise in this world to have their own ecological, affordable, easy-to-use and innovative surveillance solution.

What is Kerberos

Kerberos is a video surveillance solution, that uses computer vision algorithms to detect changes, and that can trigger actions (notifications, api, etc). It comes in two flavors, Kerberos Open Source and Kerberos Enterprise. Kerberos can be deployed to any ARM device, Linux OS, Docker, Balenca Cloud, or cluster such as Kubernetes.

Kerberos Agent

When you install Kerberos Open Source or Kerberos Enterprise we will refer to it as the Kerberos agent. A Kerberos agent, is a software solution that processes the video stream of a single surveillance camera, makes and visualises recordings and takes actions (for example sending notifications).

Edit this page on GitHub

\ No newline at end of file +

Introduction

And so it began. The ecosystem of Kerberos.io

The Kerberos.io project, pronounced as /kuh buh ruhs dot ai o/, is a video surveillance solution, which was initiated back in 2014. Over the years it has evolved into a trusted, stable and feature-rich video surveillance system. To set the expectations, watch the video below to understand what it can and can’t do. If you want to install Kerberos.io, it’s recommended to have a look at the architectures page to find the best solution for your usecase.

The name: Kerberos.io

Many people are confused, and don’t understand why this project is called Kerberos.io. If you’ve been in the IT world for a while you will notice that Kerberos is already used for the authentication protocol Kerberos.

We believe that the name Kerberos.io makes sense for this project as well, with a strong emphasize on the suffix .io, which stands for input and output devices (e.g. any type of camera). Kerberos.io can be seen as a kind of security protocol driven by hardware devices such as surveillance cameras. To make writing easier we will from now on, refer to Kerberos instead of Kerberos.io.

Why Kerberos

As burglary is very common, we believe that video surveillance is a trivial tool in our daily lifes which helps us to feel a bit more secure. Responding to this need, a lot of companies have started developing their own video surveillance software in the past few years.

Nowadays we have a myriad of expensive cameras, recorders, and software solutions which are mainly outdated and difficult to install and use. Kerberos goal is to solve these problems and to provide every human being or enterprise in this world to have their own ecological, affordable, easy-to-use and innovative surveillance solution.

What is Kerberos

Kerberos is a video surveillance solution, that uses computer vision algorithms to detect changes, and that can trigger actions (notifications, api, etc). It comes in two flavors, Kerberos Open Source and Kerberos Enterprise. Kerberos can be deployed to any ARM device, Linux OS, Docker, Balenca Cloud, or cluster such as Kubernetes.

Kerberos Agent

When you install Kerberos Open Source or Kerberos Enterprise we will refer to it as the Kerberos agent. A Kerberos agent, is a software solution that processes the video stream of a single surveillance camera, makes and visualises recordings and takes actions (for example sending notifications).

Edit this page on GitHub

\ No newline at end of file diff --git a/index.min.043f7b7308409ac3e67679315a41fd9fac3fd39f80a7f5ac82dd92857185f29b11e21997d5723c9fc448098a72292664dc3016ded635b4475220cdbd4bdda613.js b/index.min.043f7b7308409ac3e67679315a41fd9fac3fd39f80a7f5ac82dd92857185f29b11e21997d5723c9fc448098a72292664dc3016ded635b4475220cdbd4bdda613.js new file mode 100644 index 0000000..2b86276 --- /dev/null +++ b/index.min.043f7b7308409ac3e67679315a41fd9fac3fd39f80a7f5ac82dd92857185f29b11e21997d5723c9fc448098a72292664dc3016ded635b4475220cdbd4bdda613.js @@ -0,0 +1 @@ +var suggestions=document.getElementById('suggestions'),userinput=document.getElementById('userinput');document.addEventListener('keydown',inputFocus);function inputFocus(a){a.keyCode===191&&(a.preventDefault(),userinput.focus()),a.keyCode===27&&(userinput.blur(),suggestions.classList.add('d-none'))}document.addEventListener('click',function(a){var b=suggestions.contains(a.target);b||suggestions.classList.add('d-none')}),document.addEventListener('keydown',suggestionFocus);function suggestionFocus(b){const d=suggestions.querySelectorAll('a'),e=[...d],a=e.indexOf(document.activeElement);let c=0;b.keyCode===38?(b.preventDefault(),c=a>0?a-1:0,d[c].focus()):b.keyCode===40&&(b.preventDefault(),c=a+1',a=c.querySelector('a'),t=c.querySelector('span:first-child'),d=c.querySelector('span:nth-child(2)'),a.href=b.href,t.textContent=b.title,d.textContent=b.description,suggestions.appendChild(c)});f.length>i;)suggestions.removeChild(f[h])}function f(){while(suggestions.lastChild)suggestions.removeChild(suggestions.lastChild);return!1}})() \ No newline at end of file diff --git a/index.min.644e211f3e6873b569395aec54b902c8857b41e66177d84ed872b722fce4609c73aaeb3708c105e0a2b2a7b921e04f5a5725b33eff3ba2856722b277181cb56a.js b/index.min.644e211f3e6873b569395aec54b902c8857b41e66177d84ed872b722fce4609c73aaeb3708c105e0a2b2a7b921e04f5a5725b33eff3ba2856722b277181cb56a.js deleted file mode 100644 index 4fc806d..0000000 --- a/index.min.644e211f3e6873b569395aec54b902c8857b41e66177d84ed872b722fce4609c73aaeb3708c105e0a2b2a7b921e04f5a5725b33eff3ba2856722b277181cb56a.js +++ /dev/null @@ -1 +0,0 @@ -var suggestions=document.getElementById('suggestions'),userinput=document.getElementById('userinput');document.addEventListener('keydown',inputFocus);function inputFocus(a){a.keyCode===191&&(a.preventDefault(),userinput.focus()),a.keyCode===27&&(userinput.blur(),suggestions.classList.add('d-none'))}document.addEventListener('click',function(a){var b=suggestions.contains(a.target);b||suggestions.classList.add('d-none')}),document.addEventListener('keydown',suggestionFocus);function suggestionFocus(b){const d=suggestions.querySelectorAll('a'),e=[...d],a=e.indexOf(document.activeElement);let c=0;b.keyCode===38?(b.preventDefault(),c=a>0?a-1:0,d[c].focus()):b.keyCode===40&&(b.preventDefault(),c=a+1',a=c.querySelector('a'),t=c.querySelector('span:first-child'),d=c.querySelector('span:nth-child(2)'),a.href=b.href,t.textContent=b.title,d.textContent=b.description,suggestions.appendChild(c)});f.length>i;)suggestions.removeChild(f[h])}function f(){while(suggestions.lastChild)suggestions.removeChild(suggestions.lastChild);return!1}})() \ No newline at end of file diff --git a/opensource/contribute/index.html b/opensource/contribute/index.html index 780478e..8e1a5bc 100644 --- a/opensource/contribute/index.html +++ b/opensource/contribute/index.html @@ -101,4 +101,4 @@ php -r "unlink('composer-setup.php');" cd public bower update

When everything is installed properly, you need too link the web project with your applicationn server. Read more on the Laravel documentation website.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/first-things-first/index.html b/opensource/first-things-first/index.html index 2b615eb..0e7bbaf 100644 --- a/opensource/first-things-first/index.html +++ b/opensource/first-things-first/index.html @@ -3,4 +3,4 @@

First things first

The Kerberos Open Source agent a low budget but delightful VMS.

Kerberos started as an Open Source project back in 2014. Our main goal was, and still is, to provide everyone in this world with a free, professional and complete video surveillance system, which they can install in a couple of minutes. Kerberos was initially developed for the Raspberry Pi, due to this many of the tools we have been using are lightweight and fast (such as C++). Over the years we have found other ways to make Kerberos available, such as KiOS (our custom Linux), Docker and Kubernetes.

In this section we want to make clear what the Open Source version of Kerberos is about, and when you should be using it. What it can do, and what it can’t do.

License

The Kerberos Open Source project is licensed with BY-NC-SA 4.0, this means that everyone can use Kerberos and modify if to their needs, in a non commercial activity.

When using the Open Source version

Kerberos Open Source is perfect for personal usage. It’s great if you only have a couple of surveillance cameras to be managed. A Kerberos agent (e.g. on a Raspberry Pi or inside a Docker container) runs for each camera. Their are many different installation possibilities, please have a look at the architecture or installation page.

Every Kerberos agent has it’s own web interface (front-end) to review media recording, and processing engine (back-end) of a specific surveillance camera. The Open Source version doesn’t come with a central overview of all recordings generated by your Kerberos agents. For this feature we highly recommend Kerberos cloud.

If you want to manage more than 10 Kerberos agents, it’s recommended to use Kerberos Enterprise. This will help you to scale, support high availability and load balancing. Check out the architectures section for a better understanding of when to use what.

How to install

A Kerberos Open Source agent can be installed in different ways. Every installation method have their own advantages and disadvantages. Depending on the usecase you could choose one method over the other. Read more on the installation section, to learn about the different installation methods.

  1. KiOS: You have a Raspberry Pi, and you only want to run the Kerberos agent on it.
  2. Raspbian: You have a Raspberry Pi, but you want other services running next to your Kerberos agent.
  3. Docker: You have a lot of IP cameras, and/or don’t want to mess with dependencies.
  4. Generic: You want to develop/extend Kerberos Open Source with your own features, or you want to run the Kerberos agent on a not supported OS/architecure.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/get-started/index.html b/opensource/get-started/index.html index 797933c..894ce05 100644 --- a/opensource/get-started/index.html +++ b/opensource/get-started/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Get started

What to expect from the Kerberos Open Source agent.

Once you’ve installed Kerberos Open Source, you will have access to the web application. This web application allows you to administrate the machinery.

Welcome page

The first time you open a browser, and navigate to the web application (ip address of your device), you will land on the welcome page. This page will guide you through some basic steps and set simple configurations such as username and password.

The landing page after successfully installing Kerberos Opensource.

The landing page after successfully installing Kerberos Opensource.

Login page

When you’ve finished the welcome page, you will be redirected to the login page from now one. Use the credentials you have defined during the configuration of the welcome page. By default the username is root, and the password is root.

After setting up the system you can proceed to login.

After setting up the system you can proceed to login.

Dashboard

After you have signed in successfully, you will land on the dashboard page. This page will give you an overview of some simple statistics. Such as the the activity per day, per hour, etc.

The dashboard gives you a high-level overview of what has been happening.

The dashboard gives you a high-level overview of what has been happening.

Media

By selecting a specific day from the left navigation, or choosing the date picker on the top, you will be shown all the relevant media for that specific day. Both videos and images are listed and grouped (if they are within a specific time span). By scrolling down, more media items will be shown.

You can use the timeslider at the top of the page for browsing through the day. The white (no activity) to gray (low activity) to red (high activity), will give you an indications of the amount of recordings for that specific hour.

The media page gives an overview of your recordings (grouped into sequences) for that specific day.

The media page gives an overview of your recordings (grouped into sequences) for that specific day.

By drilling down into a sequence, you will see all the related recordings.

By drilling down into a sequence, you will see all the related recordings.

Settings

Before being able to record anything, you will need to specify your capture device. A capture device is what we call: a camera. This camera can be a USB, RPi or IP camera. By default the RPi camera is selected, so if you are planning to use a IP camera make sure to change it on the settings page.

The settings page allows you to modify and tweak the camera and motion settings.

The settings page allows you to modify and tweak the camera and motion settings.

Region of interest

Besides selecting the capture device, you will have different options to make the detection more intelligent, such as defining a regions of interest, or an activation timeline (when Kerberos Open Source should be active).

The region of interest allows you to inspect a specific region of the camera.

The region of interest allows you to inspect a specific region of the camera.

Storage

Storing your recordings on your device is fine, on the other hand you might want to make it available remotely. By giving your Kerberos Hub credentials in the storage section, your recordings will be synced to our cloud solution.

The region of interest allows you to inspect a specific region of the camera.

The region of interest allows you to inspect a specific region of the camera.

System

This page will gave you overall information of Kerberos Open Source. It will give you information (logging) about the system, shows you some system information, the number of recordings on the system and more.

The system pages show you the current status of your agent.

The system pages show you the current status of your agent.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/index.html b/opensource/index.html index 5a648a5..d741a9f 100644 --- a/opensource/index.html +++ b/opensource/index.html @@ -2,4 +2,4 @@ Kerberos Docs \ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/installation-advanced/index.html b/opensource/installation-advanced/index.html index d56310c..96608ed 100644 --- a/opensource/installation-advanced/index.html +++ b/opensource/installation-advanced/index.html @@ -114,4 +114,4 @@ fi;

Initiate a cronjob, and select the nano editor.

crontab -e
 

Append following line, to execute the autoremoval.sh script every 5min.

*/5 * * * * /bin/bash /home/[user]/autoremoval.sh
 

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/installation/index.html b/opensource/installation/index.html index 5d0fc7a..dc59dd3 100644 --- a/opensource/installation/index.html +++ b/opensource/installation/index.html @@ -71,4 +71,4 @@ services: io.balena.features.balena-socket: '1'

5. Push

Now we created our two files, we can publish the Kerberos container to balena (our application), by executing the push command (replace <application_name> by the name of your application).

balena push <application_name>
 

Once finished you should see following message, and on the dashboard you should see your devices updating (Yes you can add multiple devices to an application). You’re ready ;)

Once created you can push the Kerberos Opensource agent to your Balenca Cloud app.

Once created you can push the Kerberos Opensource agent to your Balenca Cloud app.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/license/index.html b/opensource/license/index.html index 31c41a0..1d380cc 100644 --- a/opensource/license/index.html +++ b/opensource/license/index.html @@ -5,4 +5,4 @@ By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License (“Public License”). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.

Section 1 – Definitions

Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.

Adapter’s License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.

BY-NC-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.

Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.

Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.

Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.

License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution, NonCommercial, and ShareAlike.

Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.

Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.

Licensor means the individual(s) or entity(ies) granting rights under this Public License.

NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.

Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.

Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.

You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.

Section 2 – Scope

License grant.

Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:

  • reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
  • produce, reproduce, and Share Adapted Material for NonCommercial purposes only.

Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.

Term.

The term of this Public License is specified in Section 6(a).

Media and formats; technical modifications allowed.

The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.

Downstream recipients.

Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.

Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.

No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.

No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). Other rights.

Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.

Patent and trademark rights are not licensed under this Public License.

To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.

Section 3 – License Conditions

Your exercise of the Licensed Rights is expressly made subject to the following conditions.

Attribution.

If You Share the Licensed Material (including in modified form), You must:

  • retain the following if it is supplied by the Licensor with the Licensed Material:
  • identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
  • a copyright notice;
  • a notice that refers to this Public License;
  • a notice that refers to the disclaimer of warranties;
  • a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
  • indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
  • indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.

You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.

If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.

ShareAlike.

In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.

The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-NC-SA Compatible License.

You must include the text of, or the URI or hyperlink to, the Adapter’s License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.

You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter’s License You apply.

Section 4 – Sui Generis Database Rights

Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:

  • for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
  • if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
  • You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.

For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.

Section 5 – Disclaimer of Warranties and Limitation of Liability

Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.

To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.

The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.

Section 6 – Term and Termination

This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:

automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or

  • upon express reinstatement by the Licensor.

For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.

For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.

Sections 1, 5, 6, 7, and 8 survive termination of this Public License.

Section 7 – Other Terms and Conditions

The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.

Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.

Section 8 – Interpretation

For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.

To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.

No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.

Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/machinery/index.html b/opensource/machinery/index.html index 433cd0b..e929342 100644 --- a/opensource/machinery/index.html +++ b/opensource/machinery/index.html @@ -252,4 +252,4 @@ Detailed information (a JSON object) is published to an MQTT topic. The JSON obj </streams>

Enabled

A boolean which turns ON/OFF the stream. This is interesting when working with IP cameras, where you already have an RTSP/MJPG stream from the camera itself.

Stream Port

The port on which the stream is available.

Quality

The quality is a value between [0-100]. The lower the quality, the more the image will be compressed. If you’re using the RaspberryPi Camera module, this option will be ignored.

Username/password

You can secure the MJPEG streaming with a username and password. These credentials will be used to authorize your requests using Basic Authentication. Please note that once enabled, the live stream on the dashboard page can fail; however it will work if you open it directly in your browser or ip camera client. The format of the streaming url, after authentication enabled, will look as following:

http://username:password@ip-camera:8899
 

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/releases/index.html b/opensource/releases/index.html index 113f4a3..6e03a7a 100644 --- a/opensource/releases/index.html +++ b/opensource/releases/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Release notes

Understand what's new in the Kerberos Open Source agent.

2.8.0

Aligned machinery, web and KiOS versions. Too many people were confused by the versioning.

Web

  • Videos displayed on canvas were blocked in latest browsers.
  • Disabled reboot and shutdown.
  • Disabled upgrade process, use fwupdate shell command instead.

KiOS

  • Major upgrade, solved many different problems (list to long); not possible to upgrade from 2.7.0 to 2.8.0.
  • Updated firmware to latest Raspbian (raspberrypi-kernel_1.20180417-1).
  • Support for the Raspberry Pi 4.

2.7.2

Machinery

  • To optimise the cloud experience we’ve added a proxy.kerberos.io machine in between.
  • We’ve changed the S3 storage scheme (class:ONEZONE_IA).

2.7.1

Machinery

  • Resolved deadlock with livestreaming while restarting machinery.
  • Revert logging library; enabled log rotating.

KiOS

  • Updated firmware to latest Raspbian (raspberrypi-kernel_1.20180417-1).
  • Resolved issue with WIFI on Raspberry Pi 3B+

2.7.0

Web

  • Unique session cookie, which allows to open multiple web interfaces (e.g. when using docker).

Machinery

  • Added live streaming feature for app.kerberos.io
  • Upgraded logging library: log file can be max 5MB, and will rotate.
  • Better logging for cloud uploads (failed information).

Docker

  • No longer need docker-compose, we merged the web and machinery containers to a single container.

KiOS

  • Updated firmware to latest Raspbian.
  • Support for the Raspberry Pi 3B+.

2.6.1

Web

  • Solved issue with persisting login configuration. #111

Machinery

  • Added Pushbullet. #139
  • Cloud upload was not longer working (hotfix also in 2.6.0).

2.6.0

Web

  • Add a cloud connection verification method. #112

Machinery

  • Add background color timestamp. #128
  • Send instanceId in AWS header when uploading to cloud (necessary for new cloud app).
  • Better support for Chinese IP cameras.

Docker

  • Bug: Autoremove old images/video within Docker Containers. #104

2.5.0

Web

  • Added Chinese and Italian language.
  • Resolved issue with INSTALLED=true.
  • Make latest_sequence available with basic auth. #99

Machinery

  • Provide an IO service for publishing events to MQTT. #89
  • Optimize recording with H264_OMX. #83
  • Implement throttler for Io detections. #96
  • SSL version 1.0.0 is no longer accessible in Raspbian. #109

2.4.2

Web

  • Typo in french translation, causes the web interface crash.

Machinery

  • Resolved major bug in livestream: memory leak in stream class. #94
  • Capture health verification: check if the chosen capture device is still grabbing (and didn’t stalled).
  • Extra logging when recording with raspberry pi camera.
  • Make sure the cloud upload is functioning properly, after an upload it’s verified if the files really exist in the cloud.

2.4.1

Web

  • Show warning when system is disabled. #88.
  • Hull selector in basic view not always working.

2.4.0

Ecosystem

  • Enable/Disable force network mode.
  • Enable/Disable auto removal media.

Web

  • Upgrade from Laravel 4.2 to Laravel 5.4 #70.
  • Fix bug with heatmap radius slider #84.
  • Design tweaks toggle button (remove outline).
  • Disabled possibility to timestamp video when using hardware acceleration.

Docker

  • Fix SSL support #4.
  • Auto removal if disk is full.

Machinery

  • OpenMAX IL hardware encoding for Raspberry Pi camera. #83
    • Optimized live streaming.
    • Optimized h264 recording.
  • Basic authentication for live streaming (username and password). #80

2.3.1

Machinery

  • Update for kerberos.cloud: pushing content-type.
  • Change default configurations.

2.3.0

Ecosystem

  • Support for Raspberry Pi Zero W. #8

2.2.1

Ecosystem

  • Upgraded FFmpeg and libx264 on KiOS.

Web

  • Add Bulgarian translation. #81

Machinery

  • Bug: IoVideo crashes due to a memory leak. #70

2.2.0

Ecosystem

  • Added support for Armbian.
  • Raspbian: Async requests causes session corruption. #78

Web

  • Bug: Issue format instance name. #57
  • Redesign settings page (better UX). #39
  • Possibility to edit password through web interface. #63
  • Support for viewing videos.
  • Update radius of heatmap.
  • PHP7 support. #60
  • Welcome/installation page. #60
  • Translation updated. #74
  • Privacy mode. #54

Machinery

  • Output as video file. #60
  • Bug: System hangs when a wrong IP camera url was defined. #48
  • Run arbitrary script/program. #31
  • Bug: Weird colors from RPi Camera. #64
  • Upgrade to OpenCV 3.2.0.

2.1.0

Web

  • Added PhotoSwipe for image overview (easier to browse through images). #45
  • Added reboot and shutdown commands. #46
  • Added logging view to system page. #33
  • Added labels to check if machinery is running.
  • Added error handling if web interface isn’t working properly.
  • Fixed Heatmap.js fail to load by ad-blocker. #42
  • Show additional information on the dashboard (streaming is opening or not) there is no data available.
  • Settings page is now visible on mobile (+ changed icon).
  • Fixed sorting of news articles.
  • Removed links to assets in the cloud (.css files).
  • Design: improved layout of login page, async loading of image view.

Machinery

  • Added configurable streaming port and quality. #41
  • Added new algorithm: Background subtraction.
  • Added new heuristic: Counter (for object/people counting). #42
  • Added video capture, which can be used for debugging purposes (replay a video fragment).
  • It’s now possible to mark the images with a timestamp. #36
  • Fixed blocking streaming socket. #39

Ecosystem

  • Fix removal images if disk is almost full (wrong path was defined).
  • Support for the Raspberry Pi Camera module v2.1. #3
  • Support for the Raspberry Pi Zero; updated kernel to latest Raspbian. #3
  • KiOS GUI installer.

2.0.0

Web

  • Add simple ON/OFF toggle. #24
  • Added update strategy when using KiOS. #23
  • A system page which shows system information. #20
  • Heatmap on dashboard page #19
  • Added live stream view on the dashboard page #2
  • Fixed bug cloud syncing #16
  • Fixed broken settings page when space in instane name #16

Machinery

  • RTSP support for IP-camera’s. #21
  • Verbose logging. #35
  • IO-devices are executed in a seperate thread. #28
  • Live streaming (MJPEG). #26
  • Execute multiple instances on a machine. #24
  • Override config by arguments. #22
  • Move S3 upload to machinery and remove sync-s3 repository. #16

Docker

  • Added Docker image (x86_x64) to Docker Hub.

Ecosystem

  • Add support for Raspberry Pi 1, 2 and 3. #1

1.1.0

Web

  • Support IP camera’s with MJPEG stream. #3
  • Introduce new API methods to configure the machinery, using basic auth. #4
  • Optimization of loading image and dashboard page, completely redesigned the retrieval of images. #5
  • Optimization of settings page. #5
  • Timebar gradient only works in Chrome. #6
  • Minor CSS fixes for responsive layout.

Machinery

  • Flip/rotate option for capture devices. #5
  • Support IP camera’s with MJPEG stream. #4
  • Introduced webhook io device. #5

Cloud

  • Fixed problem when syncing a huge amount of images. #1

1.0.3

Web

  • Optimize performance, new datastructure has been implemented.

Machinery

  • Memory optimization.
  • Removal of images older than 3 days have been removed.
  • Start machinery automatically (delay has been removed).

Cloud

  • Resolved file exist problem.

1.0.2

Web

  • Timezone on settings page is also used for the webinterface.

Machinery

  • Added extra timezones to timezone.xml.

1.0.1

Web

  • Improved error handling (date search).

Machinery

  • Improved memory cleanup.

1.0.0

First commit of Kerberos.io

  • Camera support: USBCamera (V4L), Raspberry Pi camera module (MMAL).
  • Conditions: Enabled (turn on/off Kerberos) and active Time per day.
  • Algorithms: Differential Images.
  • Heuristics: Sequence.
  • Expositors: Select a Hull or Rectangle.
  • Outputs: Write image to Disk, trigger an GPIO output pin and send a TCP/IP packet.
  • Cloud: send your images to the Kerberos.io cloud aplication.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/upgrade/index.html b/opensource/upgrade/index.html index 13ad779..ed216b1 100644 --- a/opensource/upgrade/index.html +++ b/opensource/upgrade/index.html @@ -5,4 +5,4 @@

Next look for all available versions of KiOS.

fwupdate versions
 

Select the version to which you would like to upgrade, and run following command.

fwupdate upgrade <version>
 

KiOS will reboot, and your new version will be available.

Raspbian

If you want to install a new version of the Kerberos agent for Raspbian, there is no automated versioning process available like KiOS. To perform an upgrade you’ll need to follow the traditional installation procedure of Raspbian.

Docker

When a new release is available, a new Docker image will be available on the Docker hub. You can simply delete your existing container and image, and download it again.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensource/web/index.html b/opensource/web/index.html index 5f9e772..899b33d 100644 --- a/opensource/web/index.html +++ b/opensource/web/index.html @@ -60,4 +60,4 @@ print(response.text) "status": "false" }

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensourcev3/announcement/index.html b/opensourcev3/announcement/index.html index 2b1df27..fc9d705 100644 --- a/opensourcev3/announcement/index.html +++ b/opensourcev3/announcement/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Announcement

A new Open Source agent with more features, better performance, and great UX.

Kerberos Open Source (v3) is the next generation of Kerberos.io, and is the successor of (v1/v2). More specifically it will replace and merge the machinery and web repositories. A switch in technologies and architecture has been made. Version 3 is still under active development, and not yet released. The progress can be followed at the develop branch and project overview.

What is changing?

At the bottom line, we are rebuilding the project from scratch using a different technology stack. We are saying goodbye to C++, PHP (Laravel), BackboneJS and saying hello to Golang and React. Despite the technology changes, we are also changing the architecture, we have put in place a couple of years ago. The biggest change is to run the show inside a single repository, and no longer over seperate repos (machinery and web). Read more about this in the FAQ.

The Opensource version 3 is a complete new rewrite of the version 2.

The Opensource version 3 is a complete new rewrite of the version 2.

FAQ

1. Why a mono repo?

We have noticed in the past (v1 and v2) splitting the repositories (machinery and web), created a lot of confusion within our community. People didn’t understand the different versions and so on. This caused a lack of collaboration, and made it impossible for some people to collaborate and contribute.

Having a mono repo, which is well organised, simplifies the entry point for new people who would like to use, understand and/or contribute to Kerberos Open Source.

2. Why a change in technologies?

In previous versions (v1 and v2) we used technologies like C++, PHP and BackboneJS. 7 years ago this was still acceptable, however time has changed and new technologies such as React and Golang became very popular.

Due to previous reason we have decided to rebuild the Kerberos Open Source technology from scratch, taking into account all the feedback we acquired over the years. Having these technologies available, we will enable more people to contribute and use our technology.

3. What is the difference with Kerberos Enterprise?

We started the developments of Kerberos Enterprise a year ago (January, 2020), our focus here was scalability, and fast development and easy deployment. We noticed that with technologies such as Golang and React, we can still provide a highly performant video surveillance system.

Kerberos Open Source will use the same technology stack, and some code pieces, of Kerberos Enterprise which we have already build. We have a very clear now, of how a well developed and documented video surveillance system needs to look like.

4. When are we going to be able to install the first version?

We plan to ship the first version by the end of Q1, afterwards we will add more and more features as usual.

5. Change in License

Kerberos Open Source (v3) is now available under the MIT license.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/opensourcev3/index.html b/opensourcev3/index.html index 131d234..01a0776 100644 --- a/opensourcev3/index.html +++ b/opensourcev3/index.html @@ -2,4 +2,4 @@ Kerberos Docs
\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/prologue/deployments/index.html b/prologue/deployments/index.html index fef92c5..feeb524 100644 --- a/prologue/deployments/index.html +++ b/prologue/deployments/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Deployments

Discover the different deployments and use cases, learn more about the architecture.

In this section we will explain some usecases and best practices, which might help you to define the architecture that fits your needs.

Please read the introduction page first, before moving forward.

When starting with Kerberos you might ask yourself, how should I deploy these so called, Kerberos agents? Well, there are different options. You can install a Kerberos agent on a Raspberry Pi, VM, Server or even in a Kubernetes cluster. So what should you do, and when? Let’s have a closer look at the different options.

The first thing you need to consider is the environment, in which you want to deploy your Kerberos agents. Is it inside your house, your company or at a public place? Another important factor is the number of surveillance cameras you would like to monitor, and if you have any high availability requirements.

Agents on-premise

The most common scenario is to install your Kerberos agents on-premise. This has a couple of benefits such as latency, bandwidth and a less complex security model. When installing a Kerberos agent on-premise, you have a couple of different options.

Less than 5 cameras

If you have a limited number of surveillance cameras you would like to monitor, and don’t have any high availability requirements, the Kerberos Open Source agent is a good choice. For example, you can install the Kerberos Open Source agent on a Raspberry Pi, by using KiOS, Raspbian OS or compile it from source.

On below architecture, a couple of Kerberos agents are installed on-premise (inside the local network). A Kerberos agent is installed for each surveillance camera, and each Kerberos agent runs on a seperate host (Raspberry Pi, VM, etc). The web interface of the Kerberos agents can be reached from the internal network, but cannot be accessed from the cloud.

Having just a single or two camera(s) to be monitored then Kerberos Opensource might be the right choice.

Having just a single or two camera(s) to be monitored then Kerberos Opensource might be the right choice.

Another option to install the Kerberos Open Source agent is to use Docker. Instead of having seperate hosts for each Kerberos agent, you will have a single host (Docker host) with multiple Docker containers. A Docker container is deployed for each surveillance camera, which contains the software to run the Kerberos agent.

Running your Kerberos agents inside Docker containers, allows you to process multiple surveillance cameras using only one host.

Having just a few of cameras to be monitored then Kerberos Opensource with Docker might be the right choice.

Having just a few of cameras to be monitored then Kerberos Opensource with Docker might be the right choice.

More than 5 cameras

When working within an enterprise context, where you require high availability and have a large amount of surveillance cameras being monitored, Kerberos Enterprise is a good choice. Im comparison to the Open Source version, Kerberos Enterprise uses Kubernetes to help you scale (and secure) your video surveillance landscape. Kerberos agents, or Kubernetes deployments, are deployed inside your cluster and load balanced over the different nodes. When a Kerberos agent dies, or the node on which the deployment is running, Kubernetes will reschedule it to another healthy node.

When you start having bigger deployments it's recommended to go with a Kubernetes approach.

When you start having bigger deployments it’s recommended to go with a Kubernetes approach.

Agents in the cloud

Instead of processing your surveillance cameras on-premise you could also process them in the cloud. There are a couple advantages, for example, you don’t have to manage your own hardware, you can simply spin up a VM on one of the hyperscalers, and add it to your existing cluster.

When dealing with Kerberos agents in the cloud, the complexity starts with the security model. As your surveillance cameras are running somewhere on-premise, you will need to make them available to your Kerberos agents, which are running in the cloud. There are several ways to do that, such as port forwarding (not recommended) or setting up a site-to-site VPN (recommended).

When setting up a VPN connection you will expose your surveillance cameras to your Kerberos agents. Once you’ve configured the Kerberos agents, data will flow through this secure tunnel, from on-premise to your cloud enviroment.

Less than 5 cameras

If you have a limited number of surveillance cameras you would like to monitor, and don’t have any high availability requirements, the Kerberos Open Source agent is a good choice. You can install the Kerberos Open Source agent on Docker. Instead of having seperate VM’s for each Kerberos agent, you will have a single VM (Docker host) with multiple Docker containers. A Docker container is deployed for each surveillance camera, which contains the software to run the Kerberos agent.

By using port forwarding or a  VPN tunnel you can start processing your camera streams in the cloud.

By using port forwarding or a VPN tunnel you can start processing your camera streams in the cloud.

More than 5 cameras

Similar to Kerberos Enterprise on-premise, you can run the a Kubernetes in the cloud. The exact same solution is available, only the way how you connect to your video surveillance cameras will be different, as they will probably live in a different network. To make this work you will need to setup a VPN tunnel (or whatever your security teams have defined as a back practice). When Kerberos Enterprise is deployed to the cloud, it can be used any where. Public cloud (AWS, Google, Azure, etc) or private cloud. You can run it where you want.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

Kerberos Hub

Once you’ve configured one of the previously mentioned architectures, you will have one or more Kerberos agents running, in the cloud or on-premise.

The Kerberos Open Source agent comes with a web interface, which makes it possible to review the activity for that specific agent; they don’t have a consolidated overview. This means that you will need to open multiple web interfaces, one for Kerberos agent. In contrary Kerberos Enterprise agents, don’t come with a web interface, therefore the Kerberos Hub (public or private edition) is recommended.

To simplify this process and resolve some other challenges, Kerberos Hub was developed.

Kerberos Hub is a cloud solution which allows you to have a single overview of all the media recordings generated by your surveillance cameras. It’s not a solution for processing your surveillance cameras in the cloud. For processing of your surveillance cameras, a Kerberos agent is used.

A brief list of the key features of Kerberos Hub are:

  • Secured storage
  • Consolidated overview
  • Advanced searching
  • Machine learning
  • Alerts
  • Live streaming
  • Accounts
  • Logging

Checkout the demo environment to see and feel the Kerberos Hub solution yourself.

Architecture

A simplified architecture is found below. In this architecture the Kerberos agents are installed on-premise (but this could also be in the cloud), next to the surveillance cameras. Once one of the agents recorded a footage it will send the recording to our Kerberos Vault service, using the credentials you’ve defined inside the agent.

As soon as the recording is successfully received several engines will be executed, that will further process the recording and extract metadata from it (classification, origin of the surveillance camera, etc). A lot of processing is happening behind the scenes.

By using a browser you can navigate to Kerberos Hub, and review all the recordings made by the Kerberos agents on-premise. On top of that you will receive more context about the recordings, get notifications, view a livestream and much more. Read more about Kerberos Hub.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

As previous mentioned you could process them in a Kubernetes cluster in the cloud.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/prologue/glossary/index.html b/prologue/glossary/index.html index 1c70a83..77ab1e0 100644 --- a/prologue/glossary/index.html +++ b/prologue/glossary/index.html @@ -2,4 +2,4 @@ Kerberos Docs

Glossary

A better understanding of the Kerberos Ecosystem.

While working in the Kerberos Ecosystem, specific words and sentences become to start feel natural. Unfortunately that’s not the case for everyone, that’s why we added and updated this glossary page, to anyone can come back to this if he would require more detailed explanation.

Agent

An agent is a collection of binaries, shipped in different forms such as Docker, Balena, etc). It executes specific tasks related to the camera processing, monitoring, configuration and reviewing.

There are two types of agents: an Open Source agent and an Enterprise agent.

Open Source agent

The Open Source agent …

Enterprise agent

The Enterprise agent …

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/prologue/how/index.html b/prologue/how/index.html index 1fdb84c..942363a 100644 --- a/prologue/how/index.html +++ b/prologue/how/index.html @@ -2,4 +2,4 @@ Kerberos Docs

How it works

How Kerberos.io works, and the different building blocks.

When you install Kerberos Open Source or Kerberos Enterprise we will refer to it as the Kerberos Agent. A Kerberos Agent, is a software solution that consist of two pieces: Front-End and Back-End. The Back-End processes the video stream of a single surveillance camera, makes recordings and takes actions (for example sending notifications). The Front-End allows you to review recordings, and configure the Back-End.

A Kerberos agent consists of both a backend en frontend.

A Kerberos agent consists of both a backend en frontend.

Front-End

The Kerberos Agent ships with a web interface (Front-End) and a video processing engine (Back-End). The Front-End allows the user to modify specific settings, and if Kerberos Open Source, watch recordings in a easy-to-use interface; The Front-End for Kerberos Enterprise is only for configuration purposes only.

Back-End

The Back-End piece of the Kerberos Agent is a service that processes the camera feed with computer vision algorithms to detect motion, and makes recordings and/or execute specific actions. Kerberos Enterprise supports any type of IP-camera (RTSP/ONVIF), and Kerberos Open Source also adds support for USB (V4L2) and the popular Raspberry Pi camera.

Depending on which Kerberos Agent, Kerberos Open Source or Kerberos Enterprise, you will have different installation methods. If you would like to learn more about the Kerberos Agent, have a look in the related sections: Open Source, Enterprise.

Open Source vs Enterprise

The Kerberos project started as an Open Source project, with a main focus on low-cost devices such as the Raspberry Pi. Later on the Open Source version was bundled inside the Docker technology so that it was easier to distribute. Anyone can use the Open Source version for personal usage.

Enterprises are more demanding, and have a lot of surveillance cameras, therefore they need a scalable surveillance system. The Enterprise edition of Kerberos allows you to operate a video surveillance cluster (Kubernetes) on-premise or in the cloud (AWS/GCP/Azure).

The different deployment options for Opensource and Enterprise agent.

The different deployment options for Opensource and Enterprise agent.

The Open Source and Enterprise edition are significantly different from a source code point of view. The Enterprise edition is a complete rewrite of the Open Source version, and got all the best practices we discovered over the years implemented. Both version are and will remain updated in the future.

Kerberos Vault

Users or Enteprises which only have a few surveillance cameras to manage, probably will be fine with Kerberos Open Source. On top of that they might include Kerberos Cloud for remote access and monitoring.

On the other hand if you plan to manage a larger network of surveillance cameras, you will have to look into Kerberos Enterprise. Backed up with Kubernetes, Kerberos Enterprise, will give you the real super powers to your scale surveillance camera landscape. Kerberos Enterprise comes with a Front-End to manage and scale your deployments inside a Kubernetes Cluster.

Kerberos Enterprise leverages a service called, Kerberos Vault, for central and hybrid storage. Kerberos Vault implements the concept of BYOC (Bring Your Own Cloud). By selecting a cloud provider (AWS, GCP, AZURE) or on-premise (Minio) you can bring your recordings where you them to be.

In addition to the concept of BYOC, Kerberos Vault enables you to connect to Kerberos Cloud (with your own storage), send events to message brokers (such as Kafka or SQS) and enables you to build custom apps or services (such as a custom machine learning service).

Kerberos Vault allows you to bring your own storage, and build extensions and integrations.

Kerberos Vault allows you to bring your own storage, and build extensions and integrations.

Kerberos Hub

When installing a Kerberos Agent inside your local network, it’s possible to review your activity by using the agent its web interface. By all network principles, having a local setup, you will not be able to access the web interface from the cloud (outside your local network). On top of that, the Kerberos Agent doesn’t come with a consolidated overview. This means that you will need to open multiple web interfaces, one for each connected surveillance camera. To simplify and resolve all of these challenges, Kerberos Cloud was developed.

A Kerberos agent consists of both a backend en frontend.

A Kerberos agent consists of both a backend en frontend.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/prologue/index.html b/prologue/index.html index d128fc6..d4ca7fa 100644 --- a/prologue/index.html +++ b/prologue/index.html @@ -2,4 +2,4 @@ Kerberos Docs \ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/first-things-first/index.html b/vault/first-things-first/index.html index 735c7b2..ba56846 100644 --- a/vault/first-things-first/index.html +++ b/vault/first-things-first/index.html @@ -7,4 +7,4 @@ Kerberos Vault In addition to that you have the option to Bring Your Own Storage

First things first

Kerberos Opensource and Kerberos Enterprise both store recordings on the local disk. To centralise your data at a single place, additional solutions are available.

Kerberos Hub

One or more Kerberos Enterprise agents, can store their data directly on Kerberos Hub, and benefit from the visualisation layer Kerberos Hub offers. When doing this your recordings will be uploaded inside the Kerberos datacenter (which is a black box for you).

Kerberos Vault

In addition to that you have the option to Bring Your Own Storage (BYOS), using Kerberos Vault. Kerberos Vault allows you to configure the storage providers you want, and allows you to connect to Kerberos Hub in parrallel. These storage provider could live in the cloud such as AWS S3, GCP storage and Azure Blob store, or can be located on premise - at the edge - such as Minio.

Despite the flexible storage capabilities, Kerberos Vault is also an open platform, which can be used to build extensions (mobile apps, web apps, machine learning services, etc) and integrations. It allows you to leverage a scalable and stable system as a strong backbone for your video analytics solutions, machine learning algorithms, and more.

Kerberos Hub

Within Kerberos Opensource and Kerberos Enterprise you can upload your recordings to our public Kerberos Hub environment. This means that your data will be hosted and processed (metadata) in our Kerberos Vault (datacenteR). For more information about how Kerberos Hub works can be found here.

Store your recordings in Kerberos Hub

Store your recordings in Kerberos Hub

Kerberos Vault

If you are using Kerberos Enterprise you have the possibility to bring your own cloud storage or on premise storage. By installing Kerberos Vault you can send your recordings to your own datacenter, private or public cloud. Following providers are supported:

When installing Kerberos Vault in the cloud, following architecture can apply. Having your Kerberos Enterprise agents running at the edge, but uploading to Kerberos Vault in the cloud.

Bring your own storage using Kerberos Vault

Bring your own storage using Kerberos Vault

On the other hand you could also have Kerberos Vault running at the edge, next to your Kubernetes Enterprise agents. This could be useful if you want to do processing or video analytics such as computer vision or machine learning at the edge.

Store your recordings at the edge with Kerberos Vault

Store your recordings at the edge with Kerberos Vault

Events

One of the key differentiators compared to other VMS solutions, is the abilitity to extend and integrate. Next to uploading and persisting data, Kerberos Vault can also trigger events. Each time a recording is send to Kerberos Vault an event can be triggered through one of the following providers.

Those events can be fetched or subscribed by custom applications. For example, one can create a notifications service, machine learning service or an entire cloud application. Allowing you to leverage the power and scalability of Kerberos Enterprise, and building and focussing on your specific applications, API’s, mobile apps, or whatever you have in mind to build.

Build integrations and create your own workflows using the event capability of Kerberos Vault.

Build integrations and create your own workflows using the event capability of Kerberos Vault.

On-demand upload

Next to the extension and integration capabilities of Kerberos Vault, it is also possible to synchronise with a central Kerberos Vault. On-Demand upload allows you to synchronise a subset of your recording with an additional Kerberos Vault in the cloud.

Synchronise recordings between multiple Kerberos Vault

Synchronise recordings between multiple Kerberos Vault

A couple of usecases are the following ones:

  • Continious recording: having continious recordings stored in your Kerberos Vault on premise, you don’t want to replicate all your recordings to a Kerberos Vault provider in the cloud (to make them public available). Therefore you could implement custom logic, for example based on a machine learning algorithm, to only replicate recordings which matche a specific scenario.

  • On-Demand request: Having Kerberos Hub, an end-user could initiate a request for upload. By default no recordings are forwarded from your Kerberos Vault on premise to your Kerberos Vault in the cloud. Only when an end user requests one or more recordings, the upload will start for the requested recordings.

Open API

Both Kerberos Enterprise as Kerberos Vault ships with Swagger API’s, which can be used to communicate with the previously mentioned systems. Simply type /swagger/index.html after the api url, and you will see the Swagger UI popping up. No need to explain the different API’s, use the Swagger and see what is available. See something missing, let us know, and we add it ;).

All capabilities of Kerberos Vault are documented through swagger API's.

All capabilities of Kerberos Vault are documented through swagger API’s

Licensing

Kerberos Vault is publicly available and requires a license key to operate correctly. Reach out to cedric@kerberos.io for the commercial matters.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/get-started/index.html b/vault/get-started/index.html index 6b4566f..537c960 100644 --- a/vault/get-started/index.html +++ b/vault/get-started/index.html @@ -11,4 +11,4 @@ bnkBDAABB0V4cFRpbWUBBAAAABb/ghMBCmtlcmJlcm9zaW8B/MC7ZzIAAf+AOaJ+ 0O8PKCIR4z1q28qJK2cvHQTK0/zf+KfYLilEcmNczLXgg+bnPvtA/bU/K8ZEwbnw Rta3+8zId+xtYQApdmHwo/Ih/vCN579iDeunwVQA —–END LICENSE KEY—–

Before you can access the Kerberos Vault system, you will need a license key.

Before you can access the Kerberos Vault system, you will need a license key.

Once you received a license key, and entered it into the web app you will be redirected to the login screen. Enter your credentials again, and you will land on the providers page (read more about it in the next chapter).

Providers

Providers are the actual datasource where you want to store your recordings. These providers could be a storage provider in the cloud or a storage provider on premise. By adding a provider, you have to provide credentials that allow Kerberos Storage to store recordings in that specific provider. Following provider are currently supported. You can choose from:

As explained before, for each provider, the appropriate security settings has to be filled in. For example for AWS you need to define the access and secret key, for GCP you need to define a service account.

A provider can be marked as temporary. This is helpful if you wish to store your recordings for a short period, and want to use it for processing purpose only. A benefit of doing this is reducing costs (if you host in the public cloud).

One or more providers can be configured to centralise your storage.

One or more providers can be configured to centralise your storage.

Queues

Events or messages are generated each time a recording was uploaded to Kerberos Storage. These messages can be send to one ore more message brokers such as Apache Kafka or AWS SQS. From the interface you can setup the connection, and once configured events will flow to your predefined message brokers.

An example or usecase of Queues is already discussed at the beginning of this page. Another usecase is the development of our Kerberos Cloud offering. Each time a Kerberos Cloud customer is sending recordings to his or her Kerberos Cloud profile, it is stored inside Kerberos Storage, and thus in one of our predefined providers. After storing successfully, a real-time message is send into our private Kafka broker, which is starting a chain of processing in sequence but also in parallel:

  • Metadata storage in MongoDB,
  • Notifications,
  • Classification with Tensorflow,
  • Counting algorithms,
  • and much more.
Kerberos Vault can be configured to send events to message brokers to create real-time apps of ML models.

Kerberos Vault can be configured to send events to message brokers to create real-time apps of ML models.

Accounts

Having setup a Provider and a Queue, you also need to configure an account to interact with Kerberos Storage in a safe context. Creating an account allow you to do this. An account is the access point for end users to interact with your Kerberos Storage instance. On the Account page you can create one or more accounts and specify credentials for authentication and specific setting for authorization.

  • Allowed providers,
  • Provider directory
  • Public Key,
  • Secret Key,
  • Day limit (the number of days a recording is stored.)

So just a short recap, an account allows something or someone to interact with Kerberos Storage, and store data in the authorized Providers and in an directory, the Provider directory, inside that Provider.

As explained before, you can choose in which directory, the Provider directory, an account can store the recordings. By defining a Provider directory you limit an account to have only access to this directory. On the other hand if you want to give an account more flexibility, and thus grant more access, you can use the * value for the Provider directory parameter. The latter will allow an account to write, in any subdirectory in the Provider.

Once an account is created it can be used in Kerberos Enterprise (and soon Kerberos Open Source) to persist your data from your Kerberos Enterprise agent into your own Provider.

One or more accounts can be created to secure your storage access.

One or more accounts can be created to secure your storage access.

Media

Once a recording is stored inside a specific Provider it will show up on the Media page. The Media page is an overview, list page, of all your recordings being uploaded to a Provider. It is used for quickly reviewing activity as for recycling, for the latter read more at the next paragraph.

All uploaded recordings are visualised through the media page.

All uploaded recordings are visualised through the media page.

Recycle

Storing recordings in a Provider is one thing, making sure you manage the storage capacity of your Provider properly is also important. Storage might need to be recycled after a while because of several reasons:

  • maybe the data is no longer relevant,
  • due to security or compliance,
  • reducing costs, etc.

To make this possible Kerberos Storage comes with a configurable recycle deployment, which you can run next to your Kerberos Storage deployment. Learn more about recycling here.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/index.html b/vault/index.html index 7168451..54cfb02 100644 --- a/vault/index.html +++ b/vault/index.html @@ -2,4 +2,4 @@ Kerberos Docs \ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/installation-cloud/index.html b/vault/installation-cloud/index.html index a115b69..7bf2042 100644 --- a/vault/installation-cloud/index.html +++ b/vault/installation-cloud/index.html @@ -39,4 +39,4 @@ kerberos-storage-6f5c877d7c-hf77p 1/1 Running 0 2d11h mongodb-55566dc65c-xgmns 2/2 Running 0 4d13h traefik-7d566ccc47-mwslb 1/1 Running 0 4d12h

Access the system

Once everything is configured correctly your cluster and DNS or /etc/hosts file, you should be able to access the Storage application. By navigating to the Storage domain storage.domain.com in your browser you will see the Storage login page showing up.

Once successfully installed Kerberos Vault, it will show you the login page.

Once successfully installed Kerberos Vault, it will show you the login page.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/installation-edge/index.html b/vault/installation-edge/index.html index 6af9915..c7f4a56 100644 --- a/vault/installation-edge/index.html +++ b/vault/installation-edge/index.html @@ -35,4 +35,4 @@ kerberos-storage-6f5c877d7c-hf77p 1/1 Running 0 2d11h mongodb-55566dc65c-xgmns 2/2 Running 0 4d13h traefik-7d566ccc47-mwslb 1/1 Running 0 4d12h

Access the system

Once everything is configured correctly your cluster and DNS or /etc/hosts file, you should be able to access the Storage application. By navigating to the Storage domain storage.domain.com in your browser you will see the Storage login page showing up.

Once successfully installed Kerberos Vault, it will show you the login page.

Once successfully installed Kerberos Vault, it will show you the login page.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/installation/index.html b/vault/installation/index.html index ef5583f..678fcc4 100644 --- a/vault/installation/index.html +++ b/vault/installation/index.html @@ -4,4 +4,4 @@ Although you might except Kubernetes at the Edge or Kubernetes in the cloud, the Kerberos Docs

Installation

Just like Kerberos Enterprise, Kerberos Vault can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.

Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.

Kerberos Vault can be installed everywhere your Kubernetes cluster can be installed.

Kerberos Vault can be installed everywhere your Kubernetes cluster can be installed.

Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.

Installation on a Kubernetes Service Provider

Installing Kerberos Vault, just like Kerberos Enterprise, on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Vault in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some kubectl apply commands.

Bring your own storage using Kerberos Vault

Bring your own storage using Kerberos Vault

Install Kerberos Vault on a Kubernetes Service Provider by following this step-by-step installation guide.

Installation in Private cloud or Baremetal

No need to install Kerberos Vault on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Vault to your surveillance infrastructure, and Kerberos Enterprise, the more benefits you will experience (low latency, low bandwidth, etc).

Store your recordings at the edge with Kerberos Vault

Store your recordings at the edge with Kerberos Vault

In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don’t be scared, it’s pretty straight forward as well. You can’t simple expect a: click, click, đź’Ą approach.

Install Kerberos Vault on a Private cloud or Baremetal by following this step-by-step installation guide.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/providers/index.html b/vault/providers/index.html index 760882b..814a3d4 100644 --- a/vault/providers/index.html +++ b/vault/providers/index.html @@ -39,4 +39,4 @@ kubectl apply -f ./storage/yaml/minio/volume.yaml servicePort: 9000

Adapt the hostname to your needs, and apply the deployment.yaml file when appropriate.

kubectl apply -f ./storage/yaml/minio/deployment.yaml
 

You should now see Minio being installed, and able to access it from your favourite web browser. You can use with the credentials you have defined in the deployment.yaml file.

When installing at the edge, the preferred installation method is MinIO.

When installing at the edge, the preferred installation method is MinIO.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/recycle/index.html b/vault/recycle/index.html index f529f71..7ecbc54 100644 --- a/vault/recycle/index.html +++ b/vault/recycle/index.html @@ -9,4 +9,4 @@ Recycling rules Different recycling rules can be configured in the Kerberos Stor --> value: "xxxxxxxxxx"

Execute following script to deploy the recycle job.

git clone https://github.com/kerberos-io/storage
 kubectl apply -f ./storage/yaml/deployment-cleanup.yaml

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file diff --git a/vault/releases/releases/index.html b/vault/releases/releases/index.html index 250f196..d517745 100644 --- a/vault/releases/releases/index.html +++ b/vault/releases/releases/index.html @@ -4,4 +4,4 @@ EULA This agreement (or “EULA”) is a legal agreement between the person, com Kerberos Docs

Releases

A license can be obtained by requesting a contract offert a cedric@verstraeten.io. Once agreed, a license will be generated on the Kerberos License server.

EULA

This agreement (or “EULA”) is a legal agreement between the person, company or organization (“You”) that has licensed a software product (Kerberos Storage) and Verstraeten.io (“Licensor” or “Application Provider”). The Product is to be obtained only through Docker Hub (https://hub.docker.com), and by obtaining a purchased license. By installing and/or using any Product provided by the Licensor, You are confirming your acceptance of this agreement and you are agreeing to become bound by the terms of this agreement.

This EULA shall apply only to a Product supplied by the Licensor herewith regardless of whether other software or platform is referred to or described herein.

The Products transacted through the Services are licensed, not sold, to You for use only under the terms of this license. The Application Provider reserves all rights not expressly granted to You. The Product that is subject to this license is referred to in this license as the “Licensed Application.” The Licensed Application is to be used on any operating system or machine (on-premise/cloud) and the aforementioned devices are referenced in this license as “Devices”.

a. Scope of License: This license granted to You for the Licensed Application by Application Provider is limited to a non-transferable license to use the Licensed Application on any Devices that You own or control and as permitted by the Usage Rules. This license does not allow You to use the Licensed Application on any Devices that You do not own or control, and You may not distribute or make the Licensed Application available over a network where it could be used by multiple devices at the same time. You may not rent, lease, lend, sell, redistribute or sublicense the Licensed Application. You may not copy (except as expressly permitted by this license and the Usage Rules), decompile, reverse engineer, disassemble, attempt to derive the source code of, modify, or create derivative works of the Licensed Application, any updates, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the licensing terms governing use of any open sourced components included with the Licensed Application). Any attempt to do so is a violation of the rights of the Application Provider and its licensors. If You breach this restriction, You may be subject to prosecution and damages. The terms of the license will govern any upgrades provided by Application Provider that replace and/or supplement the original Product, unless such upgrade is accompanied by a separate license in which case the terms of that license will govern.

b. Consent to Use of Data: You agree that Application Provider may collect and use technical data and related information, including but not limited to technical information about Your device, system and application software, and peripherals, that is gathered periodically to facilitate the provision of software updates, product support and other services to You (if any) related to the Licensed Application. Application Provider may use this information, as long as it is in a form that does not personally identify You, to improve its products or to provide services or technologies to You.

c. Termination. The license is effective until terminated by You or Application Provider. Your rights under this license will terminate automatically without notice from the Application Provider if You fail to comply with any term(s) of this license. Upon termination of the license, You shall cease all use of the Licensed Application, and destroy all copies, full or partial, of the Licensed Application.

d. Services; Third Party Materials. The Licensed Application may enable access to Application Provider’s and third party services and web sites (collectively and individually, “Services”). Use of the Services may require Internet access and that You accept additional terms of service.

You understand that by using any of the Services, You may encounter content that may be deemed offensive, indecent, or objectionable, which content may or may not be identified as having explicit language, and that the results of any search or entering of a particular URL may automatically and unintentionally generate links or references to objectionable material. Nevertheless, You agree to use the Services at Your sole risk and that the Application Provider shall not have any liability to You for content that may be found to be offensive, indecent, or objectionable.

Certain Services may display, include or make available content, data, information, applications or materials from third parties (“Third Party Materials”) or provide links to certain third party web sites. By using the Services, You acknowledge and agree that the Application Provider is not responsible for examining or evaluating the content, accuracy, completeness, timeliness, validity, copyright compliance, legality, decency, quality or any other aspect of such Third Party Materials or web sites. The Application Provider does not warrant or endorse and does not assume and will not have any liability or responsibility to You or any other person for any third-party Services, Third Party Materials or web sites, or for any other materials, products, or services of third parties. Third Party Materials and links to other web sites are provided solely as a convenience to You. Financial information displayed by any Services is for general informational purposes only and is not intended to be relied upon as investment advice. Before executing any securities transaction based upon information obtained through the Services, You should consult with a financial professional. Location data provided by any Services is for basic navigational purposes only and is not intended to be relied upon in situations where precise location information is needed or where erroneous, inaccurate or incomplete location data may lead to death, personal injury, property or environmental damage. Neither the Application Provider, nor any of its content providers, guarantees the availability, accuracy, completeness, reliability, or timeliness of stock information or location data displayed by any Services.

You agree that any Services contain proprietary content, information and material that is protected by applicable intellectual property and other laws, including but not limited to copyright, and that You will not use such proprietary content, information or materials in any way whatsoever except for permitted use of the Services. No portion of the Services may be reproduced in any form or by any means. You agree not to modify, rent, lease, loan, sell, distribute, or create derivative works based on the Services, in any manner, and You shall not exploit the Services in any unauthorized way whatsoever, including but not limited to, by trespass or burdening network capacity. You further agree not to use the Services in any manner to harass, abuse, stalk, threaten, defame or otherwise infringe or violate the rights of any other party, and that the Application Provider is not in any way responsible for any such use by You, nor for any harassing, threatening, defamatory, offensive or illegal messages or transmissions that You may receive as a result of using any of the Services.

In addition, third party Services and Third Party Materials that may be accessed from, displayed on or linked to from the Devices are not available in all languages or in all countries. The Application Provider makes no representation that such Services and Materials are appropriate or available for use in any particular location. To the extent You choose to access such Services or Materials, You do so at Your own initiative and are responsible for compliance with any applicable laws, including but not limited to applicable local laws. The Application Provider, and its licensors, reserve the right to change, suspend, remove, or disable access to any Services at any time without notice. In no event will the Application Provider be liable for the removal of or disabling of access to any such Services. The Application Provider may also impose limits on the use of or access to certain Services, in any case and without notice or liability.

e. No Warranty: You expressly acknowledge and agree that use of the licensed application is at your sole risk and that the entire risk as to satisfactory quality, performance, accuracy and effort is with you. To the maximum extent permitted by applicable law, the license application and any services performed or provided by the licensed application (“services”) are provided “as is” and “as available,” with all faults and without warranty of any kind, and application provider hereby disclaims all warranties and conditions with respect to the licensed application and any services, either express, implied or statutory, including, but not limited to, the implied warranties and/or conditions of merchantability, of satisfactory quality, of fitness for a particular purpose, of accuracy, of quiet enjoyment, and non-infringement of third party rights. Application provider does not warrant against interference with your enjoyment of the licensed application, that the functions contained in, or services performed or provided by, the licensed application will meet your requirements, that the operation of the licensed application or services will be uninterrupted or error-free, or that effects in the licensed application or services will be corrected. No oral or written information or advice given by application provider or its authorized representative shall create a warranty. Should the licensed application or services prove defective, you assume the entire cost of all necessary servicing, repair or correction. Some jurisdictions do not allow the exclusion of implied warranties or limitations on applicable statutory rights of a consumer, so the above exclusion and limitations may not apply to you.

f. Limitation of Liability. To the extent not prohibited by law, in no event shall application provider be liable for personal injury, or any incidental, special, indirect or consequential damages whatsoever, including, without limitation, damages for loss of profits, loss of data, business interruption or any other commercial damages or losses, arising out of or related to your use or inability to use the licensed application, however caused, regardless of the theory of liability (contract, tort or otherwise) and even if application provider has been advised of the possibility of such damages. Some jurisdictions do not allow the limitation of liability for personal injury, or of incidental or consequential damages, so this limitation may not apply to you.

In no event shall Application Provider’s total liability to you for all damages (other than as may be required by applicable law in cases involving personal injury) exceed the amount of fifty dollars ($50.00). The foregoing limitations will apply even if the above stated remedy fails of its essential purpose.

g. You may not use or otherwise export or re-export the Licensed Application except as authorized by United States law and the laws of the jurisdiction in which the Licensed Application was obtained. In particular, but without limitation, the Licensed Application may not be exported or re-exported (a) into any U.S. embargoed countries or (b) to anyone on the U.S. Treasury Department’s list of Specially Designated Nationals or the U.S. Department of Commerce Denied Person’s List or Entity List. By using the Licensed Application, you represent and warrant that you are not located in any such country or on any such list. You also agree that you will not use these products for any purposes prohibited by United States law, including, without limitation, the development, design, manufacture or production of nuclear, missiles, or chemical or biological weapons.

h. The Licensed Application and related documentation are “Commercial Items”, as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation”, as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States.

i. The laws of the State of Belgium, excluding its conflicts of law rules, govern this license and your use of the Licensed Application. Your use of the Licensed Application may also be subject to other local, state, national, or international laws.

Edit this page on GitHub

\ No newline at end of file +Kerberos.io \ No newline at end of file