# Maximum number of dynamic queries per refresh interval. For example, no more than 10 alarm queries executed by user simultaneously in all browsers.
# Maximum number of dynamic queries per refresh interval. For example, no more than 10 alarm queries are executed by the user simultaneously in all browsers.
# The recalculate_delay property recommended in a microservices architecture setup for rule-engine services.
# 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.
jwt:# Since 3.4.2 values are persisted to the database during install or upgrade. On Install, the key will be generated randomly if no custom value set. You can change it later from Web UI under SYS_ADMIN
jwt:# Since 3.4.2 values are persisted in the database during installation or upgrade. On Install, the key will be generated randomly if no custom value set. You can change it later from Web UI under SYS_ADMIN
tokenExpirationTime:"${JWT_TOKEN_EXPIRATION_TIME:9000}"# Number of seconds (2.5 hours)
refreshTokenExpTime:"${JWT_REFRESH_TOKEN_EXPIRATION_TIME:604800}"# Number of seconds (1 week).
tokenIssuer:"${JWT_TOKEN_ISSUER:thingsboard.io}"# User JWT Token issuer
# Enable/disable claiming devices, if false -> the device's [claimingAllowed] SERVER_SCOPE attribute must be set to [true] to allow claiming specific device
# Enable/disable claiming devices; if false -> the device's [claimingAllowed] SERVER_SCOPE attribute must be set to [true] to allow claiming the specific device
# Sets the linger-on-close timeout. By default, this option is not set by the driver. The actual value will be the default from the underlying Netty transport
callback_threads:"${CASSANDRA_QUERY_CALLBACK_THREADS:4}"# Buffered rate executor (read, write), for managing I/O rate. See "nosql-*-callback" threads in JMX
callback_threads:"${CASSANDRA_QUERY_CALLBACK_THREADS:4}"# Buffered rate executor (read, write) for managing I/O rate. See "nosql-*-callback" threads in JMX
result_processing_threads:"${CASSANDRA_QUERY_RESULT_PROCESSING_THREADS:50}"# Result set transformer and processing. See "cassandra-callback" threads in JMX
# Cassandra query queue polling interval in milliseconds
poll_ms:"${CASSANDRA_QUERY_POLL_MS:50}"
# Interval in milliseconds for printing Cassandra query queue statistic
# Specify batch size for persisting attribute updates
attributes:
batch_size:"${SQL_ATTRIBUTES_BATCH_SIZE:1000}"# Batch size for persisting attribute updates
batch_max_delay:"${SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS:50}"# Max timeout for attributes entries queue polling. Value set in milliseconds
batch_max_delay:"${SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS:50}"# Max timeout for attributes entries queue polling. The value is set in milliseconds
stats_print_interval_ms:"${SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS:10000}"# Interval in milliseconds for printing attributes updates statistic
batch_threads:"${SQL_ATTRIBUTES_BATCH_THREADS:3}"# batch thread count have to be a prime number like 3 or 5 to gain perfect hash distribution
batch_threads:"${SQL_ATTRIBUTES_BATCH_THREADS:3}"# batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution
value_no_xss_validation:"${SQL_ATTRIBUTES_VALUE_NO_XSS_VALIDATION:false}"# If true attribute values will be checked for XSS vulnerability
ts:
batch_size:"${SQL_TS_BATCH_SIZE:10000}"# Batch size for persisting timeseries inserts
batch_max_delay:"${SQL_TS_BATCH_MAX_DELAY_MS:100}"# Max timeout for time-series entries queue polling. Value set in milliseconds
batch_max_delay:"${SQL_TS_BATCH_MAX_DELAY_MS:100}"# Max timeout for time-series entries queue polling. The value set in milliseconds
stats_print_interval_ms:"${SQL_TS_BATCH_STATS_PRINT_MS:10000}"# Interval in milliseconds for printing timeseries insert statistic
batch_threads:"${SQL_TS_BATCH_THREADS:3}"# batch thread count have to be a prime number like 3 or 5 to gain perfect hash distribution
batch_threads:"${SQL_TS_BATCH_THREADS:3}"# batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution
value_no_xss_validation:"${SQL_TS_VALUE_NO_XSS_VALIDATION:false}"# If true telemetry values will be checked for XSS vulnerability
ts_latest:
batch_size:"${SQL_TS_LATEST_BATCH_SIZE:1000}"# Batch size for persisting latest telemetry updates
batch_max_delay:"${SQL_TS_LATEST_BATCH_MAX_DELAY_MS:50}"# Maximum timeout for latest telemetry entries queue polling. The value set in milliseconds
stats_print_interval_ms:"${SQL_TS_LATEST_BATCH_STATS_PRINT_MS:10000}"# Interval in milliseconds for printing latest telemetry updates statistic
batch_threads:"${SQL_TS_LATEST_BATCH_THREADS:3}"# batch thread count have to be a prime number like 3 or 5 to gain perfect hash distribution
update_by_latest_ts:"${SQL_TS_UPDATE_BY_LATEST_TIMESTAMP:true}"# Update latest values only if the timestamp of the new record is greater or equals than timestamp of the previously saved latest value. Latest values are stored separately from historical values for fast lookup from DB. Insert of historical value happens in any case
batch_threads:"${SQL_TS_LATEST_BATCH_THREADS:3}"# batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution
update_by_latest_ts:"${SQL_TS_UPDATE_BY_LATEST_TIMESTAMP:true}"# Update latest values only if the timestamp of the new record is greater or equals the timestamp of the previously saved latest value. The latest values are stored separately from historical values for fast lookup from DB. Insert of historical value happens in any case
events:
batch_size:"${SQL_EVENTS_BATCH_SIZE:10000}"# Batch size for persisting latest telemetry updates
batch_max_delay:"${SQL_EVENTS_BATCH_MAX_DELAY_MS:100}"# Max timeout for latest telemetry entries queue polling. The value set in milliseconds
stats_print_interval_ms:"${SQL_EVENTS_BATCH_STATS_PRINT_MS:10000}"# Interval in milliseconds for printing latest telemetry updates statistic
batch_threads:"${SQL_EVENTS_BATCH_THREADS:3}"# batch thread count have to be a prime number like 3 or 5 to gain perfect hash distribution
batch_threads:"${SQL_EVENTS_BATCH_THREADS:3}"# batch thread count has to be a prime number like 3 or 5 to gain perfect hash distribution
partition_size:"${SQL_EVENTS_REGULAR_PARTITION_SIZE_HOURS:168}"# Number of hours to partition the events. The current value corresponds to one week.
debug_partition_size:"${SQL_EVENTS_DEBUG_PARTITION_SIZE_HOURS:1}"# Number of hours to partition the debug events. The current value corresponds to one hour.
edge_events:
@ -356,13 +357,13 @@ sql:
batch_sort:"${SQL_BATCH_SORT:true}"
# Specify whether to remove null characters from strValue of attributes and timeseries before insert
remove_null_chars:"${SQL_REMOVE_NULL_CHARS:true}"
# Specify whether to log database queries and their parameters generated by entity query repository
# Specify whether to log database queries and their parameters generated by the entity query repository
log_queries:"${SQL_LOG_QUERIES:false}"
# Threshold of slow SQL queries to log. The value set in milliseconds
enabled:"${SQL_TTL_EDGE_EVENTS_ENABLED:true}"# The parameter to specify whether to use TTL (Time To Live) for egde event records
@ -397,33 +398,33 @@ sql:
checking_interval:"${SQL_RPC_TTL_CHECKING_INTERVAL:7200000}"# Number of milliseconds. The current value corresponds to two hours
audit_logs:
enabled:"${SQL_TTL_AUDIT_LOGS_ENABLED:true}"# The parameter to specify whether to use TTL (Time To Live) for audit log records
ttl:"${SQL_TTL_AUDIT_LOGS_SECS:0}"# Disabled by default. Accuracy of the cleanup depends on the sql.audit_logs.partition_size
ttl:"${SQL_TTL_AUDIT_LOGS_SECS:0}"# Disabled by default. The accuracy of the cleanup depends on the sql.audit_logs.partition_size
checking_interval_ms:"${SQL_TTL_AUDIT_LOGS_CHECKING_INTERVAL_MS:86400000}"# Default value - 1 day
notifications:
enabled:"${SQL_TTL_NOTIFICATIONS_ENABLED:true}"# The parameter to specify whether to use TTL (Time To Live) for notification center records
ttl:"${SQL_TTL_NOTIFICATIONS_SECS:2592000}"# Default value - 30 days
checking_interval_ms:"${SQL_TTL_NOTIFICATIONS_CHECKING_INTERVAL_MS:86400000}"# Default value - 1 day
relations:
max_level:"${SQL_RELATIONS_MAX_LEVEL:50}"# This value has to be reasonable small to prevent infinite recursion as early as possible
pool_size:"${SQL_RELATIONS_POOL_SIZE:4}"# This value has to be reasonable small to prevent relation query blocking all other DB calls
query_timeout:"${SQL_RELATIONS_QUERY_TIMEOUT_SEC:20}"# This value has to be reasonable small to prevent relation query blocking all other DB calls
max_level:"${SQL_RELATIONS_MAX_LEVEL:50}"# This value has to be reasonably small to prevent infinite recursion as early as possible
pool_size:"${SQL_RELATIONS_POOL_SIZE:4}"# This value has to be reasonably small to prevent the relation query from blocking all other DB calls
query_timeout:"${SQL_RELATIONS_QUERY_TIMEOUT_SEC:20}"# This value has to be reasonably small to prevent the relation query from blocking all other DB calls
# Actor system parameters
actors:
system:
throughput:"${ACTORS_SYSTEM_THROUGHPUT:5}"# Number of messages the actor system will process per actor before switching to processing of messages for next actor
throughput:"${ACTORS_SYSTEM_THROUGHPUT:5}"# Number of messages the actor system will process per actor before switching to processing of messages for the next actor
scheduler_pool_size:"${ACTORS_SYSTEM_SCHEDULER_POOL_SIZE:1}"# Thread pool size for actor system scheduler
max_actor_init_attempts:"${ACTORS_SYSTEM_MAX_ACTOR_INIT_ATTEMPTS:10}"# Maximum number of attempts to init the actor before disabling the actor
app_dispatcher_pool_size:"${ACTORS_SYSTEM_APP_DISPATCHER_POOL_SIZE:1}"# Thread pool size for main actor system dispatcher
tenant_dispatcher_pool_size:"${ACTORS_SYSTEM_TENANT_DISPATCHER_POOL_SIZE:2}"# Thread pool size for actor system dispatcher that process messages for tenant actors
device_dispatcher_pool_size:"${ACTORS_SYSTEM_DEVICE_DISPATCHER_POOL_SIZE:4}"# Thread pool size for actor system dispatcher that process messages for device actors
rule_dispatcher_pool_size:"${ACTORS_SYSTEM_RULE_DISPATCHER_POOL_SIZE:8}"# Thread pool size for actor system dispatcher that process messages for rule engine (chain/node) actors
rule_dispatcher_pool_size:"${ACTORS_SYSTEM_RULE_DISPATCHER_POOL_SIZE:8}"# Thread pool size for actor system dispatcher that processes messages for rule engine (chain/node) actors
tenant:
create_components_on_init:"${ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT:true}"# Create components in initialization
session:
max_concurrent_sessions_per_device:"${ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE:1}"# Max number of concurrent sessions per device
sync:
# Default timeout for processing request using synchronous session (HTTP, CoAP) in milliseconds
# Default timeout for processing requests using synchronous session (HTTP, CoAP) in milliseconds
timeout:"${ACTORS_SESSION_SYNC_TIMEOUT:10000}"
rule:
# Specify thread pool size for database request callbacks executor service
@ -441,7 +442,7 @@ actors:
# Specify thread pool size for external call service
maximumPoolSize:"${CACHE_MAXIMUM_POOL_SIZE:16}"# max pool size to process futures that calls the external cache
maximumPoolSize:"${CACHE_MAXIMUM_POOL_SIZE:16}"# max pool size to process futures that call the external cache
attributes:
# make sure that if cache.type is 'redis' and cache.attributes.enabled is 'true' that you change 'maxmemory-policy' Redis config property to 'allkeys-lru', 'allkeys-lfu' or 'allkeys-random'
# make sure that if cache.type is 'redis' and cache.attributes.enabled is 'true' if you change 'maxmemory-policy' Redis config property to 'allkeys-lru', 'allkeys-lfu' or 'allkeys-random'
# 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
# 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
# TTL for short-living SET commands that are used to replace DEL in order to enable transaction support
# TTL for short-living SET commands that are used to replace DEL to enable transaction support
evictTtlInMs:"${REDIS_EVICT_TTL_MS:60000}"
# Update version properties
# Update version parameters
updates:
# Enable/disable checks for new version
# Enable/disable checks for the new version
enabled:"${UPDATES_ENABLED:true}"
# Spring CORS configuration
# Spring CORS configuration parameters
spring.mvc.cors:
mappings:
# Intercept path
"[/api/**]":
#Comma-separated list of origins to allow. '*' allows all origins. When not set,CORS support is disabled.
#Comma-separated list of origins to allow. '*' allows all origins. When not set,CORS support is disabled.
allowed-origin-patterns:"*"
#Comma-separated list of methods to allow. '*' allows all methods.
allowed-methods:"*"
@ -674,8 +676,8 @@ spring.mvc.cors:
#Set whether credentials are supported. When not set, credentials are not supported.
allow-credentials:"true"
# General spring properties
spring.main.allow-circular-references:"true"# Spring Boot configuration property that controls whether circular dependencies between beans are allowed or not.
# General spring parameters
spring.main.allow-circular-references:"true"# Spring Boot configuration property that controls whether circular dependencies between beans are allowed.
spring.freemarker.checkTemplateLocation:"false"# spring freemarker configuration
spring.mvc.async.request-timeout:"${SPRING_MVC_ASYNC_REQUEST_TIMEOUT:30000}"# The default timeout for asynchronous requests in milliseconds
spring.mvc.pathmatch.matching-strategy:"ANT_PATH_MATCHER"# For endpoints matching in Swagger
@ -691,7 +693,7 @@ spring.servlet.multipart.max-request-size: "50MB" # Total request size for a mul
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation:"true"#Fix Postgres JPA Error (Method org.postgresql.jdbc.PgConnection.createClob() is not yet implemented)
spring.jpa.properties.hibernate.order_by.default_null_ordering:"${SPRING_JPA_PROPERTIES_HIBERNATE_ORDER_BY_DEFAULT_NULL_ORDERING:last}"# Note: as for current Spring JPA version, custom NullHandling for the Sort.Order is ignored and this parameter is used
# SQL DAO Configuration
# SQL DAO Configuration parameters
spring:
data:
jpa:
@ -716,7 +718,7 @@ spring:
hikari:
# This property controls the amount of time that a connection can be out of the pool before a message is logged indicating a possible connection leak. A value of 0 means leak detection is disabled
# This property allows the number of connections in the pool to increase as demand increases. At the same time, the property ensures that the pool doesn't grow to the point of exhausting a system's resources, which ultimately affects an application's performance and availability
# This property increases the number of connections in the pool as demand increases. At the same time, the property ensures that the pool doesn't grow to the point of exhausting a system's resources, which ultimately affects an application's performance and availability
defaultStateCheckIntervalInSec:"${DEFAULT_STATE_CHECK_INTERVAL:60}"# Interval for checking the device state after a specified period of time. Time in seconds
# Controls whether we store device 'active' flag in attributes (default) or telemetry.
defaultStateCheckIntervalInSec:"${DEFAULT_STATE_CHECK_INTERVAL:60}"# Interval for checking the device state after a specified period. Time in seconds
# Controls whether we store the device 'active' flag in attributes (default) or telemetry.
# If you device to change this parameter, you should re-create the device info view as one of the following:
# If 'persistToTelemetry' is changed from 'false' to 'true': 'CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_ts_view;'
# If 'persistToTelemetry' is changed from 'true' to 'false': 'CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_attribute_view;'
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if device sends any message, including keepalive messages
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if the device sends any message, including keepalive messages
# Batch size to request OID mappings from device (useful when device profile has multiple hundreds of OID mappings)
# Batch size to request OID mappings from the device (useful when the device profile has multiple hundreds of OID mappings)
max_request_oids:"${SNMP_MAX_REQUEST_OIDS:100}"
response:
# To ignore SNMP response values that do not match data type of the configured OID mapping (by default false - will throw error if any value of the response not matches configured data types)
# To ignore SNMP response values that do not match the data type of the configured OID mapping (by default false - will throw an error if any value of the response not match configured data types)
# Device connectivity properties to publish telemetry
# Device connectivity parameters
device:
connectivity:
http:
# If true check-connectivity service will include curl command to the list of all test commands using DEVICE_CONNECTIVITY_HTTP_HOST and DEVICE_CONNECTIVITY_HTTP_PORT variables
# Host of http transport service. If empty base url will be used.
# Host of http transport service. If empty, the base URL will be used.
host:"${DEVICE_CONNECTIVITY_HTTP_HOST:}"
# Port of http transport service. If empty default http port will be used.
# Port of http transport service. If empty, default http port will be used.
port:"${DEVICE_CONNECTIVITY_HTTP_PORT:8080}"
https:
# If true check-connectivity service will include curl command to the list of all test commands using DEVICE_CONNECTIVITY_HTTPS_HOST and DEVICE_CONNECTIVITY_HTTPS_PORT variables
# Persist state of edge (active, last connect, last disconnect) into timeseries or attributes tables. 'false' means to store edge state into attributes table
# The store password for the key store file. This is optional for client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
# 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
# The mechanism used to authenticate Schema Registry requests. SASL/PLAIN should only be used with TLS/SSL as transport layer to ensure that clear passwords are not transmitted on the wire without encryption
# 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
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
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
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
retries:"${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRIES:3}"# Number of retries, 0 is unlimited
failure-percentage:"${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}"# Skip retry if failures or timeouts are less then X percentage of messages;
failure-percentage:"${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}"# Skip retry if failures or timeouts are less than X percentage of messages;
pause-between-retries:"${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_RETRY_PAUSE:3}"# Time in seconds to wait in consumer thread before retries;
max-pause-between-retries:"${TB_QUEUE_RE_MAIN_PROCESSING_STRATEGY_MAX_RETRY_PAUSE:3}"# Max allowed time in seconds for pause between retries.
- name:"${TB_QUEUE_RE_HP_QUEUE_NAME:HighPriority}"# queue name
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
retries:"${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRIES:0}"# Number of retries, 0 is unlimited
failure-percentage:"${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}"# Skip retry if failures or timeouts are less then X percentage of messages;
failure-percentage:"${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}"# Skip retry if failures or timeouts are less than X percentage of messages;
pause-between-retries:"${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries;
max-pause-between-retries:"${TB_QUEUE_RE_HP_PROCESSING_STRATEGY_MAX_RETRY_PAUSE:5}"# Max allowed time in seconds for pause between retries.
- name:"${TB_QUEUE_RE_SQ_QUEUE_NAME:SequentialByOriginator}"# queue name
# For RETRY_ALL, RETRY_FAILED, RETRY_TIMED_OUT, RETRY_FAILED_AND_TIMED_OUT
retries:"${TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRIES:3}"# Number of retries, 0 is unlimited
failure-percentage:"${TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}"# Skip retry if failures or timeouts are less then X percentage of messages;
failure-percentage:"${TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_FAILURE_PERCENTAGE:0}"# Skip retry if failures or timeouts are less than X percentage of messages;
pause-between-retries:"${TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_RETRY_PAUSE:5}"# Time in seconds to wait in consumer thread before retries;
max-pause-between-retries:"${TB_QUEUE_RE_SQ_PROCESSING_STRATEGY_MAX_RETRY_PAUSE:5}"# Max allowed time in seconds for pause between retries.
# After a queue is deleted (or profile's isolation option was disabled), Rule Engine will continue reading related topics during this period, before deleting the actual topics
# After a queue is deleted (or the profile's isolation option was disabled), Rule Engine will continue reading related topics during this period before deleting the actual topics
print(f"Check {input_yaml_file}. There are some yml properties without valid description: (total {len(variables_without_description)}) {variables_without_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
server:
# Server bind address (has no effect if web-environment is disabled).
# 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.
# 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
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if the device sends any message, including keepalive messages
# 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
# The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
key.password:"${TB_KAFKA_SSL_KEY_PASSWORD:}"
# 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
acks:"${TB_KAFKA_ACKS:all}"
# Number of retries. Resend any record whose send fails with a potentially transient error
retries:"${TB_KAFKA_RETRIES:1}"
# The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values none or gzip
compression.type:"${TB_KAFKA_COMPRESSION_TYPE:none}"# none or gzip
# Default batch size. This setting gives the upper bound of the batch size to be sent
batch.size:"${TB_KAFKA_BATCH_SIZE:16384}"
# This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
linger.ms:"${TB_KAFKA_LINGER_MS:1}"
# 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
# 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
# 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
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
@ -198,75 +257,130 @@ queue:
# - key: "session.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
# Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers)
spring.main.allow-circular-references:"true"# Spring Boot configuration property that controls whether circular dependencies between beans are allowed.
# Zookeeper connection parameters. Used for service discovery.
# 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.
# 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
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if device sends any message, including keepalive messages
# The store password for the key store file. This is optional for client and only needed if ‘ssl.keystore.location’ is configured. Key store password is not supported for PEM format
# The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
key.password:"${TB_KAFKA_SSL_KEY_PASSWORD:}"
# 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
acks:"${TB_KAFKA_ACKS:all}"
# Number of retries. Resend any record whose send fails with a potentially transient error
retries:"${TB_KAFKA_RETRIES:1}"
compression.type:"${TB_KAFKA_COMPRESSION_TYPE:none}"# none or gzip
# Default batch size. This setting gives the upper bound of the batch size to be sent
batch.size:"${TB_KAFKA_BATCH_SIZE:16384}"
# This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
linger.ms:"${TB_KAFKA_LINGER_MS:1}"
# 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
# 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
# The mechanism used to authenticate Schema Registry requests. SASL/PLAIN should only be used with TLS/SSL as transport layer to ensure that clear passwords are not transmitted on the wire without encryption
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
@ -183,75 +239,131 @@ queue:
# - key: "session.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
# AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
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
# AWS SQS queue properties. VisibilityTimeout in seconds;MaximumMessageSize in bytes;MessageRetentionPeriod in seconds
# Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers)
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
server:
# Server bind address (has no effect if web-environment is disabled).
# 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.
# 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
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if the device sends any message, including keepalive messages
# 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)
id:"${LWM2M_SERVER_ID_BS:111}"
# LwM2M bootstrap server bind address. Bind to all interfaces by default
bind_address:"${LWM2M_BS_BIND_ADDRESS:0.0.0.0}"
# LwM2M bootstrap server bind port
bind_port:"${LWM2M_BS_BIND_PORT:5687}"
security:
# LwM2M bootstrap server bind address for DTLS. Bind to all interfaces by default
# 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
# The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
key.password:"${TB_KAFKA_SSL_KEY_PASSWORD:}"
# 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
acks:"${TB_KAFKA_ACKS:all}"
# Number of retries. Resend any record whose send fails with a potentially transient error
retries:"${TB_KAFKA_RETRIES:1}"
# The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values none or gzip
compression.type:"${TB_KAFKA_COMPRESSION_TYPE:none}"# none or gzip
# Default batch size. This setting gives the upper bound of the batch size to be sent
batch.size:"${TB_KAFKA_BATCH_SIZE:16384}"
# This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
linger.ms:"${TB_KAFKA_LINGER_MS:1}"
# 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
# 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
# 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
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
@ -264,74 +336,128 @@ queue:
# - key: "session.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
# Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers)
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
server:
# Server bind address (has no effect if web-environment is disabled).
# 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.
# 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
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
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if the device sends any message, including keepalive messages
# 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
# The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
key.password:"${TB_KAFKA_SSL_KEY_PASSWORD:}"
# 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
acks:"${TB_KAFKA_ACKS:all}"
# Number of retries. Resend any record whose send fails with a potentially transient error
retries:"${TB_KAFKA_RETRIES:1}"
# The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values none or gzip
compression.type:"${TB_KAFKA_COMPRESSION_TYPE:none}"# none or gzip
# Default batch size. This setting gives the upper bound of the batch size to be sent
batch.size:"${TB_KAFKA_BATCH_SIZE:16384}"
# This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
linger.ms:"${TB_KAFKA_LINGER_MS:1}"
# 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
# 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
# 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
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
@ -213,75 +273,130 @@ queue:
# - key: "session.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
# Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers)
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
server:
# Server bind address (has no effect if web-environment is disabled).
# 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.
# 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
# Batch size to request OID mappings from the device (useful when the device profile has multiple hundreds of OID mappings)
max_request_oids:"${SNMP_MAX_REQUEST_OIDS:100}"
response:
# To ignore SNMP response values that do not match the data type of the configured OID mapping (by default false - will throw an error if any value of the response not match configured data types)
# Inactivity timeout for device session in transport service. The last activity time of the device session is updated if the device sends any message, including keepalive messages
# 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
# The password of the private key in the key store file or the PEM key specified in ‘keystore.key’
key.password:"${TB_KAFKA_SSL_KEY_PASSWORD:}"
# 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
acks:"${TB_KAFKA_ACKS:all}"
# Number of retries. Resend any record whose send fails with a potentially transient error
retries:"${TB_KAFKA_RETRIES:1}"
# The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values none or gzip
compression.type:"${TB_KAFKA_COMPRESSION_TYPE:none}"# none or gzip
# Default batch size. This setting gives the upper bound of the batch size to be sent
batch.size:"${TB_KAFKA_BATCH_SIZE:16384}"
# This variable creates a small amount of artificial delay—that is, rather than immediately sending out a record
linger.ms:"${TB_KAFKA_LINGER_MS:1}"
# 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
# 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
# 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
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
@ -163,79 +219,137 @@ queue:
# - key: "session.timeout.ms" # refer to https://docs.confluent.io/platform/current/installation/configuration/consumer-configs.html#consumerconfigs_session.timeout.ms
# Network connection between clients and RabbitMQ nodes can fail. RabbitMQ Java client supports automatic recovery of connections and topology (queues, exchanges, bindings, and consumers)