- Spring common parameters
- Server common parameters
- Zookeeper connection parameters. Used for service discovery.
- Cache parameters
- Redis configuration parameters
- LWM2M server parameters
- Queue configuration properties
- Service common parameters
- Usage statistics parameters
- Metrics parameters
- General management parameters
- Notification system parameters
Spring common parameters
Parameter | Environment Variable | Default Value | Description |
spring.main.web-environment | WEB_APPLICATION_ENABLE | false | If you enabled process metrics you should also enable 'web-environment'. |
spring.main.web-application-type | WEB_APPLICATION_TYPE | none | If you enabled process metrics you should set 'web-application-type' to 'servlet' value. |
spring.main.allow-circular-references | "true" | Spring Boot configuration property that controls whether circular dependencies between beans are allowed. |
Server common parameters
Parameter | Environment Variable | Default Value | Description |
server.address | HTTP_BIND_ADDRESS | 0.0.0.0 | Server bind address (has no effect if web-environment is disabled). |
server.port | HTTP_BIND_PORT | 8083 | Server bind port (has no effect if web-environment is disabled). |
Zookeeper connection parameters. Used for service discovery.
Parameter | Environment Variable | Default Value | Description |
zk.enabled | ZOOKEEPER_ENABLED | false | Enable/disable zookeeper discovery service. |
zk.url | ZOOKEEPER_URL | localhost:2181 | Zookeeper connect string |
zk.retry_interval_ms | ZOOKEEPER_RETRY_INTERVAL_MS | 3000 | Zookeeper retry interval in milliseconds |
zk.connection_timeout_ms | ZOOKEEPER_CONNECTION_TIMEOUT_MS | 3000 | Zookeeper connection timeout in milliseconds |
zk.session_timeout_ms | ZOOKEEPER_SESSION_TIMEOUT_MS | 3000 | Zookeeper session timeout in milliseconds |
zk.zk_dir | ZOOKEEPER_NODES_DIR | /thingsboard | Name of the directory in zookeeper 'filesystem' |
zk.recalculate_delay | ZOOKEEPER_RECALCULATE_DELAY_MS | 0 | The recalculate_delay property is recommended in a microservices architecture setup for rule-engine services. This property provides a pause to ensure that when a rule-engine service is restarted, other nodes don't immediately attempt to recalculate their partitions. The delay is recommended because the initialization of rule chain actors is time-consuming. Avoiding unnecessary recalculations during a restart can enhance system performance and stability. |
Cache parameters
Parameter | Environment Variable | Default Value | Description |
cache.type | CACHE_TYPE | redis | caffeine or redis |
cache.entityLimits.timeToLiveInMinutes | CACHE_SPECS_ENTITY_LIMITS_TTL | 5 | Entity limits cache TTL |
cache.entityLimits.maxSize | CACHE_SPECS_ENTITY_LIMITS_MAX_SIZE | 100000 | 0 means the cache is disabled |
Redis configuration parameters
Parameter | Environment Variable | Default Value | Description |
redis.connection.type | REDIS_CONNECTION_TYPE | standalone | standalone or cluster or sentinel |
redis.standalone.host | REDIS_HOST | localhost | Redis connection host |
redis.standalone.port | REDIS_PORT | 6379 | Redis connection port |
redis.standalone.useDefaultClientConfig | REDIS_USE_DEFAULT_CLIENT_CONFIG | true | Use default Redis configuration file |
redis.standalone.clientName | REDIS_CLIENT_NAME | standalone | this value may be used only if you used not default ClientConfig |
redis.standalone.connectTimeout | REDIS_CLIENT_CONNECT_TIMEOUT | 30000 | this value may be used only if you used not default ClientConfig |
redis.standalone.readTimeout | REDIS_CLIENT_READ_TIMEOUT | 60000 | this value may be used only if you used not default ClientConfig |
redis.standalone.usePoolConfig | REDIS_CLIENT_USE_POOL_CONFIG | false | this value may be used only if you used not default ClientConfig |
redis.cluster.nodes | REDIS_NODES | Comma-separated list of "host:port" pairs to bootstrap from. | |
redis.cluster.max-redirects | REDIS_MAX_REDIRECTS | 12 | Maximum number of redirects to follow when executing commands across the cluster. |
redis.cluster.useDefaultPoolConfig | REDIS_USE_DEFAULT_POOL_CONFIG | true | if set false will be used pool config build from values of the pool config section |
redis.sentinel.master | REDIS_MASTER | name of master node | |
redis.sentinel.sentinels | REDIS_SENTINELS | comma-separated list of "host:port" pairs of sentinels | |
redis.sentinel.password | REDIS_SENTINEL_PASSWORD | password to authenticate with sentinel | |
redis.sentinel.useDefaultPoolConfig | REDIS_USE_DEFAULT_POOL_CONFIG | true | if set false will be used pool config build from values of the pool config section |
redis.db | REDIS_DB | 0 | db index |
redis.password | REDIS_PASSWORD | db password | |
redis.ssl.enabled | TB_REDIS_SSL_ENABLED | false | Enable/disable secure connection |
redis.ssl.credentials.cert_file | TB_REDIS_SSL_PEM_CERT | Path redis server (CA) certificate | |
redis.ssl.credentials.user_cert_file | TB_REDIS_SSL_PEM_KEY | Path to user certificate file. This is optional for the client and can be used for two-way authentication for the client | |
redis.ssl.credentials.user_key_file | TB_REDIS_SSL_PEM_KEY_PASSWORD | Path to user private key file. This is optional for the client and only needed if ‘user_cert_file’ is configured. | |
redis.pool_config.maxTotal | REDIS_POOL_CONFIG_MAX_TOTAL | 128 | Maximum number of connections that can be allocated by the connection pool |
redis.pool_config.maxIdle | REDIS_POOL_CONFIG_MAX_IDLE | 128 | Maximum number of idle connections that can be maintained in the pool without being closed |
redis.pool_config.minIdle | REDIS_POOL_CONFIG_MIN_IDLE | 16 | Minumum number of idle connections that can be maintained in the pool without being closed |
redis.pool_config.testOnBorrow | REDIS_POOL_CONFIG_TEST_ON_BORROW | true | Enable/Disable PING command send when a connection is borrowed |
redis.pool_config.testOnReturn | REDIS_POOL_CONFIG_TEST_ON_RETURN | true | The property is used to specify whether to test the connection before returning it to the connection pool. |
redis.pool_config.testWhileIdle | REDIS_POOL_CONFIG_TEST_WHILE_IDLE | true | The property is used in the context of connection pooling in Redis |
redis.pool_config.minEvictableMs | REDIS_POOL_CONFIG_MIN_EVICTABLE_MS | 60000 | Minimum amount of time that an idle connection should be idle before it can be evicted from the connection pool. Value set in milliseconds |
redis.pool_config.evictionRunsMs | REDIS_POOL_CONFIG_EVICTION_RUNS_MS | 30000 | Specifies the time interval in milliseconds between two consecutive eviction runs |
redis.pool_config.maxWaitMills | REDIS_POOL_CONFIG_MAX_WAIT_MS | 60000 | Maximum time in milliseconds where a client is willing to wait for a connection from the pool when all connections are exhausted |
redis.pool_config.numberTestsPerEvictionRun | REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN | 3 | Specifies the number of connections to test for eviction during each eviction run |
redis.pool_config.blockWhenExhausted | REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED | true | Determines the behavior when a thread requests a connection from the pool but there are no available connections and the pool cannot create more due to the maxTotal configuration |
LWM2M server parameters
Parameter | Environment Variable | Default Value | Description |
transport.sessions.inactivity_timeout | TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT | 600000 | Session inactivity timeout is a global configuration parameter that defines how long the device transport session will be opened after the last message arrives from the device. The parameter value is in milliseconds. The last activity time of the device session is updated if the device sends any message, including keepalive messages If there is no activity, the session will be closed, and all subscriptions will be deleted. We recommend this parameter to be in sync with device inactivity timeout ("state.defaultInactivityTimeoutInSec" or DEFAULT_INACTIVITY_TIMEOUT) parameter which is responsible for detection of the device connectivity status in the core service of the platform. The value of the session inactivity timeout parameter should be greater or equal to the device inactivity timeout. Note that the session inactivity timeout is set in milliseconds while device inactivity timeout is in seconds. |
transport.sessions.report_timeout | TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT | 3000 | Interval of periodic check for expired sessions and report of the changes to session last activity time |
transport.json.type_cast_enabled | JSON_TYPE_CAST_ENABLED | false | Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON |
transport.json.max_string_value_length | JSON_MAX_STRING_VALUE_LENGTH | 0 | Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check) |
transport.client_side_rpc.timeout | CLIENT_SIDE_RPC_TIMEOUT | 60000 | Processing timeout interval of the RPC command on the CLIENT SIDE. Time in milliseconds |
transport.log.enabled | TB_TRANSPORT_LOG_ENABLED | true | Enable/Disable log of transport messages to telemetry. For example, logging of LwM2M registration update |
transport.log.max_length | TB_TRANSPORT_LOG_MAX_LENGTH | 1024 | Maximum length of the log message. The content will be truncated to the specified value if needed |
transport.lwm2m.enabled | LWM2M_ENABLED | true | Enable/disable lvm2m transport protocol. |
transport.lwm2m.dtls.retransmission_timeout | LWM2M_DTLS_RETRANSMISSION_TIMEOUT_MS | 9000 | RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000 |
transport.lwm2m.dtls.connection_id_length | LWM2M_DTLS_CONNECTION_ID_LENGTH | CoAP DTLS connection ID length for LWM2M. RFC 9146, Connection Identifier for DTLS 1.2 Default: off Control usage of DTLS connection ID length (CID). - 'off' to deactivate it. - 'on' to activate Connection ID support (same as CID 0 or more 0). - A positive value defines generated CID size in bytes. - A value of 0 means we accept using CID but will not generate one for foreign peer (enables support but not for incoming traffic). - A value between 0 and <= 4: SingleNodeConnectionIdGenerator is used - A value that are > 4: MultiNodeConnectionIdGenerator is used | |
transport.lwm2m.server.id | LWM2M_SERVER_ID | 123 | LwM2M Server ID |
transport.lwm2m.server.bind_address | LWM2M_BIND_ADDRESS | 0.0.0.0 | LwM2M server bind address. Bind to all interfaces by default |
transport.lwm2m.server.bind_port | LWM2M_BIND_PORT | 5685 | LwM2M server bind port |
transport.lwm2m.server.security.bind_address | LWM2M_SECURITY_BIND_ADDRESS | 0.0.0.0 | LwM2M server bind address for DTLS. Bind to all interfaces by default |
transport.lwm2m.server.security.bind_port | LWM2M_SECURITY_BIND_PORT | 5686 | LwM2M server bind port for DTLS |
transport.lwm2m.server.security.credentials.enabled | LWM2M_SERVER_CREDENTIALS_ENABLED | false | Whether to enable LWM2M server X509 Certificate/RPK support |
transport.lwm2m.server.security.credentials.type | LWM2M_SERVER_CREDENTIALS_TYPE | PEM | Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore) |
transport.lwm2m.server.security.credentials.pem.cert_file | LWM2M_SERVER_PEM_CERT | lwm2mserver.pem | Path to the server certificate file (holds server certificate or certificate chain, may include server private key) |
transport.lwm2m.server.security.credentials.pem.key_file | LWM2M_SERVER_PEM_KEY | lwm2mserver_key.pem | Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file; |
transport.lwm2m.server.security.credentials.pem.key_password | LWM2M_SERVER_PEM_KEY_PASSWORD | server_key_password | Server certificate private key password (optional) |
transport.lwm2m.server.security.credentials.keystore.type | LWM2M_SERVER_KEY_STORE_TYPE | JKS | Type of the key store (JKS or PKCS12) |
transport.lwm2m.server.security.credentials.keystore.store_file | LWM2M_SERVER_KEY_STORE | lwm2mserver.jks | Path to the key store that holds the SSL certificate |
transport.lwm2m.server.security.credentials.keystore.store_password | LWM2M_SERVER_KEY_STORE_PASSWORD | server_ks_password | Password used to access the key store |
transport.lwm2m.server.security.credentials.keystore.key_alias | LWM2M_SERVER_KEY_ALIAS | server | Key alias |
transport.lwm2m.server.security.credentials.keystore.key_password | LWM2M_SERVER_KEY_PASSWORD | server_ks_password | Password used to access the key |
transport.lwm2m.server.security.skip_validity_check_for_client_cert | TB_LWM2M_SERVER_SECURITY_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT | false | Only Certificate_x509: |
transport.lwm2m.bootstrap.enabled | LWM2M_ENABLED_BS | true | Enable/disable Bootstrap Server |
transport.lwm2m.bootstrap.id | LWM2M_SERVER_ID_BS | 111 | Default value in Lwm2mClient after start in mode Bootstrap for the object : name "LWM2M Security" field: "Short Server ID" (deviceProfile: Bootstrap.BOOTSTRAP SERVER.Short ID) |
transport.lwm2m.bootstrap.bind_address | LWM2M_BS_BIND_ADDRESS | 0.0.0.0 | LwM2M bootstrap server bind address. Bind to all interfaces by default |
transport.lwm2m.bootstrap.bind_port | LWM2M_BS_BIND_PORT | 5687 | LwM2M bootstrap server bind port |
transport.lwm2m.bootstrap.security.bind_address | LWM2M_BS_SECURITY_BIND_ADDRESS | 0.0.0.0 | LwM2M bootstrap server bind address for DTLS. Bind to all interfaces by default |
transport.lwm2m.bootstrap.security.bind_port | LWM2M_BS_SECURITY_BIND_PORT | 5688 | LwM2M bootstrap server bind address for DTLS. Bind to all interfaces by default |
transport.lwm2m.bootstrap.security.credentials.enabled | LWM2M_BS_CREDENTIALS_ENABLED | false | Whether to enable LWM2M bootstrap server X509 Certificate/RPK support |
transport.lwm2m.bootstrap.security.credentials.type | LWM2M_BS_CREDENTIALS_TYPE | PEM | Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore) |
transport.lwm2m.bootstrap.security.credentials.pem.cert_file | LWM2M_BS_PEM_CERT | lwm2mserver.pem | Path to the server certificate file (holds server certificate or certificate chain, may include server private key) |
transport.lwm2m.bootstrap.security.credentials.pem.key_file | LWM2M_BS_PEM_KEY | lwm2mserver_key.pem | Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file; |
transport.lwm2m.bootstrap.security.credentials.pem.key_password | LWM2M_BS_PEM_KEY_PASSWORD | server_key_password | Server certificate private key password (optional) |
transport.lwm2m.bootstrap.security.credentials.keystore.type | LWM2M_BS_KEY_STORE_TYPE | JKS | Type of the key store (JKS or PKCS12) |
transport.lwm2m.bootstrap.security.credentials.keystore.store_file | LWM2M_BS_KEY_STORE | lwm2mserver.jks | Path to the key store that holds the SSL certificate |
transport.lwm2m.bootstrap.security.credentials.keystore.store_password | LWM2M_BS_KEY_STORE_PASSWORD | server_ks_password | Password used to access the key store |
transport.lwm2m.bootstrap.security.credentials.keystore.key_alias | LWM2M_BS_KEY_ALIAS | bootstrap | Key alias |
transport.lwm2m.bootstrap.security.credentials.keystore.key_password | LWM2M_BS_KEY_PASSWORD | server_ks_password | Password used to access the key |
transport.lwm2m.security.trust-credentials.enabled | LWM2M_TRUST_CREDENTIALS_ENABLED | false | Whether to load X509 trust certificates |
transport.lwm2m.security.trust-credentials.type | LWM2M_TRUST_CREDENTIALS_TYPE | PEM | Trust certificates store type (PEM - pem certificates file; KEYSTORE - java keystore) |
transport.lwm2m.security.trust-credentials.pem.cert_file | LWM2M_TRUST_PEM_CERT | lwm2mtruststorechain.pem | Path to the certificates file (holds trust certificates) |
transport.lwm2m.security.trust-credentials.keystore.type | LWM2M_TRUST_KEY_STORE_TYPE | JKS | Type of the key store (JKS or PKCS12) |
transport.lwm2m.security.trust-credentials.keystore.store_file | LWM2M_TRUST_KEY_STORE | lwm2mtruststorechain.jks | Path to the key store that holds the X509 certificates |
transport.lwm2m.security.trust-credentials.keystore.store_password | LWM2M_TRUST_KEY_STORE_PASSWORD | server_ks_password | Password used to access the key store |
transport.lwm2m.security.recommended_ciphers | LWM2M_RECOMMENDED_CIPHERS | false | Set usage of recommended cipher suites; true - allow only recommended cipher suites; false - allow not recommended cipher suites |
transport.lwm2m.security.recommended_supported_groups | LWM2M_RECOMMENDED_SUPPORTED_GROUPS | true | Set usage of recommended supported groups (curves); true - allow only recommended supported groups, false - allow not recommended supported groups |
transport.lwm2m.timeout | LWM2M_TIMEOUT | 120000 | Timeout of LwM2M operation |
transport.lwm2m.uplink_pool_size | LWM2M_UPLINK_POOL_SIZE | 10 | Thread pool size for processing of the LwM2M uplinks |
transport.lwm2m.downlink_pool_size | LWM2M_DOWNLINK_POOL_SIZE | 10 | Thread pool size for processing of the LwM2M downlinks |
transport.lwm2m.ota_pool_size | LWM2M_OTA_POOL_SIZE | 10 | Thread pool size for processing of the OTA updates |
transport.lwm2m.clean_period_in_sec | LWM2M_CLEAN_PERIOD_IN_SEC | 2 | Period of cleanup for the registrations in store |
transport.lwm2m.psm_activity_timer | LWM2M_PSM_ACTIVITY_TIMER | 10000 | PSM Activity Timer if not specified in the device profile |
transport.lwm2m.paging_transmission_window | LWM2M_PAGING_TRANSMISSION_WINDOW | 10000 | Paging Transmission Window for eDRX support if not specified in the device profile |
transport.stats.enabled | TB_TRANSPORT_STATS_ENABLED | true | Enable/Disable the collection of transport statistics |
transport.stats.print-interval-ms | TB_TRANSPORT_STATS_PRINT_INTERVAL_MS | 60000 | Interval of transport statistics logging |
Queue configuration properties
Parameter | Environment Variable | Default Value | Description |
queue.type | TB_QUEUE_TYPE | kafka | kafka (Apache Kafka) or aws-sqs (AWS SQS) or pubsub (PubSub) or service-bus (Azure Service Bus) or rabbitmq (RabbitMQ) |
queue.prefix | TB_QUEUE_PREFIX | Global queue prefix. If specified, prefix is added before default topic name: 'prefix.default_topic_name'. Prefix is applied to all topics (and consumer groups for kafka). | |
queue.kafka.bootstrap.servers | TB_KAFKA_SERVERS | localhost:9092 | Kafka Bootstrap Servers |
queue.kafka.ssl.enabled | TB_KAFKA_SSL_ENABLED | false | Enable/Disable SSL Kafka communication |
queue.kafka.ssl.truststore.location | TB_KAFKA_SSL_TRUSTSTORE_LOCATION | The location of the trust store file | |
queue.kafka.ssl.truststore.password | TB_KAFKA_SSL_TRUSTSTORE_PASSWORD | The password of trust store file if specified | |
queue.kafka.ssl.keystore.location | TB_KAFKA_SSL_KEYSTORE_LOCATION | The location of the key store file. This is optional for the client and can be used for two-way authentication for the client | |
queue.kafka.ssl.keystore.password | TB_KAFKA_SSL_KEYSTORE_PASSWORD | The store password for the key store file. This is optional for the client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format | |
queue.kafka.ssl.key.password | TB_KAFKA_SSL_KEY_PASSWORD | The password of the private key in the key store file or the PEM key specified in ‘keystore.key’ | |
queue.kafka.acks | TB_KAFKA_ACKS | all | The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed:0,1 and all |
queue.kafka.retries | TB_KAFKA_RETRIES | 1 | Number of retries. Resend any record whose send fails with a potentially transient error |
queue.kafka.compression.type | TB_KAFKA_COMPRESSION_TYPE | none | none or gzip |
queue.kafka.batch.size | TB_KAFKA_BATCH_SIZE | 16384 | Default batch size. This setting gives the upper bound of the batch size to be sent |
queue.kafka.linger.ms | TB_KAFKA_LINGER_MS | 1 | This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record |
queue.kafka.max.request.size | TB_KAFKA_MAX_REQUEST_SIZE | 1048576 | The maximum size of a request in bytes. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests |
queue.kafka.max.in.flight.requests.per.connection | TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION | 5 | The maximum number of unacknowledged requests the client will send on a single connection before blocking |
queue.kafka.buffer.memory | TB_BUFFER_MEMORY | 33554432 | The total bytes of memory the producer can use to buffer records waiting to be sent to the server |
queue.kafka.replication_factor | TB_QUEUE_KAFKA_REPLICATION_FACTOR | 1 | The multiple copies of data over the multiple brokers of Kafka |
queue.kafka.max_poll_interval_ms | TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS | 300000 | The maximum delay between invocations of poll() when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records |
queue.kafka.max_poll_records | TB_QUEUE_KAFKA_MAX_POLL_RECORDS | 8192 | The maximum number of records returned in a single call to poll() |
queue.kafka.max_partition_fetch_bytes | TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES | 16777216 | The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer |
queue.kafka.fetch_max_bytes | TB_QUEUE_KAFKA_FETCH_MAX_BYTES | 134217728 | The maximum amount of data the server will return. Records are fetched in batches by the consumer |
queue.kafka.request.timeout.ms | TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS | 30000 | (30 seconds) |
queue.kafka.session.timeout.ms | TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS | 10000 | (10 seconds) |
queue.kafka.auto_offset_reset | TB_QUEUE_KAFKA_AUTO_OFFSET_RESET | earliest | earliest, latest or none |
queue.kafka.use_confluent_cloud | TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD | false | Enable/Disable using of Confluent Cloud |
queue.kafka.confluent.ssl.algorithm | TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM | https | The endpoint identification algorithm used by clients to validate server hostname. The default value is https |
queue.kafka.confluent.sasl.mechanism | TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM | PLAIN | The mechanism used to authenticate Schema Registry requests. SASL/PLAIN should only be used with TLS/SSL as a transport layer to ensure that clear passwords are not transmitted on the wire without encryption |
queue.kafka.confluent.sasl.config | TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG | org.apache.kafka.common.security.plain.PlainLoginModule required username=\"CLUSTER_API_KEY\" password=\"CLUSTER_API_SECRET\"; | Using JAAS Configuration for specifying multiple SASL mechanisms on a broker |
queue.kafka.confluent.security.protocol | TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL | SASL_SSL | Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL |
queue.kafka.other-inline | TB_QUEUE_KAFKA_OTHER_PROPERTIES | In this section you can specify custom parameters (semicolon separated) for Kafka consumer/producer/admin | |
queue.kafka.topic-properties.rule-engine | TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES | retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | Kafka properties for Rule Engine |
queue.kafka.topic-properties.core | TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES | retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | Kafka properties for Core topics |
queue.kafka.topic-properties.transport-api | TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES | retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 | Kafka properties for Transport Api topics |
queue.kafka.topic-properties.notifications | TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES | retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 | Kafka properties for Notifications topics |
queue.kafka.topic-properties.housekeeper | TB_QUEUE_KAFKA_HOUSEKEEPER_TOPIC_PROPERTIES | retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 | Kafka properties for Housekeeper tasks topic |
queue.aws_sqs.use_default_credential_provider_chain | TB_QUEUE_AWS_SQS_USE_DEFAULT_CREDENTIAL_PROVIDER_CHAIN | false | Use the default credentials provider for AWS SQS |
queue.aws_sqs.access_key_id | TB_QUEUE_AWS_SQS_ACCESS_KEY_ID | YOUR_KEY | Access key ID from AWS IAM user |
queue.aws_sqs.secret_access_key | TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY | YOUR_SECRET | Secret access key from AWS IAM user |
queue.aws_sqs.region | TB_QUEUE_AWS_SQS_REGION | YOUR_REGION | Region from AWS account |
queue.aws_sqs.threads_per_topic | TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC | 1 | Number of threads per each AWS SQS queue in consumer |
queue.aws_sqs.producer_thread_pool_size | TB_QUEUE_AWS_SQS_EXECUTOR_THREAD_POOL_SIZE | 50 | Thread pool size for aws_sqs queue producer executor provider. Default value equals to AmazonSQSAsyncClient.DEFAULT_THREAD_POOL_SIZE |
queue.aws_sqs.queue-properties.rule-engine | TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES | VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds |
queue.aws_sqs.queue-properties.core | TB_QUEUE_AWS_SQS_CORE_QUEUE_PROPERTIES | VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds |
queue.aws_sqs.queue-properties.transport-api | TB_QUEUE_AWS_SQS_TA_QUEUE_PROPERTIES | VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds |
queue.aws_sqs.queue-properties.notifications | TB_QUEUE_AWS_SQS_NOTIFICATIONS_QUEUE_PROPERTIES | VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800 | AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds |
queue.pubsub.project_id | TB_QUEUE_PUBSUB_PROJECT_ID | YOUR_PROJECT_ID | Project ID from Google Cloud |
queue.pubsub.service_account | TB_QUEUE_PUBSUB_SERVICE_ACCOUNT | YOUR_SERVICE_ACCOUNT | API Credentials in JSON format |
queue.pubsub.max_msg_size | TB_QUEUE_PUBSUB_MAX_MSG_SIZE | 1048576 | Message size for PubSub queue. Value in bytes |
queue.pubsub.max_messages | TB_QUEUE_PUBSUB_MAX_MESSAGES | 1000 | Number of messages per consumer |
queue.pubsub.executor_thread_pool_size | TB_QUEUE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE | 0 | Thread pool size for pubsub queue executor provider. If not set - default pubsub executor provider value will be used (5 * number of available processors) |
queue.pubsub.queue-properties.rule-engine | TB_QUEUE_PUBSUB_RE_QUEUE_PROPERTIES | ackDeadlineInSec:30;messageRetentionInSec:604800 | Pub/Sub properties for Rule Engine subscribers, messages which will commit after ackDeadlineInSec period can be consumed again |
queue.pubsub.queue-properties.core | TB_QUEUE_PUBSUB_CORE_QUEUE_PROPERTIES | ackDeadlineInSec:30;messageRetentionInSec:604800 | Pub/Sub properties for Core subscribers, messages which will commit after ackDeadlineInSec period can be consumed again |
queue.pubsub.queue-properties.transport-api | TB_QUEUE_PUBSUB_TA_QUEUE_PROPERTIES | ackDeadlineInSec:30;messageRetentionInSec:604800 | Pub/Sub properties for Transport API subscribers, messages which will commit after ackDeadlineInSec period can be consumed again |
queue.pubsub.queue-properties.notifications | TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES | ackDeadlineInSec:30;messageRetentionInSec:604800 | Pub/Sub properties for Version Control subscribers, messages which will commit after ackDeadlineInSec period can be consumed again |
queue.service_bus.namespace_name | TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME | YOUR_NAMESPACE_NAME | Azure namespace |
queue.service_bus.sas_key_name | TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME | YOUR_SAS_KEY_NAME | Azure Service Bus Shared Access Signatures key name |
queue.service_bus.sas_key | TB_QUEUE_SERVICE_BUS_SAS_KEY | YOUR_SAS_KEY | Azure Service Bus Shared Access Signatures key |
queue.service_bus.max_messages | TB_QUEUE_SERVICE_BUS_MAX_MESSAGES | 1000 | Number of messages per a consumer |
queue.service_bus.queue-properties.rule-engine | TB_QUEUE_SERVICE_BUS_RE_QUEUE_PROPERTIES | lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | Azure Service Bus properties for Rule Engine queues |
queue.service_bus.queue-properties.core | TB_QUEUE_SERVICE_BUS_CORE_QUEUE_PROPERTIES | lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | Azure Service Bus properties for Core queues |
queue.service_bus.queue-properties.transport-api | TB_QUEUE_SERVICE_BUS_TA_QUEUE_PROPERTIES | lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | Azure Service Bus properties for Transport Api queues |
queue.service_bus.queue-properties.notifications | TB_QUEUE_SERVICE_BUS_NOTIFICATIONS_QUEUE_PROPERTIES | lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800 | Azure Service Bus properties for Notification queues |
queue.rabbitmq.exchange_name | TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME | By default empty | |
queue.rabbitmq.host | TB_QUEUE_RABBIT_MQ_HOST | localhost | RabbitMQ host used to establish connection |
queue.rabbitmq.port | TB_QUEUE_RABBIT_MQ_PORT | 5672 | RabbitMQ host used to establish a connection |
queue.rabbitmq.virtual_host | TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST | / | Virtual hosts provide logical grouping and separation of resources |
queue.rabbitmq.username | TB_QUEUE_RABBIT_MQ_USERNAME | YOUR_USERNAME | Username for RabbitMQ user account |
queue.rabbitmq.password | TB_QUEUE_RABBIT_MQ_PASSWORD | YOUR_PASSWORD | User password for RabbitMQ user account |
queue.rabbitmq.automatic_recovery_enabled | TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED | false | Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers) |
queue.rabbitmq.connection_timeout | TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT | 60000 | The connection timeout for the RabbitMQ connection factory |
queue.rabbitmq.handshake_timeout | TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT | 10000 | RabbitMQ has a timeout for connection handshake. When clients run in heavily constrained environments, it may be necessary to increase the timeout |
queue.rabbitmq.queue-properties.rule-engine | TB_QUEUE_RABBIT_MQ_RE_QUEUE_PROPERTIES | x-max-length-bytes:1048576000;x-message-ttl:604800000 | RabbitMQ properties for Rule Engine queues |
queue.rabbitmq.queue-properties.core | TB_QUEUE_RABBIT_MQ_CORE_QUEUE_PROPERTIES | x-max-length-bytes:1048576000;x-message-ttl:604800000 | RabbitMQ properties for Core queues |
queue.rabbitmq.queue-properties.transport-api | TB_QUEUE_RABBIT_MQ_TA_QUEUE_PROPERTIES | x-max-length-bytes:1048576000;x-message-ttl:604800000 | RabbitMQ properties for Transport API queues |
queue.rabbitmq.queue-properties.notifications | TB_QUEUE_RABBIT_MQ_NOTIFICATIONS_QUEUE_PROPERTIES | x-max-length-bytes:1048576000;x-message-ttl:604800000 | RabbitMQ properties for Notification queues |
queue.partitions.hash_function_name | TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME | murmur3_128 | murmur3_32, murmur3_128 or sha256 |
queue.transport_api.requests_topic | TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC | tb_transport.api.requests | Topic used to consume api requests from transport microservices |
queue.transport_api.responses_topic | TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC | tb_transport.api.responses | Topic used to produce api responses to transport microservices |
queue.transport_api.max_pending_requests | TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS | 10000 | Maximum pending api requests from transport microservices to be handled by server |
queue.transport_api.max_requests_timeout | TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT | 10000 | Maximum timeout in milliseconds to handle api request from transport microservice by server |
queue.transport_api.max_callback_threads | TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS | 100 | Amount of threads used to invoke callbacks |
queue.transport_api.request_poll_interval | TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS | 25 | Interval in milliseconds to poll api requests from transport microservices |
queue.transport_api.response_poll_interval | TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS | 25 | Interval in milliseconds to poll api response from transport microservices |
queue.core.topic | TB_QUEUE_CORE_TOPIC | tb_core | Default topic name of Kafka, RabbitMQ, etc. queue |
queue.core.poll-interval | TB_QUEUE_CORE_POLL_INTERVAL_MS | 25 | Interval in milliseconds to poll messages by Core microservices |
queue.core.partitions | TB_QUEUE_CORE_PARTITIONS | 10 | Amount of partitions used by Core microservices |
queue.core.pack-processing-timeout | TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS | 60000 | Timeout for processing a message pack by Core microservices |
queue.core.stats.enabled | TB_QUEUE_CORE_STATS_ENABLED | false | Enable/disable statistics for Core microservices |
queue.core.stats.print-interval-ms | TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS | 10000 | Statistics printing interval for Core microservices |
queue.core.housekeeper.topic | TB_HOUSEKEEPER_TOPIC | tb_housekeeper | Topic name for Housekeeper tasks |
queue.js.request_topic | REMOTE_JS_EVAL_REQUEST_TOPIC | js_eval.requests | JS Eval request topic |
queue.js.response_topic_prefix | REMOTE_JS_EVAL_RESPONSE_TOPIC | js_eval.responses | JS Eval responses topic prefix that is combined with node id |
queue.js.max_pending_requests | REMOTE_JS_MAX_PENDING_REQUESTS | 10000 | JS Eval max pending requests |
queue.js.max_requests_timeout | REMOTE_JS_MAX_REQUEST_TIMEOUT | 10000 | JS Eval max request timeout |
queue.js.response_poll_interval | REMOTE_JS_RESPONSE_POLL_INTERVAL_MS | 25 | JS response poll interval |
queue.js.response_auto_commit_interval | REMOTE_JS_RESPONSE_AUTO_COMMIT_INTERVAL_MS | 100 | JS response auto commit interval |
queue.rule-engine.topic | TB_QUEUE_RULE_ENGINE_TOPIC | tb_rule_engine | Deprecated. It will be removed in the nearest releases |
queue.rule-engine.poll-interval | TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS | 25 | Interval in milliseconds to poll messages by Rule Engine |
queue.rule-engine.pack-processing-timeout | TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS | 60000 | Timeout for processing a message pack of Rule Engine |
queue.rule-engine.stats.enabled | TB_QUEUE_RULE_ENGINE_STATS_ENABLED | true | Enable/disable statistics for Rule Engine |
queue.rule-engine.stats.print-interval-ms | TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS | 60000 | Statistics printing interval for Rule Engine |
queue.transport.notifications_topic | TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC | tb_transport.notifications | For high priority notifications that require minimum latency and processing time |
queue.transport.poll_interval | TB_QUEUE_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS | 25 | Interval in milliseconds to poll messages |
Service common parameters
Parameter | Environment Variable | Default Value | Description |
service.type | TB_SERVICE_TYPE | tb-transport | service type |
service.id | TB_SERVICE_ID | Unique id for this service (autogenerated if empty) |
Usage statistics parameters
Parameter | Environment Variable | Default Value | Description |
usage.stats.report.enabled | USAGE_STATS_REPORT_ENABLED | true | Enable/Disable the collection of statistics about API usage. Collected on a system and tenant level by default |
usage.stats.report.enabled_per_customer | USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED | false | Enable/Disable collection of statistics about API usage on a customer level |
usage.stats.report.interval | USAGE_STATS_REPORT_INTERVAL | 10 | Interval of reporting the statistics. By default, the summarized statistics are sent every 10 seconds |
Metrics parameters
Parameter | Environment Variable | Default Value | Description |
metrics.enabled | METRICS_ENABLED | false | Enable/disable actuator metrics. |
General management parameters
Parameter | Environment Variable | Default Value | Description |
management.endpoints.web.exposure.include | '${METRICS_ENDPOINTS_EXPOSE:info}' | Expose metrics endpoint (use value 'prometheus' to enable prometheus metrics). |
Notification system parameters
Parameter | Environment Variable | Default Value | Description |
notification_system.rules.deduplication_durations | TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS | RATE_LIMITS:14400000; | Semicolon-separated deduplication durations (in millis) for trigger types. Format: 'NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456' |