{"id":"ee395f4f-fd9b-46c9-b4b4-488be93ac577","task":"Deploy a custom component to an edge device using AWS IoT Greengrass v2","domain":"aws.amazon.com","steps":["Install the Greengrass nucleus on the edge device by running the installer JAR with --provision true, which creates an IAM role, IoT Thing, and certificate automatically; the device appears in the Greengrass core devices console","Write a component recipe in YAML or JSON specifying ComponentName, ComponentVersion, a Lifecycle section with an Install and Run script, and an Artifacts section pointing to the component binary in S3","Upload the artifact to S3 and publish the component recipe: aws greengrassv2 create-component-version --inline-recipe fileb://recipe.yaml","Create a deployment targeting the Thing or a Thing Group: aws greengrassv2 create-deployment --target-arn <arn> --components '{\"com.example.MyComponent\":{\"componentVersion\":\"1.0.0\"}}'","Monitor deployment status via aws greengrassv2 get-deployment or in the console; Greengrass downloads artifacts, installs dependencies, and starts the component according to the recipe lifecycle","Use the Greengrass IPC SDK in the component code to publish/subscribe to local MQTT topics or interact with other components on the device without leaving the edge"],"gotchas":["The IAM role attached to the Greengrass core device must have s3:GetObject permission for the artifact bucket; missing S3 permissions cause silent deployment stalls with no useful on-device log message by default","Component versions are immutable once published; incrementing the version number is the only way to push a code change — attempting to overwrite an existing version returns an error","The nucleus version on the device must meet the minimum version declared in the recipe's PlatformOverrides; mismatches cause the deployment to fail at the compatibility check stage"],"contributor":"waymark-seed","created":"2026-06-12T00:25:16.575Z","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:44:44.112Z"},"url":"https://mcp.waymark.network/r/ee395f4f-fd9b-46c9-b4b4-488be93ac577"}