Skip to main content
Version: Next

Environment Variables

Introduction

StreamPipes can be configured extensively through environment variables. The list below is aligned with the Envs definition in streampipes-commons, which is the shared source of truth for the variables used across core and extension services.

The page is grouped by operational concern rather than by source file. That makes it easier to answer the practical questions administrators usually have: which variables define instance identity, which ones control storage and transport, which ones are security-sensitive, and which ones tune runtime behavior.

Core identity and internal service endpoints

These variables define how StreamPipes identifies itself internally and how services find each other.

Env Variable NameScopeDefault ValueDescription
SP_HOSTCore + ExtensionsEmptyGeneric host override used by some deployments and wrappers.
SP_PORTCore + Extensions8030 (Core), 8090 (Ext)Generic port override used by some deployments and wrappers.
SP_CORE_SCHEMEExtensionshttpScheme used by internal clients when contacting the core service.
SP_CORE_HOSTExtensionsbackendInternal host name of the core service.
SP_CORE_PORTExtensions8030Internal port of the core service.
SP_CORE_ASSET_BASE_DIRCore${user.home}/.streampipesBase directory for core-managed asset files.
SP_EXT_ASSET_BASE_DIRExtensions${user.home}/.streampipesBase directory for extension-managed asset files.
SP_CORE_EXTENSION_TRANSPORT_MODECorehttpTransport mode used by the core when communicating with extensions.
SP_CORE_EXTENSIONS_TRANSPORT_MODE_TIMEOUT_SECONDSCore20Timeout in seconds for core-to-extension transport calls.
SP_EXTENSION_TRANSPORT_MODEExtensionshttpTransport mode used by extensions when communicating with the core.
SP_EXTENSION_REQUEST_TOPIC_PREFIXCore + Extensionssp.extensions.requestTopic prefix used for extension request messaging.
SP_SERVICE_TAGSCore + ExtensionsEmptyComma-separated service tags used during service registration and discovery.

Installation, setup, and general runtime

These variables shape first startup behavior and a few cross-cutting runtime options.

Env Variable NameScopeDefault ValueDescription
SP_DEBUGCore + ExtensionsfalseDebug mode for local development and related traffic-routing behavior.
SP_SETUP_INSTALL_PIPELINE_ELEMENTSCoreFrom DefaultEnvValues.INSTALL_PIPELINE_ELEMENTSControls whether pipeline elements are installed automatically during setup.
SP_INITIAL_WAIT_BEFORE_INSTALLATION_MSCore5000Wait time before installation tasks start.
SP_ALLOWED_UPLOAD_FILETYPESCoreEmptyComma-separated allowlist for additional uploadable file types.

Security, authentication, and initial credentials

These variables control bootstrap credentials, encryption, JWT signing, and extension-to-core authentication.

Env Variable NameScopeDefault ValueDescription
SP_INITIAL_ADMIN_EMAILCoreadmin@streampipes.apache.orgInitial administrator email for a fresh installation.
SP_INITIAL_ADMIN_PASSWORDCoreadminInitial administrator password for a fresh installation.
SP_INITIAL_SERVICE_USERCoresp-service-clientInitial technical service account used for service-to-service communication.
SP_INITIAL_SERVICE_USER_SECRETCoremy-apache-streampipes-secret-key-change-meInitial secret for the technical service account.
SP_CLIENT_USERExtensionssp-service-clientService account used by extensions or integrations to authenticate against the core.
SP_CLIENT_SECRETExtensionsmy-apache-streampipes-secret-key-change-meSecret used together with SP_CLIENT_USER.
SP_EXT_AUTH_MODEExtensionsEmptyExtension authentication mode, for example whether extension endpoints require authenticated access.
SP_ENCRYPTION_PASSCODECoreeGgemyGBoILAu3xckoIpEncryption passcode used for secret static properties and related protected values.
SP_JWT_SECRETCoreEmptyShared JWT secret used in HMAC-based signing setups.
SP_JWT_SIGNING_MODECoreEmptyJWT signing mode, typically HMAC or RSA.
SP_JWT_PRIVATE_KEY_LOCCoreEmptyPath to the JWT private key for RSA-based signing.
SP_JWT_PUBLIC_KEY_LOCExtensionsEmptyPath to the JWT public key for RSA-based verification.

OAuth and external identity providers

These variables enable OAuth-based login and define provider-specific mappings.

Env Variable NameScopeDefault ValueDescription
SP_OAUTH_ENABLEDCorefalseEnables OAuth-based login.
SP_OAUTH_REDIRECT_URICoreEmptyPublic base URL used for OAuth redirect handling.
SP_OAUTH_PROVIDER_{PROVIDER_ID}_{SETTING}CoreEmptyPattern for provider-specific OAuth configuration such as client credentials, endpoints, scopes, and claim mappings.

