Container Deployment & Commands
Overview
Container Deployment pushes a specific Container Stack revision to one or more WEDA Nodes. WEDA Node handles image pulling, signature verification, and container lifecycle on the edge device. Deployment status is synchronized back to WEDA Core — updates are visible within approximately one minute.
Container Commands let you control the runtime state of already-deployed stacks without redeploying — useful for pausing a workload during maintenance or restarting after a configuration change.
Deployment Flow
Deployment States
The deployment API reports the following aggregate states for each Stack on a device:
| State | Description |
|---|---|
unknown | The deployment status could not be determined |
pending | The desired Stack revision is queued but deployment has not started |
deploying | WEDA Node is validating the Compose configuration, pulling images, or starting containers |
awaitingDeployedStatus | Compose has started the services and WEDA Node is waiting to confirm their runtime status |
running | At least one container in the Stack is running |
deployed | All services declared by the Stack have started successfully |
completed | A one-shot Stack finished successfully |
exited | All containers in the Stack have exited. Inspect containers[].error and reason for details |
paused | All containers in the Stack are paused |
stopped | All containers in the Stack are stopped but still exist on the device |
removing | WEDA Node is running Compose down to remove the Stack |
awaitingRemovedStatus | Compose down has completed and WEDA Node is confirming removal |
awaitingCleanup | The Stack was removed and WEDA Node is cleaning up local files and bookkeeping |
retry | A deployment phase failed temporarily and has been scheduled for retry |
error | Deployment or a runtime operation failed. Inspect reason and container errors for details |
WEDA Node internally downloads and verifies the signed Stack package, validates the
Compose configuration, pulls images, and starts containers. These internal phases are
represented by the public deploying status rather than separate API status values.
Each entry in containers[] reports its own state and, when it failed, an error object with code, message, a timestamp (ISO 8601), and details:
{
"status": "exited",
"containers": [
{
"id": "66edbb7e-24b1-4622-bbe2-9f63cfef5565",
"name": "edge_weda-application-1",
"state": "exited",
"error": {
"code": "OOMKilled",
"message": "Exited (137) 4 seconds ago",
"timestamp": "2026-04-30T09:05:46Z"
}
}
]
}