You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: This article shows you how to configure Azure IoT Edge device settings and options using the config.toml file.
4
4
author: PatAltimore
5
5
ms.author: patricka
6
-
ms.date: 06/27/2024
6
+
ms.date: 05/14/2025
7
7
ms.topic: how-to
8
8
ms.service: azure-iot-edge
9
9
services: iot-edge
@@ -15,7 +15,7 @@ services: iot-edge
15
15
16
16
This article shows settings and options for configuring the IoT Edge */etc/aziot/config.toml* file of an IoT Edge device. IoT Edge uses the *config.toml* file to initialize settings for the device. Each of the sections of the *config.toml* file has several options. Not all options are mandatory, as they apply to specific scenarios.
17
17
18
-
A template containing all options can be found in the *config.toml.edge.template* file within the */etc/aziot* directory on an IoT Edge device. You can copy the contents of the whole template or sections of the template into your *config.toml* file. Uncomment the sections you need. Be aware not to copy over parameters you have already defined.
18
+
A template containing all options can be found in the *config.toml.edge.template* file within the */etc/aziot* directory on an IoT Edge device. You can copy the contents of the whole template or sections of the template into your *config.toml* file. Uncomment the sections you need. Be aware not to copy over parameters you previously defined.
19
19
20
20
If you change a device's configuration, use `sudo iotedge config apply` to apply the changes.
21
21
@@ -28,9 +28,9 @@ The **hostname**, **parent_hostname**, **trust_bundle_cert**, **allow_elevated_d
28
28
To enable gateway discovery, every IoT Edge gateway (parent) device needs to specify a hostname parameter that its child devices use to find it on the local network. The *edgeHub* module also uses the hostname parameter to match with its server certificate. For more information, see [Why does EdgeGateway need to be told about its own hostname?](iot-edge-certs.md#why-does-edgegateway-need-to-be-told-about-its-own-hostname).
29
29
30
30
> [!NOTE]
31
-
> When the hostname value isn't set, IoT Edge attempts to find it automatically. However, clients in the network may not be able to discover the device if it isn't set.
31
+
> When the hostname value isn't set, IoT Edge attempts to find it automatically. However, clients in the network might not be able to discover the device if it isn't set.
32
32
33
-
For **hostname**, replace **fqdn-device-name-or-ip-address** with your device name to override the default hostname of the device. The value can be a fully qualified domain name (FQDN) or an IP address. Use this setting as the gateway hostname on a IoT Edge gateway device.
33
+
For **hostname**, replace **fqdn-device-name-or-ip-address** with your device name to override the default hostname of the device. The value can be a fully qualified domain name (FQDN) or an IP address. Use this setting as the gateway hostname on an IoT Edge gateway device.
34
34
35
35
```toml
36
36
hostname = "fqdn-device-name-or-ip-address"
@@ -46,7 +46,7 @@ Replace **fqdn-parent-device-name-or-ip-address** with the name of your parent d
For more information about setting the *parent_hostname* parameter, see [Connect Azure IoT Edge devices together to create a hierarchy](how-to-connect-downstream-iot-edge-device.md#update-downstream-configuration-file).
49
+
For more information about setting the *parent_hostname* parameter, see [Connect Azure IoT Edge devices to create a hierarchy](how-to-connect-downstream-iot-edge-device.md#update-downstream-configuration-file).
50
50
51
51
### Trust bundle certificate
52
52
@@ -56,7 +56,7 @@ To provide a custom certificate authority (CA) certificate as a root of trust fo
For more information about the IoT Edge trust bundle, see [Manage trusted root CA](how-to-manage-device-certificates.md#manage-trusted-root-ca-trust-bundle).
59
+
For more information about the IoT Edge trust bundle, see [Manage trusted root CA (trust bundle)](how-to-manage-device-certificates.md#manage-trusted-root-ca-trust-bundle).
The optional **auto_reprovisioning_mode** parameter specifies the conditions that decide when a device attempts to automatically reprovision with Device Provisioning Service. Auto provisioning mode is ignored if the device has been provisioned manually. For more information about setting DPS provisioning mode, see the [Provisioning](#provisioning) section in this article for more information.
73
+
The optional **auto_reprovisioning_mode** parameter specifies the conditions that decide when a device attempts to automatically reprovision with Device Provisioning Service. Auto provisioning mode is ignored if the device is provisioned manually. For more information about setting DPS provisioning mode, see the [Provisioning](#provisioning) section in this article.
74
74
75
75
One of the following values can be set:
76
76
77
77
| Mode | Description |
78
78
|------|-------------|
79
-
| Dynamic | Reprovision when the device detects that it may have been moved from one IoT Hub to another. This mode is *the default*. |
79
+
| Dynamic | Reprovision when the device detects that it might have been moved from one IoT Hub to another. This mode is *the default*. |
80
80
| AlwaysOnStartup | Reprovision when the device is rebooted or a crash causes the daemons to restart. |
81
81
| OnErrorOnly | Never trigger device reprovisioning automatically. Device reprovisioning only occurs as fallback, if the device is unable to connect to IoT Hub during identity provisioning due to connectivity errors. This fallback behavior is implicit in Dynamic and AlwaysOnStartup modes as well. |
82
82
@@ -227,7 +227,7 @@ These settings control the timeout and retries for cloud operations, such as com
227
227
228
228
The **cloud_timeout_sec** parameter is the deadline in seconds for a network request to cloud services. For example, an HTTP request. A response from the cloud service must be received before this deadline, or the request fails as a timeout.
229
229
230
-
The **cloud_retries** parameter controls how many times a request may be retried after the first try fails. The client always sends at least once, so the value is number of retries after the first try fails. For example, `cloud_retries = 2` means that the client makes a total of three attempts.
230
+
The **cloud_retries** parameter controls how many times a request might be retried after the first try fails. The client always sends at least once, so the value is number of retries after the first try fails. For example, `cloud_retries = 2` means that the client makes a total of three attempts.
231
231
232
232
```toml
233
233
cloud_timeout_sec = 10
@@ -260,7 +260,7 @@ identity_pk = "pkcs11:slot-id=0;object=est-id?pin-value=1234" # PKCS#11 URI
260
260
261
261
### EST ID cert requested via EST bootstrap ID cert
262
262
263
-
Authentication with a TLS client certificate that is used once to create the initial EST ID certificate. After the first certificate issuance, an `identity_cert` and `identity_pk` are automatically created and used for future authentication and renewals. The Subject Common Name (CN) of the generated EST ID certificate is always the same as the configured device ID under the provisioning section. These files must be readable by the users *aziotcs* and *aziotks*, respectively.
263
+
Authentication with a TLS client certificate that is used once to create the initial EST ID certificate. After the first certificate issuance, an `identity_cert` and `identity_pk` are automatically created and used for future authentication and renewals. The Subject Common Name (CN) of the generated EST ID certificate is always the same as the configured device ID under the provisioning section. These files must be readable by the *aziotcs* and *aziotks* users, respectively.
### Edge CA certificate issued from a local CA certificate
435
435
436
-
Requires [cert_issuance.local_ca] to be set.
436
+
Requires `[cert_issuance.local_ca]` to be set.
437
437
438
438
```toml
439
439
[edge_ca]
@@ -449,7 +449,7 @@ expiry_days = 90
449
449
If you don't have your own Edge CA certificate used to issue all module certificates, use this section and set the number of days for the lifetime of the autogenerated self-signed Edge CA certificate. Expiration defaults to 90 days.
450
450
451
451
> [!CAUTION]
452
-
> This setting is **NOT recommended for production usage**. Please configure your own Edge CA certificate in the Edge CA certificate sections.
452
+
> This setting is **NOT recommended for production usage**. Configure your own Edge CA certificate in the Edge CA certificate sections.
0 commit comments