Streamvisor Docs
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Configuration

For a complete list of configuration properties, please refer to the Configuration Reference.

Configuration properties are parsed when Streamvisor is started.

Upon changing configuration, a restart of Streamvisor is required to apply the changes.

Bootstrapping an admin user

By default, Streamvisor will boostrap an admin user with admin@example.com/streamvisor credentials. You can configure this behavior with the following properties:

STREAMVISOR_BOOTSTRAPADMIN_ENABLE=true
STREAMVISOR_BOOTSTRAPADMIN_EMAIL=admin@example.com
STREAMVISOR_BOOTSTRAPADMIN_PASSWORD=streamvisor

Bootstrapping a Pulsar environment

If you want Streamvisor to bootstrap one or multiple Pulsar environments on startup, you need to add these configuration properties:

STREAMVISOR_ENVIRONMENTS_0_NAME=playground
STREAMVISOR_ENVIRONMENTS_0_SERVICEURL=http://localhost:8080
STREAMVISOR_ENVIRONMENTS_0_BROKERURL=pulsar://localhost:6650

You can further customize the connection configuration by supplying a map of client configuration properties, e.g.:

STREAMVISOR_ENVIRONMENTS_0_CONFIGURATION_CONNECTION_TIMEOUT_MS=11111

TLS

Pulsar versions <=3.1.0, <=3.0.1, <=2.11.3 are affected with a bug when TLS is enabled and will need the following property to be set:

# Port must match `webServicePortTls` in Pulsar proxy.conf/broker.conf
STREAMVISOR_PULSAR_CONNECTION_LOOKUPSERVICEPORT_OVERRIDE=8081

To enable TLS, configure the following properties:

STREAMVISOR_ENVIRONMENTS_0_CONFIGURATION_TLS_TRUST_CERTS_FILE_PATH=/path/to/tls-certs/ca.cert.pem
STREAMVISOR_ENVIRONMENTS_0_CONFIGURATION_TLS_ALLOW_INSECURE_CONNECTION=false
STREAMVISOR_ENVIRONMENTS_0_CONFIGURATION_TLS_HOSTNAME_VERIFICATION_ENABLE=false

Authentication

If you have authentication enabled on your Pulsar cluster, you will need to configure Streamvisor using the following properties:

STREAMVISOR_ENVIRONMENTS_0_CONFIGURATION_AUTH_PLUGIN_CLASS_NAME=org.apache.pulsar.client.impl.auth.AuthenticationTls
STREAMVISOR_ENVIRONMENTS_0_CONFIGURATION_AUTH_PARAMS=tlsCertFile:/path/to/tls-certs/client.cert.pem,tlsKeyFile:/path/to/tls-certs/client.key-pk8.pem

Enabling RBAC

If you want to enforce permissions on your Pulsar resources and Streamvisor configurations, you can enable RBAC with the following property:

STREAMVISOR_RBAC_ENABLE=true

Configuring SSO with an OAuth provider

To allow your users to sign in with an SSO provider, you need to add your provider information using the following properties:

STREAMVISOR_SSO_OAUTH_PROVIDERS_KEYCLOAK_CLIENTID=<client ID>
STREAMVISOR_SSO_OAUTH_PROVIDERS_KEYCLOAK_ISSUERURI=http://localhost:7777/realms/master
STREAMVISOR_SSO_OAUTH_PROVIDERS_KEYCLOAK_SCOPES=openid,profile,email

If you also want to activate group mapping, you need to set the following property:

STREAMVISOR_SSO_OAUTH_PROVIDERS_KEYCLOAK_GROUPSCLAIM=roles

Using PostgreSQL for persistence

Streamvisor supports using PostgreSQL instead of the default filesystem storage for persistence. Before configuring Streamvisor, you will have to create a database for it in PostgreSQL:

psql -U postgres -d postgres <<EOF
CREATE DATABASE streamvisor;
EOF

Then configure the connection to PostgreSQL by setting the following properties:

STREAMVISOR_PERSISTENCE_URL=jdbc:postgresql://127.0.0.1:5432/streamvisor
STREAMVISOR_PERSISTENCE_DRIVERCLASSNAME=org.postgresql.Driver
STREAMVISOR_PERSISTENCE_USERNAME=postgres
STREAMVISOR_PERSISTENCE_PASSWORD=postgres