4.3
Multi cluster

A portal to monitor the health and performance across a number of Lenses’ deployments of Apache Kafka.
Quickstart
- Download, extract and run 
bin/lensesio-portalon a Linux 64bit machine. - Access http://localhost:3000 and start adding workspaces.
 
By default, state is stored in a .db file as an embedded SQLite database.
Add workspaces
- On the Lenses instance create a new group with read-only permissions and a service account.
 - On the portal add a new workspace with the url, port, service account and token.
 
Production Multi-Cluster Kafka monitoring
We recommend using a Postgres database for production deployments.
Create a DB lensesioportal and export the following environment variables before startup:
LENSES_DB_TYPE="postgress"
LENSES_DB_HOST="localhost"
LENSES_DB_PORT=5432
LENSES_DB_NAME="lensesioportal"
LENSES_DB_USERNAME="<db-username>"
LENSES_DB_PASSWORD="<db-password>"
For security, service account tokens can be encrypted when stored in the DB, either via local encryption, or using Vault.
Local secret encryption
Pick an 32-bytes long key i.e. thisisasecretof32byteslengthsize encode it in base64 and export the following env variables:
LENSES_SECRETS_TYPE="local"
LENSES_SECRETS_SECRET="your-base64-encoded-key-of-length-32-bytes"
Hashicorp Vault secret encryption
Use these parameters to enable Vault Transit secrets for the encryption of sensitive data:
LENSES_SECRETS_TYPE="vault"
LENSES_SECRETS_SECRET="<the-key-name-in-vault-transit-engine>"
LENSES_SECRETS_VAULT_HOST="<http://<your-vault-instance>"
LENSES_SECRETS_VAULT_TOKEN="<http://<your-vault-token>"
HTTP settings
Following settings control the binding address, port and CORS options:
LENSES_HTTP_ADDRESS=":3000"
LENSES_HTTP_CORS_ENABLE=true
LENSES_HTTP_CORS_ORIGIN="*"
YAML configuration file
Create a file config.yaml:
http:
  address: ":3000"
  cors:
    enable: true
    origin: "*"
secrets:
  type: "local"
  secret: "<your-base64-encoded-key-of-length-32-bytes>"
db:
  type: "postgres"
  host: "localhost"
  port: 5432
  name: "multicluster"
  username: "<your-db-username>"
  password: "<your-db-password>"
