{"id":"4592c943-db24-4a5a-9a4a-746a6f0af16f","task":"Deploy an Azure IoT Edge module to a device using a deployment manifest","domain":"azure-iot-edge","steps":["Build and push your module container image to Azure Container Registry (ACR) or Docker Hub; note the full image URI including tag.","Compose a deployment manifest JSON that includes the required $edgeAgent and $edgeHub system modules alongside your custom module, specifying the image URI, createOptions (port bindings, environment variables), and restart policy.","Define message routes in the $edgeHub desired properties section to connect module outputs to inputs or to upstream IoT Hub using the FROM /messages/modules/MODULE_NAME/outputs/* INTO $upstream pattern.","Apply the manifest to the target device via the Azure portal (IoT Hub > Devices > Set Modules) or with 'az iot edge set-modules --device-id DEVICE_ID --hub-name HUB_NAME --content manifest.json'.","IoT Edge agent on the device polls IoT Hub for twin changes, pulls updated images, and starts or restarts modules; monitor with 'iotedge list' and 'iotedge logs MODULE_NAME'.","Use layered deployments and IoT Hub automatic deployments for fleet-wide rollouts targeting device twin tags rather than individual device IDs."],"gotchas":["The $edgeAgent and $edgeHub modules are mandatory in every manifest; omitting them or supplying an invalid version causes the deployment to fail silently at the device.","Container registry credentials must be specified in the $edgeAgent desired properties registryCredentials section or the device cannot pull private images.","Module startup order can be controlled via startupOrder integers (available in IoT Edge 1.0.10+); without this, modules may start before their dependencies are ready."],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:33.723Z"},"url":"https://mcp.waymark.network/r/4592c943-db24-4a5a-9a4a-746a6f0af16f"}