Kerberos Vault
Learn how to set up video analytics and video management with Kerberos Vault to be backed up to Filebase.

What is Kerberos Vault?

Kerberos Vault is a video surveillance landscape product that allows you to upload and store video footage on any storage provider of your choice. Kerberos Vault includes Machine Learning functionality for analyzing and processing video recordings and provides an API for custom app development.
Read below to learn how to set up video analytics and video management with Kerberos Vault to be backed up to Filebase.

Prerequisites:

  • Have your Filebase Access and Secret Keys. Learn how to view your access keys here.
  • Create a Filebase Bucket. Learn how to create a bucket here. We recommend a private bucket on the Sia network for this tutorial, since we will be saving private files that shouldn’t be accessible through public networks like IPFS or Skynet.

1. Create a new Kubernetes namespace

kubectl create namespace kerberos-vault

2. Download and install Traefik:

helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install --namespace=kerberos-vault traefik traefik/traefik

3. Download and configure your MongoDB instance.

For detailed directions, see the MongoDB guide here.

4. Download and install Kerberos Vault:

git clone https://github.com/kerberos-io/vault

5. Open the ./vault/yaml/deployment.yaml configuration file.

Edit the following lines to reflect your configuration’s Domain Name:
spec:
rules:
- host: kerberos.test.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kerberos-vault
port:
number: 80
- host: api.kerberos.test.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kerberos-vault
port:
number: 8081

6. Next, modify the MongoDB credentials in the file ./vault/yaml/mongodb.config.yaml to match your MongoDB administrator credentials.

- name: MONGODB_USERNAME
value: "root"
- name: MONGODB_PASSWORD
value: "password"

7. Create the Kubernetes config map:

kubectl apply -f ./vault/yaml/mongodb.config.yaml -n kerberos-vault

8. Install Kerberos Vault inside your cluster:

kubectl apply -f ./vault/yaml/deployment.yaml -n kerberos-vault

9. Test your configuration:

kubectl get pods
The output should resemble the following:
NAME READY STATUS RESTARTS AGE
kerberos-vault-67f64d4d75-x4cp8 1/1 Running 0 29m
mongodb-5445454pc94-kjmnds 2/2 Running 0 45m
traefik-84b9869c-84ghw 1/1 Running 0 56m

10. Navigate to your configured domain name.

You will see the Kerberos Vault login page:

11. From the Admin dashboard, select ‘Storage Providers’ on the left sidebar menu:

12. Select ‘Add Storage Provider’ in the top right corner.

13. From the ‘Storage Providers’ drop-down menu, select ‘Storj’:

This tutorial uses the Storj option as the storage provider because this allows us to specify the Filebase endpoint. The default AWS S3 configuration does not allow us to specify the Filebase endpoint and uses the AWS S3 endpoint.
Though we are using the ‘Storj’ setting, your Filebase bucket does not need to be a Storj bucket.

14. Enter the following configuration information:

  • Provider Name: Filebase
  • Bucket Name: Filebase Bucket Name
  • Region: us-east-1
  • Hostname: s3.filebase.com
  • Access Key: Filebase Access Key
  • Secret Access Key: Filebase Secret Key

15. Select ‘Validate’ to confirm the settings you configured are correct, then select ‘Add Integration’.

If you have any questions, please join our Discord server, or send us an email at [email protected]