Manual installation

Installation in a Kubernetes cluster.

The prefferred way is to deploy via Helm package.

Connect to a cluster

Have access to a Kubernetes cluster

You need to have a Kubernetes cluster.

  • for Azure cloud, run “az aks …”

  • for a self-hosted cluster, obtain a valid and working kubeconfig file

Configure kubectl to talk with the correct cluster

You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.

You can do this by

  • Merging new kubeconfig with your existing ~/.kube/config

    # Make a copy of your existing config
    $ cp ~/.kube/config ~/.kube/config.bak
    # Merge the two config files together into a new config file
    $ export KUBECONFIG=~/.kube/config:/path/to/new/config; kubectl config view  --flatten > /tmp/config
    # Replace your old config with the new merged config
    $ mv /tmp/config ~/.kube/config
    # (optional) Delete the backup once you confirm everything worked ok
    $ rm ~/.kube/config.bak
  • Appending a new kubeconfig to the KUBECONFIG environment variable

    export KUBECONFIG=$KUBECONFIG:path/to/new/config


    The KUBECONFIG variable does not automatically contain your ~/.kube/config. When the variable exists, the kubectl command consults only it and ignores your ~/.kube/config. To add your kubeconfig to the list:

    export KUBECONFIG=$KUBECONFIG:~/.kube/config:path/to/new/config
  • Replacing the KUBECONFIG environment variable

    export KUBECONFIG=path/to/new/config
  • Passing the --kubectl path/to/new/config parameter to every kubectl command.

Ensure you have a new cluster accessible

$ kubectl config view

will list the new cluster and context, e.g.

apiVersion: v1
- cluster:
    certificate-authority-data: DATA+OMITTED
  name: demo-fs
- context:
    namespace: default
    user: frontstage-default-user
  name: demo-fs

Switch kubectl to the correct context

kubectl config use-context demo-fs

Attach container registry

The cluster needs access to the container registry storing FrontStage OCI images.

Prepare database

DB is not recommended to run on Kubernetes.

Continue by steps either for SQL Server or PostgreSQL.

All FrontStage components share a single database that you need to create. A database connection string will be passed to pods as an environment variable.

Prepare a PostgreSQL database

Create Kubernetes objects

Get Kubernetes manifest files and customize them to suit your environment:

  • namespace

  • set a connection string to the database

By applying Kubernetes manifest files:

kubectl apply -f ...

Install Ingress Controller

In the “nginx-ingress” namespace.


There are two Ingress Controllers based on the NGINX server. The recommended and tested one is NGINX Ingress Controller, the open-source straight from the Kubernetes community. You might also come across “F5 Ingress Ingress Controller” from F5, Inc., the company behind the NGINX server.