Skip to content

Latest commit

 

History

History
90 lines (89 loc) · 23 KB

EnvironmentVariables.md

File metadata and controls

90 lines (89 loc) · 23 KB

EdgeAgent

Variable Description Value Range Default Value
BackupConfigFilePath Path to put the backup deployment config file string
CloseCloudConnectionOnIdleTimeout Whether the upstream connection should be closed when CloudConnectionIdleTimeoutSecs is reached bool false
CloudConnectionIdleTimeoutSecs If there are no IoT operations, time span to wait before the upstream connection is considered idle int32 300
ConfigRefreshFrequencySecs Interval at which the EdgeAgent config is refreshed from upstream int32 3600
ConfigSource twin / local, specifies where the deployment config should be read from twin, local twin
CoolOffTimeUnitInSeconds Time span to wait between restart attempts on a module 0-300 10
EnableK8sServiceCallTracing Whether to enable logging for K8s requests that the Agent makes bool false
Https_Proxy Address of the proxy to use for outbound HTTPS requests string
IntensiveCareTimeInMinutes Time span for a module to be running before considered completely healthy (restart time / count cleared) int32
K8sNamespace K8s namespace to use for deploying modules string
LocalConfigPath Path to local .json file containing Agent config string .\config.json
MaxRestartCount Max number of restarts allowed before a module is considered to have failed int32
MetricsEnabled Whether to enable metrics listener bool true
MetricsHistogramMaxAge Time interval for the metrics histogram TimeSpan string 00:01:00 (1 hour)
MetricScrapeInterval Interval at which diagnostic metrics are sampled TimeSpan string 00:01:00 (1 hour)
MetricUploadInterval Interval at which diagnostic metrics are uploaded TimeSpan string 01:00:00 (1 day)
PerformanceMetricsUpdateFrequency Interval to sample system performance metrics from host. These include CPU, RAM and Disk Space measurements. TimeSpan string 00:00:05 (5 minutes)
Mode specifies the mode for module deployment iotedged, docker, kubernetes iotedged
PersistentVolumeClaimDefaultSizeInMb Size of the PersistedVolumeClaim, must be used with StorageClassName int32
RequestTimeoutSecs Timeout for handling ping and GetTaskStatus direct methods int32 600
RocksDB_MaxOpenFiles Max number of files to be concurrently opened by RocksDB int32
RocksDB_MaxTotalWalSize Max sized to be used by RocksDB's write-ahead-log int32
RunAsNonRoot If set, runs at user = 1000 instead of root bool false
RuntimeLogLevel Runtime diagnostic logging level fatal, error, warning, info, debug, verbose info
SendRuntimeQualityTelemetry Whether to enable sending runtime diagnostics metric bool true
Storage_LogLevel RocksDB diagnostic log level NONE, FATAL, HEADER, ERROR, WARN, INFO, DEBUG NONE
StorageClassName StorageClassName to be used when creating a PersistedVolumeClaim string
StorageFolder Path to place the EdgeAgent database directory string TempPath of the current OS
UpstreamProtocol Protocol used to for upstream connections Amqp, AmqpWs, Mqtt, MqttWs Amqp w/ fallback to AmqpWs
UseMountSourceForVolumeName If set, the k8s conversion will use the volume mount source as persistent volume name bool false
UsePersistentStorage Whether to save deployment config and module states to disk bool true
UseServerHeartbeat Sets the client-side heartbeat interval to 60sec for the Agent's upstream AMQP connection bool true

EdgeHub