Typical supported provider settings include AUTHORIZATION_URI, CLIENT_NAME, CLIENT_ID, CLIENT_SECRET, FULL_NAME_ATTRIBUTE_NAME, ISSUER_URI, JWK_SET_URI, SCOPES, TOKEN_URI, USER_INFO_URI, EMAIL_ATTRIBUTE_NAME, USER_ID_ATTRIBUTE_NAME, ROLE_ATTRIBUTE_NAME, NAME, and DEFAULT_ROLES.

Storage backends

These variables configure the document store and the time-series backend used by StreamPipes.

CouchDB

Env Variable NameScopeDefault ValueDescription
SP_COUCHDB_PROTOCOLCorehttpProtocol used to access CouchDB.
SP_COUCHDB_HOSTCorecouchdbHost name of the CouchDB instance.
SP_COUCHDB_PORTCore5984Port of the CouchDB instance.
SP_COUCHDB_USERCoreadminUser name used for CouchDB access.
SP_COUCHDB_PASSWORDCoreadminPassword used for CouchDB access.

Time-series storage

Env Variable NameScopeDefault ValueDescription
SP_TS_STORAGECore + Extensions (opt)influxdbSelected time-series backend implementation.
SP_TS_STORAGE_PROTOCOLCore + Extensions (opt)httpProtocol used to access the time-series backend.
SP_TS_STORAGE_HOSTCore + Extensions (opt)influxdbHost name of the time-series backend.
SP_TS_STORAGE_PORTCore + Extensions (opt)8086Port of the time-series backend.
SP_TS_STORAGE_TOKENCore + Extensions (opt)sp-adminToken used for time-series backend access.
SP_TS_STORAGE_ORGCore + Extensions (opt)spOrganization name used by the time-series backend.
SP_TS_STORAGE_BUCKETCore + Extensions (opt)spBucket or logical storage target used by the time-series backend.
SP_TS_STORAGE_IOT_DB_SESSION_POOL_SIZECore + Extensions (opt)10Session-pool size for IoTDB-based setups.
SP_TS_STORAGE_IOT_DB_SESSION_POOL_ENABLE_COMPRESSIONCore + Extensions (opt)falseEnables compression for the IoTDB session pool.
SP_TS_STORAGE_IOT_DB_USERCore + Extensions (opt)rootUser name for IoTDB-based setups.
SP_TS_STORAGE_IOT_DB_PASSWORDCore + Extensions (opt)rootPassword for IoTDB-based setups.

For extension services, these variables are optional depending on the included extensions. The containerized InfluxDB service itself may also need service-specific variables such as DOCKER_INFLUXDB_INIT_PASSWORD and DOCKER_INFLUXDB_INIT_ADMIN_TOKEN, see the Docker Compose files for reference.

Messaging and broker configuration

These variables configure the preferred transport layer and the connection details of supported brokers.

Env Variable NameScopeDefault ValueDescription
SP_PRIORITIZED_PROTOCOLCore + ExtensionskafkaPreferred messaging layer for data exchange between services.
SP_KAFKA_RETENTION_MSCoreFrom DefaultEnvValues.SP_KAFKA_RETENTION_MS_DEFAULTRetention time for Kafka-backed topics where applicable.
SP_KAFKA_HOSTCore + ExtensionskafkaHost name of the Kafka broker.
SP_KAFKA_PORTCore + Extensions9092Port of the Kafka broker.
SP_MQTT_HOSTCore + ExtensionsmosquittoHost name of the MQTT broker.
SP_MQTT_PORTCore + Extensions1883Port of the MQTT broker.
SP_NATS_HOSTCore + ExtensionsnatsHost name of the NATS broker.
SP_NATS_PORTCore + Extensions4222Port of the NATS broker.
SP_NATS_TOKENCore + ExtensionsEmptyToken used for NATS authentication if required.
SP_PULSAR_URLCore + Extensionspulsar://localhost:6650Connection URL for Apache Pulsar.

Health checks, metrics, and polling

These variables influence monitoring endpoints, health-check cadence, and background polling behavior.

