Installation

The application is made to run on a Kubernetes cluster. There are a few things you need to have in order to deploy it.

  1. Persistent Volume - In order for the management pod to store the rules (data) in case of a failure or restart. Workers don’t have persistent volumes. They sync their data from the management pod.
  2. Role bindings - Needed because the application must know of worker and management pods. The following permissions are needed for a Role resource:
resources verbs
endpoints get, list, watch
pods get, list, watch

You would be able to find all the .yaml configuration files in the Redirectory repository.

Installation manually

This installation method is NOT recommended! All of the needed configuration files are located under the folder:

$ redirectory/conf/kubernetes

You will have to apply all the files manually to your cluster with the following command:

$ kubectl apply -f management_ingress.yaml
$ kubectl apply -f management_svc.yaml -f worker_svc.yaml
... and so on

You may or may not need to edit the configuration files to fit your particular setup.

Installation with HELM

To make the installation easier we are making use of HELM. It is a soft of package manager for Kubernetes but more like a templating engine for Kubernetes .yaml configuration files.

If you are not familiar with HELM please take a look at theirs documentation on how to use it: HELM docs

Warning

Before continuing make sure you have HELM installed on your kubernetes cluster. Also make sure you have the Docker images available

Install

Install Redirectory and creates all the needed resources for it from scratch.

$ helm install --name=redirectory redirectory/conf/helm

Update

Updates only the resources/things that have changes since the last update or install of Redirectory

$ helm upgrade redirectory redirectory/conf/helm

Delete

Deletes Redirectory from the Kubernetes cluster.

Warning

When deleting the application like this it will also DELETE ALL it’s data. You will not be able to get the data back.

$ helm delete --purge redirectory