Skip to content

Deployment Prerequisites

This guide will provide the common deployment prerequisites for all the sensors.

Pre-Requisites

Kubernetes Cluster

The Pulse Sensor is deployed as a Kubernetes deployment and can be deployed in any Kubernetes cluster (Docker Desktop / Kind / Minikube/ etc - Version 1.23.x and above) either on a Cloud Provider or a Developer machine.

Create Namespace for Pulse Sensor Deployment

Create a new namespace: to deploy Pulse Sensor objects into. Ensure all the configurations for the sensor yaml files use the same namespace.

kubectl create namespace <tenant-id>

Deploy Pulse CRDs

Deploy the latest CRDs for the Pulse Platform. The CRDs can be found here: Sensor-CRD

kubectl apply -f sensor-crd.yaml

Note

The CRDs are required for the Pulse Sensor to be deployed successfully. Ensure the namespace matches the namespace used for the Pulse Sensor deployment in step above.

Create a Stream API Key

API key needs to be generate for the stream API REST endpoint to be used in the Sensor configuration. This can be generated using the credentials to login to the Pulse Dashboard (emailid + password).

The API key is used to authenticate communication between the sensor and the Pulse API Endpoint. Optionally the API key can be used to authenticate communication between the sensor and the Pulse Forwarding proxy.

The following steps can be used to generate the API key for the two options:

Use a REST client (ex: Postman/ARC/curl) to initiate a request:

  1. Request Type: POST
  2. URI: (api-URL)/auth/login
  3. Request Body:
    {
      "username": "<email-id>",
      "password": "<password>"
    }
    
  4. Content-type: application/json
  5. Response (success):
    {
      "orcas-token": "TOKEN"
    }
    
  6. Response (failure):
    {
      "error": "Invalid request"
    }
    

Use the TOKEN from step 5. above to authenticate requests for API operations.


Create random shared secret that is shared between the sensor and the Pulse Forwarding Proxy. The shared secret is used to authenticate communication between the sensor and the Pulse Forwarding Proxy.

The shared secret can be generated using the following command:

openssl rand -base64 32

Use the shared secret from the command above to authenticate requests for API operations.


Download Sensor Docker Image

Download docker image (can be skipped if external repositories are open for the end user's Kubernetes installation) and upload to internal repo.

Pulse Sensor image tag: registry.gitlab.com/orcasio/platform/orcas-pulse:latest

Deploy Pulse Sensor Controller

Deploy the Pulse Sensor Controller to the cluster. The controller deployment configuration can be found here: Sensor-Controller

Note

Ensure all TODOs in the file are completed before applying the configuration to the cluster.

kubectl apply -f sensor-controller.yaml

Note

The controller is required for the Pulse Sensor to be deployed successfully. Ensure the namespace matches the namespace used for the Pulse Sensor deployment in step above.