anchor.diff:  | `socket_events`            | `"DownloadComplete", "DownloadFailed"` | Events to broadcast to connected sockets.
   | `ipdiscovery_host`         | `"127.0.0.1"`                          | Subnetmask for primary to broadcast for secondary discovery.
   | `ipdiscovery_port`         | `9031`                                 | Port for primary to broadcast for secondary discovery.
  -| `ipdiscovery_wait_seconds` | `10`                                   | Seconds to wait for secondaries to respond to discovery broadcast message.
  +| `ipdiscovery_wait_seconds` | `2`                                   | Seconds to wait for secondaries to respond to discovery broadcast message.
   | `ipuptane_port`            | `9030`                                 | Port to listen on for incoming messages
   
   |==========================================================================================
  
positive.code: Options for how the device is provisioned with the backend.
  
  [options="header"]
  |=====================================================================================
  | Name             | Default   | Description
  | `server`         |           | Server provisioning URL. If empty, set to `tls.server`.
  | `provision_path` |           | Path to an archive containing provisioning data. See link:credentials.adoc[] for the specification of the contents of this file.
  | `p12_password`   |           | Password for PKCS#12 encryption.
  | `expiry_days`    | `"36000"` | Provided in the `ttl` field of the device provisioning request sent to the server.
  |=====================================================================================
  
  If you intend to provision with a server by using https://github.com/advancedtelematic/meta-updater[meta-updater], you will probably want to set `provision.provision_path = "/var/sota/sota_provisioning_credentials.zip"`.
  
  
negative.code: [options="header"]
  |==========================================================================================
  | Name                      | Default      | Description
  | `running_mode`            | `full`       | Continuously poll the server (`full`), perform a full update cycle once and exit (`once`), only check for updates (`check`), only download updates (`download`) or only install updates (`install`).
  | `polling_sec`             | `10`         | Interval between polls (in seconds).
  | `director_server`         |              | Director server URL. If empty, set to `tls.server` with `/director` appended.
  | `repo_server`             |              | Image repository server URL. If empty, set to `tls.server` with `/repo` appended.
  | `key_source`              | `"file"`     | Where to read the device's private key from. Options: `"file"`, `"pkcs11"`.
  | `key_type`                | `"RSA2048"`  | Type of cryptographic keys to use. Options: `"ED25519"`, `"RSA2048"`, `"RSA3072"` or `"RSA4096"`.
  | `legacy_interface`        |              | Path to an executable interface for communicating with legacy secondary ECUs. See link:legacysecondary.adoc[] for more information.
  |==========================================================================================
  
  