ETL Controller Installation
Please note that the ETL Controller feature is only available on the Enterprise plan. Contact us to enable the ETL Controller feature for your organization.
Follow these installation instructions to deploy the ETL Controller in your environment, either on Kubernetes or Docker.
Kubernetes
There are two ways to deploy the ETL Controller on Kubernetes.
Install using Helm
To install our Helm chart, execute according to your Helm version:
- Helm v3
- Helm v2
helm repo add rookout https://helm-charts.rookout.com
helm repo update
helm install --name my-controller rookout/controller --set controller.token=[Your Rookout Token]
helm repo add rookout https://helm-charts.rookout.com
helm repo update
helm install my-controller rookout/controller --set controller.token=[Your Rookout Token]
Install without Helm
If you're not using Helm with your Kubernetes cluster, you'll still be able to deploy the Controller.
Helm is needed to be installed locally (Helm) in order to create the yaml file from the templates.
First, Clone our Helm charts repository and go to the directory called "charts/controller".
Next, execute according to your Helm version:
- Helm v3
- Helm v2
helm template . --set controller.token=[Your Rookout Token] --name=my-controller > rookout-controller.yaml
helm template my-controller . --set controller.token=[Your Rookout Token] > rookout-controller.yaml
This command should create a file called "rookout-controller.yaml" including the Kubernetes deployment and service configuration.
To apply the configuration, execute:
kubectl apply -f rookout-controller.yaml
Docker
To deploy the Controller as a Docker container (using this image), execute the following:
docker run -p 7488:7488 -e "ROOKOUT_TOKEN=[Your Rookout Token]" rookout/controller
Next Steps
The instructions above describe how to deploy the Controller with the most basic configuration.
When the Controller successfully connects to Rookout, it should appear in the Rookout app under Settings > Connected Applications > Controllers.
To connect Rookout SDK instances to the ETL Controller, set ROOKOUT_CONTROLLER_HOST
and ROOKOUT_CONTROLLER_PORT
environment variables for the SDK (or use per-SDK start function parameters).
ROOKOUT_CONTROLLER_HOST
should start with ws://
for unencrypted connections (when using the Controller's PLAIN
server mode without a TLS termination proxy) or wss://
for encrypted connections (using TLS
mode or a TLS termination proxy).
To further configure your Controller installation:
- Kubernetes - add configuration values to the
values.yaml
file or the installation command using--set
. - Docker - add configuration values as environment variables using the
-e
flag.
Read more about encryption, and all other configuration values here.