Skip to content

ArgoWorkflow

Bases: DuploResource

Manage Argo Workflows in DuploCloud.

Provides commands to list, get, submit, delete, apply, and retrieve logs for Argo Workflows via the DuploCloud proxy.

Basic CLI Use
duploctl argo_wf <action>

Commands

apply

Apply Workflow

Create a workflow if it does not exist. Raises an error if it already exists since Argo Workflows are immutable once created. If metadata.generateName is set, a new workflow is always created.

Basic CLI Use

duploctl argo_wf apply -f workflow.yaml
Contents of the workflow.yaml file
workflow:
  metadata:
    generateName: duploctl-test-wf-
  spec:
    entrypoint: hello
    templates:
      - name: hello
        container:
          image: alpine:latest
          command: [echo]
          args: ["Hello from duploctl workflow test!"]

Returns:

Name Type Description
workflow dict

The created workflow object.

Raises:

Type Description
DuploError

If the workflow already exists (immutable).

Parameters:

--file, -f, --cli-input
A file to read the input from
FileType('r') action: YamlAction

create

Create Workflow

Submit a new Argo Workflow from a specification.

Basic CLI Use

duploctl argo_wf create -f workflow.yaml
Contents of the workflow.yaml file
workflow:
  metadata:
    generateName: duploctl-test-wf-
  spec:
    entrypoint: hello
    templates:
      - name: hello
        container:
          image: alpine:latest
          command: [echo]
          args: ["Hello from duploctl workflow test!"]

Returns:

Name Type Description
workflow dict

The created workflow object.

Parameters:

--file, -f, --cli-input
A file to read the input from
FileType('r') action: YamlAction

delete

Delete Workflow

Delete a workflow by name.

Basic CLI Use
duploctl argo_wf delete <name>

Returns:

Name Type Description
result dict

Deletion confirmation.

Parameters:

name positional
The resource name
str

find

Get Workflow

Find a specific workflow by name.

Basic CLI Use
duploctl argo_wf find <name>
Get workflow phase
duploctl argo_wf find my-workflow --query "status.phase"

Returns:

Name Type Description
workflow dict

The full workflow object.

Parameters:

name positional
The resource name
str

list

List Workflows

Retrieve all workflows in the current tenant namespace.

Basic CLI Use
duploctl argo_wf list
List workflow names only
duploctl argo_wf list --query "items[*].metadata.name"

Returns:

Name Type Description
workflows dict

A dict containing the list of Argo workflows.

logs

Get Workflow Logs

Retrieve log entries for all pods in a workflow. By default, returns existing logs immediately (logOptions.follow=false). Pass --stream to follow the log stream until the workflow completes.

Basic CLI Use
duploctl argo_wf logs <name>
Print only log content lines
duploctl argo_wf logs <name> --query "[*].result.content"
Follow live logs
duploctl argo_wf logs <name> --stream

Returns:

Name Type Description
logs list

List of log entry objects from the workflow pods.

Parameters:

name positional
The resource name
str
--stream, --stream
Stream the response (follow live output until complete)

status

Get Workflow Status

Retrieve the status of a workflow including phase, progress, and timing.

Basic CLI Use
duploctl argo_wf status <name>
Get just the phase
duploctl argo_wf status <name> --query "phase"

Returns:

Name Type Description
status dict

The workflow status object.

Parameters:

name positional
The resource name
str