Env Variable NameScopeDefault ValueDescription
SP_PROMETHEUS_ENDPOINT_INCLUDECore + Extensionshealth,prometheusComma-separated endpoints included in Prometheus-related exposure.
SP_SETUP_PROMETHEUS_ENDPOINTCore + ExtensionsfalseEnables setup of the Prometheus endpoint during startup.
SP_HEALTH_CHECK_INTERVAL_MSCore + Extensions30000Interval between health checks.
SP_HEALTH_CHECK_INITIAL_DELAYCore + Extensions10000Initial delay before health checks begin.
SP_LOG_FETCH_INTERVAL_MSCore60000Interval for background log fetching.
SP_HEALTH_SERVICE_MAX_UNHEALTHY_TIME_MSCore60000Maximum tolerated unhealthy duration before service health is escalated.
SP_CDC_MSSQL_POLL_INTERVAL_MSExtensions1000Polling interval used by MSSQL CDC-related components.

Upload security, certificates, and protocol-specific security stores

These variables define keystore, truststore, and OPC UA-specific security behavior.

OPC UA security

Env Variable NameScopeDefault ValueDescription
SP_OPCUA_MIN_PULL_INTERVAL_MSExtensionsEmptyMinimum allowed polling interval for OPC UA reads.
SP_OPCUA_SECURITY_DIRExtensions/streampipes-security/opcuaBase directory for OPC UA security material.
SP_OPCUA_KEYSTORE_FILEExtensionskeystore.pfxOPC UA keystore file name.
SP_OPCUA_KEYSTORE_PASSWORDExtensionspasswordPassword for the OPC UA keystore.
SP_OPCUA_KEYSTORE_TYPEExtensionsPKCS12Type of the OPC UA keystore.
SP_OPCUA_KEYSTORE_ALIASExtensionsapache-streampipesAlias used inside the OPC UA keystore.
SP_OPCUA_APPLICATION_URIExtensionsurn:org:apache:streampipes:opcua:clientApplication URI used by the OPC UA client.

General keystore and truststore

Env Variable NameScopeDefault ValueDescription
SP_SECURITY_KEYSTORE_FILENAMEExtensions/streampipes-security/keystore.pfxDefault keystore filename.
SP_SECURITY_KEYSTORE_PASSWORDExtensionsEmptyPassword for the default keystore.
SP_SECURITY_KEYSTORE_TYPEExtensionsPKCS12Type of the default keystore.
SP_SECURITY_KEY_PASSWORDExtensionsEmptyPassword for the key inside the keystore if it differs from the store password.
SP_SECURITY_TRUSTSTORE_FILENAMEExtensions/streampipes-security/truststore.pfxDefault truststore filename.
SP_SECURITY_TRUSTSTORE_PASSWORDExtensionsEmptyPassword for the default truststore.
SP_SECURITY_TRUSTSTORE_TYPEExtensionsPKCS12Type of the default truststore.
SP_SECURITY_ALLOW_SELFSIGNEDExtensionsfalseWhether self-signed certificates are accepted.

PLC4X, retention, and archive behavior

These variables tune protocol-level pooling and retention/archive handling.

PLC4X connection cache

Env Variable NameScopeDefault ValueDescription
SP_PLC4X_CONN_MAX_WAIT_TIME_MSExtensions20000Maximum wait time when borrowing a PLC4X connection.
SP_PLC4X_CONN_MAX_LEASE_TIME_MSExtensions4000Maximum lease time for a PLC4X connection.

Retention and archiving

Env Variable NameScopeDefault ValueDescription
SP_RETENTION_LOCAL_DIRCore./ArchivedDataLocal directory used for archived retention data.
SP_DATALAKE_SCHEDULER_CRONCore0 1 0 * * 6Cron expression for scheduled data-lake retention jobs.
SP_RETENTION_LOG_LENGTHCore10Number of retention log entries kept.
SP_CERTIFICATE_EXPIRY_CRONCore0 2 0 * * *Cron expression for certificate-expiry checks.
SP_CERTIFICATE_EXPIRY_EMAIL_DAYSCoreEmptyNumber of days before expiry when certificate warning emails are sent.

Logging

These variables configure file and console logging behavior.

Env Variable NameScopeDefault ValueDescription
SP_LOGGING_FILE_ENABLEDCore + ExtensionsfalseEnables file-based logging.
SP_LOGGING_CONSOLE_ENABLEDCore + ExtensionstrueEnables console logging.
SP_LOGGING_FILE_PREFIXCore + ExtensionsstreampipesPrefix used for generated log files.
SP_LOGGING_FILE_DIRCore + ExtensionslogsDirectory used for file-based logs.
SP_LOGGING_FILE_PATTERNCore + Extensions%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%nLogback-style pattern used for file logging.

Load management and resource balancing

These variables influence the optional load-management features and their weighting model.

