Guide to creating, submitting, running, and inspecting a simple Argo Workflow using the Web UI or CLI, including YAML example, flags, and log retrieval.
This lesson shows how to create and run a simple Argo Workflow, either from the Argo Workflows UI or with the Argo CLI. You’ll learn what the workflow YAML declares, how to submit it from the UI, how to submit via the CLI (including common flags), and how to inspect and retrieve logs for the run.
apiVersion / kind: identifies the resource as an Argo Workflow.
metadata.generateName: generates a unique name for each run, preventing collisions when rerunning workflows.
spec.entrypoint: the name of the template that should run first.
templates: one or more templates. Each template can be a container template and takes the same options a Kubernetes Pod container supports (image, command, args, env, volumeMounts, etc.).
Copy
apiVersion: argoproj.io/v1alpha1kind: Workflowmetadata: generateName: cowsay-spec: entrypoint: cowsay templates: - name: cowsay container: image: rancher/cowsay command: ["cowsay"] args: ["Losers visualize the penalties of failure, Winners visualize the rewards of success. -Dr.Rob Gilbert"]
generateName is helpful when running the same workflow repeatedly: it appends a unique suffix so each workflow run gets a distinct name and avoids resource-name collisions.
Open the Argo Workflows web UI and click “Submit New Workflow”.
Paste the YAML above (or select a saved template) into the submission form.
Create the workflow. The UI will show a summary (name, pod name, host node, phase, and action buttons like Resubmit, Suspend, Stop, Terminate, Delete).
Click into the workflow to view templates, inputs/outputs, and logs.
The Argo CLI supports many flags for connecting and authenticating to the Argo Server. Below is a concise table of common flags and their purpose:
Flag
Purpose
Example
--server
Address and port of the Argo Server
--server argo.example.com:2746
-n, --namespace
Namespace for the CLI request
-n argo
--kubeconfig
Path to kubeconfig (only needed for out-of-cluster)
--kubeconfig ~/.kube/config
--token
Bearer token for Argo Server authentication
--token $ARGO_TOKEN
--username, --password
Basic auth credentials
--username user --password pass
-e, --secure
Use TLS (defaults from env var)
--secure
--insecure-skip-tls-verify
Skip TLS verification (insecure)
--insecure-skip-tls-verify
--watch
Stream workflow progress until completion
--watch
-v, --verbose
Enable verbose logging (debug)
-v
A more complete (version-dependent) list of flags is available from argo --help.Check the Argo components and other pods in your cluster (example using kubectl):
When you submit a workflow using generateName, Argo assigns a unique name (for example, cowsay-nzs5t). The CLI will stream the workflow progress and show the final status.
The same logs are available in the Argo UI when you open the workflow and click “Logs”.At this point you should see two workflows in the UI (one created from the UI and one created via the CLI), both producing the same cowsay output when you inspect their logs.