Variable Description Values Default
AmqpSettings__Enabled Whether the AMQP protocol head should be enabled bool true
AmqpSettings__Port The port for the AMQP protocol head to listen on int32 5671
AuthenticationMode Determines who performs authentication Scope, Cloud, CloudAndScope CloudAndScope
BackupFolder Path to place the backup EdgeHub database directory string TempPath of the current OS
CacheTokens Whether client authentication tokens are saved to disk bool false
CheckEntireQueueOnCleanup Periodically check all pending messages for TTL expiry, incurs more I/O but saves more storage bool false
ClientCertAuthEnabled Allows dev certificates to be used during SSL handshake with upstream and bypass cert validation bool false
CloseCloudConnectionOnDeviceDisconnect If a leaf device disconnections, immediately closes the corresponding upstream connection bool true
CloseCloudConnectionOnIdleTimeout Whether the upstream connection should be closed when CloudConnectionIdleTimeoutSecs is reached bool true
CloudConnectionIdleTimeoutSecs If there are no IoT operations, time span to wait before the upstream connection is considered idle int32 3600
CloudOperationTimeoutSecs Time out for any upstream IoT operation int32 20
ConfigRefreshFrequencySecs Interval at which the EdgeHub config is refreshed from upstream int32 3600
ConfigSource Uses config from either EdgeHub twin, or a local config source twin, local twin
ConnectivityCheckFrequencySecs Interval at which EdgeHub will ping upstream to ensure connectivity is still present int32 300
DeviceScopeCacheRefreshRateSecs Interval at which leaf and module identities are refreshed from upstream int32 3600
EnableRoutingLogging Whether message routing logs should be enabled bool false
EncryptTwinStore Whether to encrypt the twin data before persisting to disk bool true
Https_Proxy Address of the proxy to use for outbound HTTPS requests string
HttpSettings__Enabled Whether the HTTP server should be enabled bool true
HttpSettings__Port The port for the HTTP protocol head to listen on int32 443
ApiProxyModuleId This is the ApiProxy module name that is authorized to forward the client certificate for client CA certificate authentication string IoTEdgeAPIProxy
IotHubConnectionPoolSize Pool size for upstream AMQP connection int32
MaxConnectedClients Maximum number of downstream clients allowed to connect int32 101 (100 clients + 1 EdgeHub)
MaxUpstreamBatchSize Max number of messages to concurrently send upstream int32 10
MessageAckTimeoutSecs Time span to wait for sending a message downstream to a leaf device int32 30
MessageCleanupInterval Time interval for task that cleans up messages in edgeHub's store int32 1800
Metrics__Listener__Host Hostname of the metrics listener, used to construct the metrics listener URL string *
Metrics__Listener__MetricsEnabled Whether to enable metrics listener bool true
Metrics__Listener__MetricsHistogramMaxAge Time interval for the metrics histogram TimeSpan string 00:01:00 (1 hour)
Metrics__Listener__Port Port of the metrics listener, used to construct the metrics listener URL int32 9600
Metrics__Listener__Suffix Appended to the metrics listener URL string metrics
MinTwinSyncPeriodSecs Maximum frequency for pull any device/module twin int32 120
MqttSettings__Enabled Whether the MQTT broker should be enabled bool true
OptimizeForPerformance Increase RocksDB file I/O usage to speed up message storage bool true
ReportedPropertiesSyncFrequencySecs Maximum frequency for pushing reported properties upstream int32 5
RocksDB_MaxOpenFiles Max number of files to be concurrently opened by RocksDB int32
RocksDB_MaxTotalWalSize Max sized to be used by RocksDB's write-ahead-log int32
RuntimeLogLevel Runtime diagnostic logging level fatal, error, warning, info, debug, verbose info
ShutdownWaitPeriod Seconds to wait on shutdown before hard termination int32 60
SslProtocols TLS protocol(s) to be supported tls1.0, tls1.1, tls1.2, or any combination thereof separated by comma all
Storage_LogLevel RocksDB diagnostic log level NONE, FATAL, HEADER, ERROR, WARN, INFO, DEBUG NONE
StorageFolder Path to place the EdgeHub databases directory string TempPath of the current OS
UpstreamFanOutFactor Max number of message groups to concurrently process for sending, grouped by sender int32 10
UpstreamProtocol Protocol used to for upstream connections Amqp, AmqpWs, Mqtt, MqttWs Amqp w/ fallback to AmqpWs
UseServerHeartbeat Sets the client-side heartbeat interval to 60sec for upstream AMQP connections bool true
UsePersistentStorage If set, will enable directly persisting messages / twins into the local database before forwarding/processing bool true
EnableNonPersistentStorageBackup If messages / twins are not directly persisted, this will backup twins and any unprocessed messages on shutdown so Edge can resume on next startup bool false
MqttBroker__MaxInflightMessages Maximum number of QoS 1 messages that can be in the process of being sent simultaneously for a single session int32 16
MqttBroker__MaxQueuedMessages Maximum number of messages that can be in the outgoing queue for a single session int32 1000
MqttBroker__MaxQueuedBytes Maximum number of bytes that can be in the outgoing queue for a single session int32 (arm), int64 (amd64) 0 (no limit)
MqttBroker__WhenFull Defines what to do in case either max queued messages or max queued bytes is reached drop_new, drop_old drop_new