Env Variable NameScopeDefault ValueDescription
SP_CPU_RESOURCE_WEIGHTCore1.0Weight of CPU usage in load-balancing decisions.
SP_MEMORY_RESOURCE_WEIGHTCore1.0Weight of memory usage in load-balancing decisions.
SP_DIR_MEMORY_RESOURCE_WEIGHTCore1.0Weight of direct-memory usage in load-balancing decisions.
SP_BANDWIDTH_IN_RESOURCE_WEIGHTCore1.0Weight of inbound bandwidth in load-balancing decisions.
SP_BANDWIDTH_OUT_RESOURCE_WEIGHTCore1.0Weight of outbound bandwidth in load-balancing decisions.
SP_THRESHOLD_MIGRATOR_PERCENTAGECore20.0Threshold percentage used by the migrator.
SP_MIN_MIGRATOR_PERCENTAGECore20.0Minimum migrator percentage.
SP_OVERLOADED_THRESHOLD_PERCENTAGECore85Threshold from which a node is treated as overloaded.
SP_HISTORY_RESOURCE_PERCENTAGECore0.9Percentage of historical resource usage considered by the load manager.
SP_MSG_RATE_DIFFERENCE_MIGRATOR_THRESHOLDCore85Threshold for message-rate differences that trigger migration.
SP_LOAD_TARGET_STDCore25.0Target standard deviation used in load balancing.
SP_SELECTORCoreWeightedRandomSelectorSelector implementation used by the load manager.
SP_MIGRATORCoreThresholdMigratorMigrator implementation used by the load manager.
SP_LOAD_MANAGER_ENABLECorefalseEnables the load manager.

Rate limiter and memory manager

These variables tune the internal rate limiter and memory-management utilities.

Rate limiter

Env Variable NameScopeDefault ValueDescription
SP_RATE_LIMITER_DEFAULT_WARMUP_PERIODCore1000Default warmup period for the rate limiter.
SP_RATE_LIMITER_SCHEDULER_INITIAL_DELAY_SECONDSCore0Initial delay for the rate-limiter scheduler.
SP_RATE_LIMITER_SCHEDULER_PERIOD_SECONDSCore15Scheduler period for rate-limiter updates.
SP_RATE_LIMITER_STATS_RESET_THRESHOLDCore1000Threshold used for statistics reset logic.
SP_RATE_LIMITER_STATS_RESET_FACTORCore999Factor used for statistics reset logic.
SP_RATE_LIMITER_STATS_RESET_DIVISORCore1000Divisor used for statistics reset logic.
SP_RATE_LIMITER_SHUTDOWN_TIMEOUT_SECONDSCore5Shutdown timeout for the rate limiter.
SP_RATE_LIMITER_TIMEOUT_MSCore1000Timeout for rate-limiter operations.
SP_RATE_LIMITER_PERMITS_SET_PERCENTAGECore0.7Percentage used when calculating permit counts.

Memory manager

Env Variable NameScopeDefault ValueDescription
SP_MEMORY_MANAGER_DEFAULT_INITIAL_MEMORYCore1073741824Default initial memory allocation used by the memory manager.
SP_MEMORY_MANAGER_WAIT_TIMEOUT_MSCore1000Wait timeout for memory-manager coordination.
SP_MEMORY_SCHEDULER_INITIAL_DELAY_SECONDSCore0Initial delay for the memory scheduler.
SP_MEMORY_SCHEDULER_PERIOD_SECONDSCore15Scheduler period for memory checks.
SP_MEMORY_BYTES_TO_MBCore1048576Conversion factor from bytes to megabytes.
SP_MEMORY_MANAGER_SHUTDOWN_TIMEOUT_SECONDSCore5Shutdown timeout for the memory manager.
SP_MEMORY_MANAGER_USAGE_THRESHOLDCore0.9Usage threshold above which the memory manager reacts.
SP_MEMORY_WARNING_THRESHOLDCore0.8Warning threshold for memory usage.

For most non-trivial deployments, the first variables to review are the security-sensitive and identity-defining ones. In practice, that usually means:

  • SP_INITIAL_ADMIN_PASSWORD
  • SP_INITIAL_SERVICE_USER_SECRET
  • SP_CLIENT_USER
  • SP_CLIENT_SECRET
  • SP_ENCRYPTION_PASSCODE
  • SP_JWT_SECRET or the RSA key locations
  • SP_COUCHDB_PASSWORD
  • SP_TS_STORAGE_TOKEN
  • SP_OAUTH_REDIRECT_URI when OAuth is enabled

If your deployment uses container-level initialization variables for external services such as InfluxDB, those should be reviewed alongside the StreamPipes variables, even though they are not part of the shared Envs class.

Kubernetes-specific note

Some Kubernetes-based deployments auto-generate selected credentials and secrets. See the Deployment Guide for the deployment-specific behavior around generated values and secret management.