Skip to content

Import and round-trip

dagweave does not make you start from a blank canvas. You can import an existing Argo Workflows manifest, edit it visually, and export the YAML back out. This page walks the full loop with a single manifest.

Open the workflow menu and choose Import. The import dialog has a few tabs:

  • To canvas reconstructs one manifest onto the live canvas. Paste a WorkflowTemplate (or Workflow) YAML and import it. This is the tab to use for the round-trip below.
  • Bulk import takes several ----separated manifests or dropped .yaml files and creates one saved workflow per manifest.
  • From GitHub and From cluster appear when they are available: the first pulls every manifest from a repo the dagweave GitHub App can reach, the second lists WorkflowTemplates and CronWorkflows from a cluster a connector serves so you can pick which to import.

If you want a manifest to try, the Examples entry in the workflow menu loads ready-made Argo Workflows onto the canvas, including conditional and looping ones.

Paste your YAML into the “To canvas” tab and import. dagweave lays the workflow out as a graph, preserving the names, containers, entrypoint, and the source kind. A step it does not model is carried through verbatim rather than rewritten, so nothing is dropped.

Now change something. Select a node and edit a field in the Inspector: bump a container image, add an environment variable, or change the when guard on a branch. You can also add a parameter or a loop, or open Settings to switch the object kind between Workflow, WorkflowTemplate, CronWorkflow, and ClusterWorkflowTemplate.

The YAML preview tracks your edits as you go, so you can watch the output change while you work.

Open the Get YAML action to see the compiled manifest. From there you can Copy it or Download the file. Because it is ordinary Argo Workflows YAML, you apply it the same way as anything you wrote by hand:

Terminal window
kubectl apply -f my-workflow.yaml
# or, for a one-off run
argo submit my-workflow.yaml

Import then export gives you back the same workflow, not a reformatted one. The diff reflects your edit and little else:

  • The source kind is preserved: a WorkflowTemplate stays a WorkflowTemplate, a CronWorkflow stays a CronWorkflow.
  • Templates dagweave does not model are carried through verbatim.
  • Per-task arguments are kept, so a shared template still gets the right values.
  • Empty and injected fields are pruned, so you avoid a diff full of creationTimestamp: null and {} noise.
  • generateName and global parameters survive the trip.

This is checked, not claimed. All 205 vendored upstream Argo examples must import and re-export without error on every build, or the build fails.

A few deltas are accepted today, all covered in Core concepts: comments and exact formatting are lost because the file is parsed and regenerated, key ordering and quote style can shift, and a steps-based workflow is flattened to a dag on import.

Instead of copying the YAML by hand, you can push it straight to a git repo. See Publishing to git. To run it from dagweave rather than kubectl, connect a cluster with the connector and attach a trigger.