Manifest Order
Description
By default, Updatecli treats each manifest as an independent pipeline and do not guarantee ordering. When you run multiple manifests from the same directory, Updatecli can now order them explicitly before execution.
Manifest ordering is controlled with two root keys:
id: declares the manifest identifier that other manifests can depend ondependson: lists the manifest IDs that must run first
This is useful when one manifest prepares data, policies, or files that another manifest relies on.
id and dependson only affect the execution order of manifests.
They do not change:
branch naming
pull request grouping
workflow grouping
For those behaviors, keep using pipelineid.
Parameters
id
The id key defines a manifest dependency identifier.
name: Base image updates
id: base-imagesUse id when another manifest must wait for this one to complete.
Multiple manifests may intentionally share the same id.
When another manifest depends on that id, Updatecli waits for all matching manifests to run first.
dependson
The dependson key lists the manifest IDs that must be executed before the current manifest.
name: Application updates
id: app
dependson:
- base-images
- shared-policiesEach entry in dependson must reference an existing manifest id.
Example
In this example, the application manifest only runs after the base image manifest has been evaluated.
manifests/base.yaml
name: Base image updates id: base-images sources: alpine: name: Get latest Alpine version kind: dockerimage spec: image: alpine tag: latest targets: dockerfile: name: Update Dockerfile base image kind: dockerfile spec: file: Dockerfile instruction: FROM
manifests/app.yaml
name: Application updates id: app dependson: - base-images sources: version: name: Get latest release kind: githubrelease spec: owner: updatecli repository: updatecli targets: yaml: name: Update application version kind: yaml spec: file: values.yaml key: $.image.tag
If you run Updatecli against the manifests/ directory, it executes base.yaml before app.yaml.
Behavior
Shared IDs
If multiple manifests share the same id, a dependency waits for all of them.
# policies/a.yaml
name: Policy A
id: shared-policy
# policies/b.yaml
name: Policy B
id: shared-policy
# app.yaml
name: App
dependson:
- shared-policyIn this case, app.yaml runs after both policies/a.yaml and policies/b.yaml.
Legacy manifests
Manifests without an explicit id continue to work as before.
They keep their existing execution order, but they cannot be referenced from another manifest using dependson.
Invalid dependencies
Updatecli stops with an error when:
a manifest depends on an unknown
ida manifest depends on its own
idmanifest dependencies create a cycle
Go Further
To understand the full manifest structure, see configuration
To group manifests into the same workflow, see
pipelineidin configurationTo order resources inside a single manifest, see condition , source , and target