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 Name | Default Value | Description |
---|---|---|
SP_DEBUG | false | Should only be set for local development to reroute traffic to localhost |
SP_INITIAL_ADMIN_EMAIL | admin@streampipes.apache.org | Installation-time variable for defining the default user name |
SP_INITIAL_ADMIN_PASSWORD | admin | Installation-time variable for defining the default user password |
SP_INITIAL_SERVICE_USER | sp-service-client | Installation-time variable for defining the initial service user (must be same to the configured user in the extension service) |
SP_INITIAL_SERVICE_USER_SECRET | my-apache-streampipes-secret-key-change-me | Installation-time variable for defining the initial service secret (minimum 35 chars) |
SP_JWT_SECRET | Empty for Docker, Auto-generated for K8s | JWT secret, base64-encoded, minimum 256 bits |
SP_JWT_SIGNING_MODE | HMAC | HMAC or RSA, RSA can be used to authenticate Core-Extensions communication |
SP_JWT_PRIVATE_KEY_LOC | Empty | Required id SP_JWT_SIGNING_MODE=RSA, path to the private key, can be generated in the UI (Settings->Security->Generate Key Pair) |
SP_ENCRYPTION_PASSCODE | eGgemyGBoILAu3xckolp for Docker, Auto-generated for K8s | Encryption passcode for SecretStaticProperties |
SP_PRIORITIZED_PROTOCOL | kafka | Messaging layer for data exchange between extensions |
Third-party services
Env Variable Name | Default Value | Description |
---|---|---|
SP_COUCHDB_HOST | couchdb | The hostname or IP of the CouchDB database |
SP_COUCHDB_PROTOCOL | http | The protocol (http or https) of the CouchDB database |
SP_COUCHDB_PORT | 5984 | The port of the CouchDB database |
SP_COUCHDB_USER | admin | The user of the CouchDB database (must have permissions to add databases) |
SP_COUCHDB_PASSWORD | admin | The password of the CouchDB user |
SP_TS_STORAGE_HOST | influxdb | The hostname of the timeseries storage (currently InfluxDB) |
SP_TS_STORAGE_PORT | 8086 | The port of the timeseries storage |
SP_TS_STORAGE_PROTOCOL | http | The protocol of the timeseries storage (http or https) |
SP_TS_STORAGE_BUCKET | sp | The InfluxDB storage bucket name |
SP_TS_STORAGE_ORG | sp | The InfluxDB storage org |
SP_TS_STORAGE_TOKEN | sp-admin | The 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 Name | Default Value | Description |
---|---|---|
SP_CLIENT_USER | Empty | Service account for communication with Core |
SP_CLIENT_SECRET | Empty | Service secret for communication with Core |
SP_EXT_AUTH_MODE | sp-service-client | When set to AUTH: all interfaces are only accessible with authentication (requires SP_JET_PRIVATE_KEY_LOC in Core) |
SP_JWT_PUBLIC_KEY_LOC | my-apache-streampipes-secret-key-change-me | Path 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 Name | Default Value | Description |
---|---|---|
SP_TS_STORAGE_HOST | influxdb | The hostname of the timeseries storage (currently InfluxDB) |
SP_TS_STORAGE_PORT | 8086 | The port of the timeseries storage |
SP_TS_STORAGE_PROTOCOL | http | The protocol of the timeseries storage (http or https) |
SP_TS_STORAGE_BUCKET | sp | The InfluxDB storage bucket name |
SP_TS_STORAGE_ORG | sp | The InfluxDB storage org |
SP_TS_STORAGE_TOKEN | sp-admin | The InfluxDB storage token |
Recommended variables
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.