2018-10-04 19:18:26 +03:00
#
2023-01-31 10:43:56 +02:00
# Copyright © 2016-2023 The Thingsboard Authors
2018-10-04 19:18:26 +03:00
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
2020-07-10 13:01:39 +03:00
# If you enabled process metrics you should also enable 'web-environment'.
spring.main.web-environment : "${WEB_APPLICATION_ENABLE:false}"
# If you enabled process metrics you should set 'web-application-type' to 'servlet' value.
spring.main.web-application-type : "${WEB_APPLICATION_TYPE:none}"
2022-06-13 10:13:39 +02:00
spring.main.allow-circular-references : "true"
2020-07-10 13:01:39 +03:00
server :
# Server bind address (has no effect if web-environment is disabled).
address : "${HTTP_BIND_ADDRESS:0.0.0.0}"
# Server bind port (has no effect if web-environment is disabled).
port : "${HTTP_BIND_PORT:8083}"
2018-10-04 19:18:26 +03:00
2020-04-13 18:33:11 +03:00
# Zookeeper connection parameters. Used for service discovery.
zk :
# Enable/disable zookeeper discovery service.
enabled : "${ZOOKEEPER_ENABLED:false}"
# Zookeeper connect string
url : "${ZOOKEEPER_URL:localhost:2181}"
# Zookeeper retry interval in milliseconds
retry_interval_ms : "${ZOOKEEPER_RETRY_INTERVAL_MS:3000}"
# Zookeeper connection timeout in milliseconds
connection_timeout_ms : "${ZOOKEEPER_CONNECTION_TIMEOUT_MS:3000}"
# Zookeeper session timeout in milliseconds
session_timeout_ms : "${ZOOKEEPER_SESSION_TIMEOUT_MS:3000}"
# Name of the directory in zookeeper 'filesystem'
zk_dir : "${ZOOKEEPER_NODES_DIR:/thingsboard}"
2023-08-09 21:21:15 +02:00
recalculate_delay : "${ZOOKEEPER_RECALCULATE_DELAY_MS:0}"
2018-11-09 20:05:53 +02:00
2021-04-22 13:03:10 +03:00
cache :
type : "${CACHE_TYPE:redis}"
redis :
2023-06-01 14:47:47 +03:00
# standalone or cluster or sentinel
2021-04-22 13:03:10 +03:00
connection :
type : "${REDIS_CONNECTION_TYPE:standalone}"
standalone :
host : "${REDIS_HOST:localhost}"
port : "${REDIS_PORT:6379}"
useDefaultClientConfig : "${REDIS_USE_DEFAULT_CLIENT_CONFIG:true}"
# this value may be used only if you used not default ClientConfig
clientName : "${REDIS_CLIENT_NAME:standalone}"
# this value may be used only if you used not default ClientConfig
connectTimeout : "${REDIS_CLIENT_CONNECT_TIMEOUT:30000}"
# this value may be used only if you used not default ClientConfig
readTimeout : "${REDIS_CLIENT_READ_TIMEOUT:60000}"
# this value may be used only if you used not default ClientConfig
usePoolConfig : "${REDIS_CLIENT_USE_POOL_CONFIG:false}"
cluster :
# Comma-separated list of "host:port" pairs to bootstrap from.
nodes : "${REDIS_NODES:}"
# Maximum number of redirects to follow when executing commands across the cluster.
max-redirects : "${REDIS_MAX_REDIRECTS:12}"
2023-06-01 14:47:47 +03:00
# if set false will be used pool config build from values of the pool config section
useDefaultPoolConfig : "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
sentinel :
# name of master node
master : "${REDIS_MASTER:}"
# comma-separated list of "host:port" pairs of sentinels
sentinels : "${REDIS_SENTINELS:}"
# password to authenticate with sentinel
password : "${REDIS_SENTINEL_PASSWORD:}"
# if set false will be used pool config build from values of the pool config section
2021-04-22 13:03:10 +03:00
useDefaultPoolConfig : "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
# db index
db : "${REDIS_DB:0}"
# db password
password : "${REDIS_PASSWORD:}"
# pool config
pool_config :
maxTotal : "${REDIS_POOL_CONFIG_MAX_TOTAL:128}"
maxIdle : "${REDIS_POOL_CONFIG_MAX_IDLE:128}"
minIdle : "${REDIS_POOL_CONFIG_MIN_IDLE:16}"
testOnBorrow : "${REDIS_POOL_CONFIG_TEST_ON_BORROW:true}"
testOnReturn : "${REDIS_POOL_CONFIG_TEST_ON_RETURN:true}"
testWhileIdle : "${REDIS_POOL_CONFIG_TEST_WHILE_IDLE:true}"
minEvictableMs : "${REDIS_POOL_CONFIG_MIN_EVICTABLE_MS:60000}"
evictionRunsMs : "${REDIS_POOL_CONFIG_EVICTION_RUNS_MS:30000}"
maxWaitMills : "${REDIS_POOL_CONFIG_MAX_WAIT_MS:60000}"
numberTestsPerEvictionRun : "${REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN:3}"
blockWhenExhausted : "${REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED:true}"
2018-10-04 19:18:26 +03:00
# MQTT server parameters
2018-10-12 16:22:38 +03:00
transport :
mqtt :
bind_address : "${MQTT_BIND_ADDRESS:0.0.0.0}"
bind_port : "${MQTT_BIND_PORT:1883}"
2022-01-13 08:42:48 +02:00
# Enable proxy protocol support. Disabled by default. If enabled, supports both v1 and v2.
# Useful to get the real IP address of the client in the logs and for rate limits.
proxy_enabled : "${MQTT_PROXY_PROTOCOL_ENABLED:false}"
2018-10-12 16:22:38 +03:00
timeout : "${MQTT_TIMEOUT:10000}"
2021-08-03 10:52:41 +03:00
msg_queue_size_per_device_limit : "${MQTT_MSG_QUEUE_SIZE_PER_DEVICE_LIMIT:100}" # messages await in the queue before device connected state. This limit works on low level before TenantProfileLimits mechanism
2018-10-12 16:22:38 +03:00
netty :
2018-10-22 08:34:44 +03:00
leak_detector_level : "${NETTY_LEAK_DETECTOR_LVL:DISABLED}"
2018-10-12 16:22:38 +03:00
boss_group_thread_count : "${NETTY_BOSS_GROUP_THREADS:1}"
worker_group_thread_count : "${NETTY_WORKER_GROUP_THREADS:12}"
max_payload_size : "${NETTY_MAX_PAYLOAD_SIZE:65536}"
2019-05-03 11:45:27 +03:00
so_keep_alive : "${NETTY_SO_KEEPALIVE:false}"
2018-10-12 16:22:38 +03:00
# MQTT SSL configuration
ssl :
# Enable/disable SSL support
enabled : "${MQTT_SSL_ENABLED:false}"
2021-06-30 19:30:39 +03:00
# MQTT SSL bind address
bind_address : "${MQTT_SSL_BIND_ADDRESS:0.0.0.0}"
# MQTT SSL bind port
bind_port : "${MQTT_SSL_BIND_PORT:8883}"
2021-11-10 17:26:56 +02:00
# SSL protocol: See https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#sslcontext-algorithms
2018-10-12 16:22:38 +03:00
protocol : "${MQTT_SSL_PROTOCOL:TLSv1.2}"
2021-10-26 19:40:38 +03:00
# Server SSL credentials
credentials :
# Server credentials type (PEM - pem certificate file; KEYSTORE - java keystore)
2023-03-23 15:20:08 +02:00
type : "${MQTT_SSL_CREDENTIALS_TYPE:PEM}"
2021-10-26 19:40:38 +03:00
# PEM server credentials
pem :
# Path to the server certificate file (holds server certificate or certificate chain, may include server private key)
cert_file : "${MQTT_SSL_PEM_CERT:mqttserver.pem}"
2021-11-10 17:26:56 +02:00
# Path to the server certificate private key file. Optional by default. Required if the private key is not present in server certificate file;
2021-10-26 19:40:38 +03:00
key_file : "${MQTT_SSL_PEM_KEY:mqttserver_key.pem}"
# Server certificate private key password (optional)
key_password : "${MQTT_SSL_PEM_KEY_PASSWORD:server_key_password}"
# Keystore server credentials
keystore :
2022-08-12 21:01:56 +08:00
# Type of the key store (JKS or PKCS12)
2021-10-26 19:40:38 +03:00
type : "${MQTT_SSL_KEY_STORE_TYPE:JKS}"
# Path to the key store that holds the SSL certificate
store_file : "${MQTT_SSL_KEY_STORE:mqttserver.jks}"
# Password used to access the key store
store_password : "${MQTT_SSL_KEY_STORE_PASSWORD:server_ks_password}"
2021-11-10 17:26:56 +02:00
# Optional alias of the private key; If not set, the platform will load the first private key from the keystore;
key_alias : "${MQTT_SSL_KEY_ALIAS:}"
2021-10-26 19:40:38 +03:00
# Password used to access the key
key_password : "${MQTT_SSL_KEY_PASSWORD:server_key_password}"
2020-10-07 12:06:24 +03:00
# Skip certificate validity check for client certificates.
skip_validity_check_for_client_cert : "${MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT:false}"
2018-10-22 08:34:44 +03:00
sessions :
2018-10-29 18:31:14 +02:00
inactivity_timeout : "${TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT:300000}"
2021-08-19 17:09:22 +03:00
report_timeout : "${TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT:3000}"
2018-11-02 15:45:28 +02:00
json :
# Cast String data types to Numeric if possible when processing Telemetry/Attributes JSON
type_cast_enabled : "${JSON_TYPE_CAST_ENABLED:true}"
2018-11-16 19:10:10 +02:00
# Maximum allowed string value length when processing Telemetry/Attributes JSON (0 value disables string value length check)
max_string_value_length : "${JSON_MAX_STRING_VALUE_LENGTH:0}"
2021-07-20 15:50:35 +03:00
log :
enabled : "${TB_TRANSPORT_LOG_ENABLED:true}"
max_length : "${TB_TRANSPORT_LOG_MAX_LENGTH:1024}"
2021-09-30 14:43:01 +03:00
stats :
enabled : "${TB_TRANSPORT_STATS_ENABLED:true}"
print-interval-ms : "${TB_TRANSPORT_STATS_PRINT_INTERVAL_MS:60000}"
2022-01-13 15:32:10 +02:00
client_side_rpc :
timeout : "${CLIENT_SIDE_RPC_TIMEOUT:60000}"
rate_limits :
# Enable or disable generic rate limits. Device and Tenant specific rate limits are controlled in Tenant Profile.
ip_limits_enabled : "${TB_TRANSPORT_IP_RATE_LIMITS_ENABLED:false}"
# Maximum number of connect attempts with invalid credentials
max_wrong_credentials_per_ip : "${TB_TRANSPORT_MAX_WRONG_CREDENTIALS_PER_IP:10}"
# Timeout to expire block IP addresses
ip_block_timeout : "${TB_TRANSPORT_IP_BLOCK_TIMEOUT:60000}"
2021-07-20 15:50:35 +03:00
2020-03-11 20:09:41 +02:00
queue :
2020-04-24 18:55:11 +03:00
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)
2020-03-11 20:09:41 +02:00
kafka :
2020-03-09 18:23:44 +02:00
bootstrap.servers : "${TB_KAFKA_SERVERS:localhost:9092}"
2023-03-22 10:03:05 +08:00
ssl :
enabled : "${TB_KAFKA_SSL_ENABLED:false}"
truststore.location : "${TB_KAFKA_SSL_TRUSTSTORE_LOCATION:}"
truststore.password : "${TB_KAFKA_SSL_TRUSTSTORE_PASSWORD:}"
keystore.location : "${TB_KAFKA_SSL_KEYSTORE_LOCATION:}"
keystore.password : "${TB_KAFKA_SSL_KEYSTORE_PASSWORD:}"
key.password : "${TB_KAFKA_SSL_KEY_PASSWORD:}"
2020-03-09 18:23:44 +02:00
acks : "${TB_KAFKA_ACKS:all}"
retries : "${TB_KAFKA_RETRIES:1}"
2022-06-08 16:28:12 +03:00
compression.type : "${TB_KAFKA_COMPRESSION_TYPE:none}" # none or gzip
2020-03-09 18:23:44 +02:00
batch.size : "${TB_KAFKA_BATCH_SIZE:16384}"
linger.ms : "${TB_KAFKA_LINGER_MS:1}"
2021-08-04 08:13:11 +03:00
max.request.size : "${TB_KAFKA_MAX_REQUEST_SIZE:1048576}"
max.in.flight.requests.per.connection : "${TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION:5}"
2020-03-09 18:23:44 +02:00
buffer.memory : "${TB_BUFFER_MEMORY:33554432}"
2020-04-15 17:47:46 +03:00
replication_factor : "${TB_QUEUE_KAFKA_REPLICATION_FACTOR:1}"
2023-04-18 10:48:51 +02:00
max_poll_interval_ms : "${TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS:300000}"
max_poll_records : "${TB_QUEUE_KAFKA_MAX_POLL_RECORDS:8192}"
max_partition_fetch_bytes : "${TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES:16777216}"
fetch_max_bytes : "${TB_QUEUE_KAFKA_FETCH_MAX_BYTES:134217728}"
request.timeout.ms : "${TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS:30000}" # (30 seconds) # refer to https://docs.confluent.io/platform/current/installation/configuration/producer-configs.html#producerconfigs_request.timeout.ms
session.timeout.ms : "${TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS:10000}" # (10 seconds) # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
2020-08-11 11:15:41 +03:00
use_confluent_cloud : "${TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD:false}"
confluent :
ssl.algorithm : "${TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM:https}"
sasl.mechanism : "${TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM:PLAIN}"
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\";}"
security.protocol : "${TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL:SASL_SSL}"
2023-04-18 10:48:51 +02:00
other-inline : "${TB_QUEUE_KAFKA_OTHER_PROPERTIES:}" # In this section you can specify custom parameters (semicolon separated) for Kafka consumer/producer/admin # Example "metrics.recording.level:INFO;metrics.sample.window.ms:30000"
other : # DEPRECATED. In this section you can specify custom parameters for Kafka consumer/producer and expose the env variables to configure outside
# - key: "request.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/producer-configs.html#producerconfigs_request.timeout.ms
# value: "${TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS:30000}" # (30 seconds)
# - key: "session.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
# value: "${TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS:10000}" # (10 seconds)
2020-04-15 17:47:46 +03:00
topic-properties :
2021-03-02 10:04:51 +02:00
rule-engine : "${TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES:retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000;partitions:1;min.insync.replicas:1}"
core : "${TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES:retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000;partitions:1;min.insync.replicas:1}"
2022-07-13 14:40:44 +03:00
transport-api : "${TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES:retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000;partitions:10;min.insync.replicas:1}"
2021-03-02 10:04:51 +02:00
notifications : "${TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES:retention.ms:604800000;segment.bytes:26214400;retention.bytes:1048576000;partitions:1;min.insync.replicas:1}"
2020-03-30 19:13:34 +03:00
aws_sqs :
2020-08-11 11:15:41 +03:00
use_default_credential_provider_chain : "${TB_QUEUE_AWS_SQS_USE_DEFAULT_CREDENTIAL_PROVIDER_CHAIN:false}"
2020-03-30 19:13:34 +03:00
access_key_id : "${TB_QUEUE_AWS_SQS_ACCESS_KEY_ID:YOUR_KEY}"
secret_access_key : "${TB_QUEUE_AWS_SQS_SECRET_ACCESS_KEY:YOUR_SECRET}"
region : "${TB_QUEUE_AWS_SQS_REGION:YOUR_REGION}"
2020-03-31 16:39:41 +03:00
threads_per_topic : "${TB_QUEUE_AWS_SQS_THREADS_PER_TOPIC:1}"
2020-04-17 12:43:10 +03:00
queue-properties :
rule-engine : "${TB_QUEUE_AWS_SQS_RE_QUEUE_PROPERTIES:VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800}"
core : "${TB_QUEUE_AWS_SQS_CORE_QUEUE_PROPERTIES:VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800}"
transport-api : "${TB_QUEUE_AWS_SQS_TA_QUEUE_PROPERTIES:VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800}"
notifications : "${TB_QUEUE_AWS_SQS_NOTIFICATIONS_QUEUE_PROPERTIES:VisibilityTimeout:30;MaximumMessageSize:262144;MessageRetentionPeriod:604800}"
# VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
2020-03-31 16:39:41 +03:00
pubsub :
project_id : "${TB_QUEUE_PUBSUB_PROJECT_ID:YOUR_PROJECT_ID}"
service_account : "${TB_QUEUE_PUBSUB_SERVICE_ACCOUNT:YOUR_SERVICE_ACCOUNT}"
max_msg_size : "${TB_QUEUE_PUBSUB_MAX_MSG_SIZE:1048576}" #in bytes
max_messages : "${TB_QUEUE_PUBSUB_MAX_MESSAGES:1000}"
2020-04-17 20:30:56 +03:00
queue-properties :
rule-engine : "${TB_QUEUE_PUBSUB_RE_QUEUE_PROPERTIES:ackDeadlineInSec:30;messageRetentionInSec:604800}"
core : "${TB_QUEUE_PUBSUB_CORE_QUEUE_PROPERTIES:ackDeadlineInSec:30;messageRetentionInSec:604800}"
transport-api : "${TB_QUEUE_PUBSUB_TA_QUEUE_PROPERTIES:ackDeadlineInSec:30;messageRetentionInSec:604800}"
notifications : "${TB_QUEUE_PUBSUB_NOTIFICATIONS_QUEUE_PROPERTIES:ackDeadlineInSec:30;messageRetentionInSec:604800}"
2020-04-07 11:45:28 +03:00
service_bus :
namespace_name : "${TB_QUEUE_SERVICE_BUS_NAMESPACE_NAME:YOUR_NAMESPACE_NAME}"
sas_key_name : "${TB_QUEUE_SERVICE_BUS_SAS_KEY_NAME:YOUR_SAS_KEY_NAME}"
sas_key : "${TB_QUEUE_SERVICE_BUS_SAS_KEY:YOUR_SAS_KEY}"
max_messages : "${TB_QUEUE_SERVICE_BUS_MAX_MESSAGES:1000}"
2020-04-26 00:57:46 +03:00
queue-properties :
rule-engine : "${TB_QUEUE_SERVICE_BUS_RE_QUEUE_PROPERTIES:lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800}"
core : "${TB_QUEUE_SERVICE_BUS_CORE_QUEUE_PROPERTIES:lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800}"
transport-api : "${TB_QUEUE_SERVICE_BUS_TA_QUEUE_PROPERTIES:lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800}"
notifications : "${TB_QUEUE_SERVICE_BUS_NOTIFICATIONS_QUEUE_PROPERTIES:lockDurationInSec:30;maxSizeInMb:1024;messageTimeToLiveInSec:604800}"
2020-04-09 18:41:37 +03:00
rabbitmq :
exchange_name : "${TB_QUEUE_RABBIT_MQ_EXCHANGE_NAME:}"
host : "${TB_QUEUE_RABBIT_MQ_HOST:localhost}"
port : "${TB_QUEUE_RABBIT_MQ_PORT:5672}"
virtual_host : "${TB_QUEUE_RABBIT_MQ_VIRTUAL_HOST:/}"
username : "${TB_QUEUE_RABBIT_MQ_USERNAME:YOUR_USERNAME}"
password : "${TB_QUEUE_RABBIT_MQ_PASSWORD:YOUR_PASSWORD}"
automatic_recovery_enabled : "${TB_QUEUE_RABBIT_MQ_AUTOMATIC_RECOVERY_ENABLED:false}"
connection_timeout : "${TB_QUEUE_RABBIT_MQ_CONNECTION_TIMEOUT:60000}"
handshake_timeout : "${TB_QUEUE_RABBIT_MQ_HANDSHAKE_TIMEOUT:10000}"
2020-04-21 17:08:51 +03:00
queue-properties :
rule-engine : "${TB_QUEUE_RABBIT_MQ_RE_QUEUE_PROPERTIES:x-max-length-bytes:1048576000;x-message-ttl:604800000}"
core : "${TB_QUEUE_RABBIT_MQ_CORE_QUEUE_PROPERTIES:x-max-length-bytes:1048576000;x-message-ttl:604800000}"
transport-api : "${TB_QUEUE_RABBIT_MQ_TA_QUEUE_PROPERTIES:x-max-length-bytes:1048576000;x-message-ttl:604800000}"
notifications : "${TB_QUEUE_RABBIT_MQ_NOTIFICATIONS_QUEUE_PROPERTIES:x-max-length-bytes:1048576000;x-message-ttl:604800000}"
2020-03-18 18:07:24 +02:00
partitions :
hash_function_name : "${TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME:murmur3_128}"
2020-03-11 20:09:41 +02:00
transport_api :
2020-04-13 18:33:11 +03:00
requests_topic : "${TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC:tb_transport.api.requests}"
responses_topic : "${TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC:tb_transport.api.responses}"
2020-03-11 20:09:41 +02:00
max_pending_requests : "${TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS:10000}"
max_requests_timeout : "${TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT:10000}"
2020-03-18 18:07:24 +02:00
max_callback_threads : "${TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS:100}"
request_poll_interval : "${TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS:25}"
2020-03-11 20:09:41 +02:00
response_poll_interval : "${TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS:25}"
core :
2020-04-13 18:33:11 +03:00
topic : "${TB_QUEUE_CORE_TOPIC:tb_core}"
2020-04-13 14:59:48 +03:00
poll-interval : "${TB_QUEUE_CORE_POLL_INTERVAL_MS:25}"
2020-03-18 18:07:24 +02:00
partitions : "${TB_QUEUE_CORE_PARTITIONS:10}"
2020-04-13 14:59:48 +03:00
pack-processing-timeout : "${TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS:60000}"
2020-11-10 16:19:44 +02:00
usage-stats-topic : "${TB_QUEUE_US_TOPIC:tb_usage_stats}"
2020-03-18 18:07:24 +02:00
stats :
enabled : "${TB_QUEUE_CORE_STATS_ENABLED:false}"
2020-04-13 14:59:48 +03:00
print-interval-ms : "${TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS:10000}"
js :
# JS Eval request topic
2020-04-13 18:33:11 +03:00
request_topic : "${REMOTE_JS_EVAL_REQUEST_TOPIC:js_eval.requests}"
2020-04-13 14:59:48 +03:00
# JS Eval responses topic prefix that is combined with node id
2020-04-13 18:33:11 +03:00
response_topic_prefix : "${REMOTE_JS_EVAL_RESPONSE_TOPIC:js_eval.responses}"
2020-04-13 14:59:48 +03:00
# JS Eval max pending requests
max_pending_requests : "${REMOTE_JS_MAX_PENDING_REQUESTS:10000}"
# JS Eval max request timeout
max_requests_timeout : "${REMOTE_JS_MAX_REQUEST_TIMEOUT:10000}"
# JS response poll interval
response_poll_interval : "${REMOTE_JS_RESPONSE_POLL_INTERVAL_MS:25}"
2020-04-08 14:09:56 +03:00
rule-engine :
2020-04-13 18:33:11 +03:00
topic : "${TB_QUEUE_RULE_ENGINE_TOPIC:tb_rule_engine}"
2020-04-08 14:09:56 +03:00
poll-interval : "${TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS:25}"
pack-processing-timeout : "${TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS:60000}"
2020-03-18 18:07:24 +02:00
stats :
2020-04-08 14:09:56 +03:00
enabled : "${TB_QUEUE_RULE_ENGINE_STATS_ENABLED:true}"
2020-05-14 19:00:53 +03:00
print-interval-ms : "${TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS:60000}"
2020-03-18 18:07:24 +02:00
transport :
2020-04-13 14:59:48 +03:00
# For high priority notifications that require minimum latency and processing time
2020-04-13 18:33:11 +03:00
notifications_topic : "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC:tb_transport.notifications}"
2020-07-20 13:13:39 +03:00
poll_interval : "${TB_QUEUE_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS:25}"
2020-03-18 18:07:24 +02:00
service :
2020-04-08 14:09:56 +03:00
type : "${TB_SERVICE_TYPE:tb-transport}"
2020-03-18 18:07:24 +02:00
# Unique id for this service (autogenerated if empty)
id : "${TB_SERVICE_ID:}"
2020-07-10 13:01:39 +03:00
2023-04-07 17:06:21 +03:00
# Usage statistics parameters
usage :
stats :
report :
enabled : "${USAGE_STATS_REPORT_ENABLED:true}"
enabled_per_customer : "${USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED:false}"
interval : "${USAGE_STATS_REPORT_INTERVAL:10}"
2020-07-10 13:01:39 +03:00
metrics :
# Enable/disable actuator metrics.
enabled : "${METRICS_ENABLED:false}"
management :
endpoints :
web :
exposure :
# Expose metrics endpoint (use value 'prometheus' to enable prometheus metrics).
2021-06-30 19:30:39 +03:00
include : '${METRICS_ENDPOINTS_EXPOSE:info}'
2023-06-02 15:09:09 +03:00
notification_system :
rules :
2023-06-13 14:12:54 +03:00
# Semicolon-separated deduplication durations (in millis) for trigger types. Format: 'NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456'
deduplication_durations : "${TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS:RATE_LIMITS:14400000;}"