Desired State
Desired state is how Fleet Manager tells a device what it should be running. The device fetches its desired state and reconciles toward it.
Who this is for: OT engineers connecting devices.
The desired-state manifest
Section titled “The desired-state manifest”The desired state is a flat manifest with a manifestVersion that
increases monotonically — every change bumps the version, so a device can
tell whether it has the latest. Content within the manifest is referenced by
content-addressable digests of the form sha256:<hex>, so a device can
verify exactly what it fetched.
Deployment profiles
Section titled “Deployment profiles”A workload in the desired state declares a deployment profile. Fleet Manager supports exactly two:
helm.v3— a Helm v3 chartcompose— a Compose application
No other profiles are supported.
ApplicationDeployment YAML
Section titled “ApplicationDeployment YAML”Applications are described with a YAML resource in the
application.margo.org/v1alpha1 API group. A few shape rules to be aware of:
- the deployment’s id lives under
metadata.annotations.id(underannotations), - the profile is declared at
spec.deploymentProfile(singular).
See the upstream Desired State specification for the full YAML definition.
Content types
Section titled “Content types”Margo payloads use specific media types:
application/vnd.margo.manifest.v1+jsonfor manifestsapplication/vnd.margo.bundle.v1+tar+gzipfor bundles
How it relates to the UI
Section titled “How it relates to the UI”When you create a Deployment in the web UI, the platform turns it into desired state for the targeted devices. Each device then fetches that state and reports back its deployment status.