Installing to Kubernetes

Learn how to install the On-Prem / Private Cloud version of Robomotion

In order to install On-Prem / Private Cloud version of Robomotion, you will need access to a Kubernetes cluster. This can be a local cluster setup with microk8s / minikube or this can be a managed Kubernetes cluster service provided by cloud vendors like Digital Ocean, Google GKE, Microsoft AKS or Amazon EKS.

  1. Clone the Robomotion charts repository

$ git clone https://github.com/robomotionio/robomotion-charts.git
$ cd robomotion-charts
$ helm dep update

2. Setup a DNS domain for your public IP address, here we will use rpa.acme.inc as demonstration purposes.

If you are installing into a local machine. You can use /etc/hosts file on Unix systems or C:\Windows\System32\drivers\etc\hosts file on Windows.

Without TLS

3. Install the charts with helm. acme following the install command is the name of release we picked for this example.

$ helm install acme \
--set ingress.hosts[0].name=rpa.acme.inc \
--set ingress.hosts[0].tls=false \
.

We strongly recommend you install your setup with TLS support. Installation without TLS support is not recommended!

With TLS

Option 1: Let's Encrypt

Robomotion helm charts supports Let's Encrypt to auto generate your TLS certificates.

Before using cert-manager setup

  1. kubectl label namespace default certmanager.k8s.io/disable-validation="true"

3. Now you can install the helm chart

$ helm install mos \
--set ingress.hosts[0].name=rpa.acme.inc \
--set ingress.hosts[0].tls=true \
--set ingress.hosts[0].tlsSecret=rpa-acme-inc-crt \
--set certmanager.enabled=true \
--set certmanager.email=john.doe@acme.inc \
.

Option 2: Custom TLS

3. Add your full certificate chain to the cluster as a Secret

$ kubectl create secret tls rpa-acme-inc-crt \
--cert=path-to-certificate.crt \
--key=path-to-key

4. Now you can install the helm chart

$ helm install mos \
--set ingress.hosts[0].name=rpa.acme.inc \
--set ingress.hosts[0].tls=true \
--set ingress.hosts[0].tlsSecret=rpa-acme-inc-crt \
--set certmanager.enabled=false \
.