Skip to content


Here are the detailed instructions for installation of Rafay Controller in GKE environments using terraform.

Install Rafay Controller

  • Click here to download the controller installation package to the instance

  • From your home directory, untar the package using the command below

tar -xf rafay-controller-*

  • Copy and edit the config.yaml file.
cp -rp config.yaml-tmpl config.yaml
$ vi config.yaml
  • Customize the config.yaml
    host: "" # private ip of database instance
    port: 5432
    external-database: true
generate-self-signed-certs: false         # TRUE will create self signed certs for all core endpoints. FALSE will use certs updated below.
    # add the wildcard cert and key for the star-domain only when generate-self-signed-certs is false. That is we need certs/keys for
      certificate: <wildcard cert file for>
      key: <key file for the wildcard cert of>

Creating database secrets using radm

Replace the <"public ip"> placeholder with the public ip of the database instance. Default root-user is postgres

sudo ./radm database --host <"public ip"> --kubeconfig <config file from gke cluster> --port 5432 --root-password <postgres db password> --root-user <postgres db username>
Ex: sudo ./radm database --host "" --kubeconfig gke-config.yaml --port 5432 --root-password postgres --root-user postgres

Installing rafay dependencies

Install the Rafay dependencies which are required for the controller.

sudo ./radm dependency --config config.yaml --kubeconfig <gke cluster config file>
Ex: sudo ./radm dependency --config config.yaml --kubeconfig gke-config.yaml

Installing rafay application

Install the rafay application

sudo ./radm application --config config.yaml --kubeconfig <gke cluster config file>
Ex: sudo ./radm application --config config.yaml --kubeconfig gke-config.yaml

This will bring up all Rafay services.

Note: This process will take approx 20-30 mins for all pods to be up and ready.

Before proceeding further, confirm that all pods are in running state using kubectl.

kubectl get pods -A --kubeconfig <gke cluster config file>

Accessing the console UI of the controller

Try accessing the Rafay air-gapped controller https://console. to verify that the installation was successful.

  • A screen appears similar to the image below when accessing the UI


  • Click the Sign Up link to create the first Organization of the rafay air-gapped controller

  • Register a new account for the organization as below screenshot


  • Try to login to this Organization with the newly registered account on the login screen

Uploading cluster dependencies

Run the below command to enable support for Kubernetes cluster provisioning from the Rafay air-gapped controller and upload dependencies for Kubernetes cluster provisioning to the controller.

sudo ./radm cluster --config config.yaml --kubeconfig <gke cluster config file>

Ex: sudo ./radm cluster --config config.yaml --kubeconfig gke-config.yaml

Modify the timescaledb retention period

To modify the timescaledb retention period to one day.

kubectl exec -it -n rafay-core rafay-tsdb-timescaledb-0 sh
postgres=# select get_default_retention_period();
 90 days
(1 row)

postgres=# select set_default_retention_period(1 * INTERVAL '1 day');

(1 row)

postgres=# select get_default_retention_period();
 1 day
(1 row)