Skip to main content
Version: Next

Environment Variables

Introduction

A StreamPipes installation can be configured in many ways by providing environment variables. The following lists describe available environment variables along with a description.

StreamPipes Core Service

Internal

Env Variable NameDefault ValueDescription
SP_DEBUGfalseShould only be set for local development to reroute traffic to localhost
SP_INITIAL_ADMIN_EMAILadmin@streampipes.apache.orgInstallation-time variable for defining the default user name
SP_INITIAL_ADMIN_PASSWORDadminInstallation-time variable for defining the default user password
SP_INITIAL_SERVICE_USERsp-service-clientInstallation-time variable for defining the initial service user (must be same to the configured user in the extension service)
SP_INITIAL_SERVICE_USER_SECRETmy-apache-streampipes-secret-key-change-meInstallation-time variable for defining the initial service secret (minimum 35 chars)
SP_JWT_SECRETEmpty for Docker, Auto-generated for K8sJWT secret, base64-encoded, minimum 256 bits
SP_JWT_SIGNING_MODEHMACHMAC or RSA, RSA can be used to authenticate Core-Extensions communication
SP_JWT_PRIVATE_KEY_LOCEmptyRequired id SP_JWT_SIGNING_MODE=RSA, path to the private key, can be generated in the UI (Settings->Security->Generate Key Pair)
SP_ENCRYPTION_PASSCODEeGgemyGBoILAu3xckolp for Docker, Auto-generated for K8sEncryption passcode for SecretStaticProperties
SP_PRIORITIZED_PROTOCOLkafkaMessaging layer for data exchange between extensions

Third-party services

Env Variable NameDefault ValueDescription
SP_COUCHDB_HOSTcouchdbThe hostname or IP of the CouchDB database
SP_COUCHDB_PROTOCOLhttpThe protocol (http or https) of the CouchDB database
SP_COUCHDB_PORT5984The port of the CouchDB database
SP_COUCHDB_USERadminThe user of the CouchDB database (must have permissions to add databases)
SP_COUCHDB_PASSWORDadminThe password of the CouchDB user
SP_TS_STORAGE_HOSTinfluxdbThe hostname of the timeseries storage (currently InfluxDB)
SP_TS_STORAGE_PORT8086The port of the timeseries storage
SP_TS_STORAGE_PROTOCOLhttpThe protocol of the timeseries storage (http or https)
SP_TS_STORAGE_BUCKETspThe InfluxDB storage bucket name
SP_TS_STORAGE_ORGspThe InfluxDB storage org
SP_TS_STORAGE_TOKENsp-adminThe InfluxDB storage token

The InfluxDB itself can be configured by providing the variables DOCKER_INFLUXDB_INIT_PASSWORD and DOCKER_INFLUXDB_INIT_ADMIN_TOKEN. See the docker-compose file for details.

StreamPipes Extensions Service

Internal

Env Variable NameDefault ValueDescription
SP_CLIENT_USEREmptyService account for communication with Core
SP_CLIENT_SECRETEmptyService secret for communication with Core
SP_EXT_AUTH_MODEsp-service-clientWhen set to AUTH: all interfaces are only accessible with authentication (requires SP_JET_PRIVATE_KEY_LOC in Core)
SP_JWT_PUBLIC_KEY_LOCmy-apache-streampipes-secret-key-change-mePath to the public key of the corresponding SP_JWT_PRIVATE_KEY defined in Core

Third-party services

The following variables are only required for extensions which require access to the internal time-series storage (the Data Lake Sink).

Env Variable NameDefault ValueDescription
SP_TS_STORAGE_HOSTinfluxdbThe hostname of the timeseries storage (currently InfluxDB)
SP_TS_STORAGE_PORT8086The port of the timeseries storage
SP_TS_STORAGE_PROTOCOLhttpThe protocol of the timeseries storage (http or https)
SP_TS_STORAGE_BUCKETspThe InfluxDB storage bucket name
SP_TS_STORAGE_ORGspThe InfluxDB storage org
SP_TS_STORAGE_TOKENsp-adminThe InfluxDB storage token

For a standard deployment, it is recommended to customize the following variables:

  • Initiales Admin-Passwort (SP_INITIAL_ADMIN_PASSWORD, Core)
  • Initiales Client Secret (SP_INITIAL_SERVICE_USER_SECRET, Core)
  • Client Secret Extensions (SP_CLIENT_USER, Extensions)
  • Encryption Passcode (SP_ENCRYPTION_PASSCODE, Core)
  • CouchDB-Password (SP_COUCHDB_PASSWORD, Core + Extensions + CouchDB)
  • InfluxDB Storage Password (DOCKER_INFLUXDB_INIT_PASSWORD, InfluxDB)
  • InfluxDB Storage Token (SP_TS_STORAGE_TOKEN (Core, Extensions)
  • DOCKER_INFLUXDB_INIT_ADMIN_TOKEN (InfluxDB service)

Auto-generation of variables in K8s setups

See the Kubernetes Guide for an overview of auto-generated variables.