OS Manuals

/usr/bin/argo

Workflow engine for Kubernetes.

From argo-workflows-4.0 4.0.5-r6 (os), captured 2026-11-05 by running argo --help (exit 0). permalink

Also provided by 9 other package versions
You can use the CLI in the following modes:

#### Kubernetes API Mode (default)

Requests are sent directly to the Kubernetes API. No Argo Server is needed. Large workflows and the workflow archive are not supported.

Use when you have direct access to the Kubernetes API, and don't need large workflow or workflow archive support.

If you're using instance ID (which is very unlikely), you'll need to set it:

	ARGO_INSTANCEID=your-instanceid

#### Argo Server GRPC Mode

Requests are sent to the Argo Server API via GRPC (using HTTP/2). Large workflows and the workflow archive are supported. Network load-balancers that do not support HTTP/2 are not supported.

Use if you do not have access to the Kubernetes API (e.g. you're in another cluster), and you're running the Argo Server using a network load-balancer that support HTTP/2.

To enable, set ARGO_SERVER:

	ARGO_SERVER=localhost:2746 ;# The format is "host:port" - do not prefix with "http" or "https"

If you're have transport-layer security (TLS) enabled (i.e. you are running "argo server --secure" and therefore has HTTPS):

	ARGO_SECURE=true

If your server is running with self-signed certificates. Do not use in production:

	ARGO_INSECURE_SKIP_VERIFY=true

By default, the CLI uses your KUBECONFIG to determine default for ARGO_TOKEN and ARGO_NAMESPACE. You probably error with "no configuration has been provided". To prevent it:

	KUBECONFIG=/dev/null

You will then need to set:

	ARGO_NAMESPACE=argo

And:

	ARGO_TOKEN='Bearer ******' ;# Should always start with "Bearer " or "Basic ".

#### Argo Server HTTP1 Mode

As per GRPC mode, but uses HTTP. Can be used with ALB that does not support HTTP/2. The command "argo logs --since-time=2020...." will not work (due to time-type).

Use this when your network load-balancer does not support HTTP/2.

Use the same configuration as GRPC mode, but also set:

	ARGO_HTTP1=true

If your server is behind an ingress with a path (running "argo server --base-href /argo" or "ARGO_BASE_HREF=/argo argo server"):

	ARGO_BASE_HREF=/argo

Usage:
  argo [flags]
  argo [command]

Available Commands:
  archive          manage the workflow archive
  auth             manage authentication settings
  cluster-template manipulate cluster workflow templates
  completion       output shell completion code for the specified shell (bash, zsh or fish)
  convert          convert workflow manifests from legacy format to current format
  cp               copy artifacts from workflow
  cron             manage cron workflows
  delete           delete workflows
  executor-plugin  manage executor plugins
  get              display details about a workflow
  help             Help about any command
  lint             validate files or directories of manifests
  list             list workflows
  logs             view logs of a pod or workflow
  node             perform action on a node in a workflow
  resubmit         resubmit one or more workflows
  resume           resume zero or more workflows (opposite of suspend)
  retry            retry zero or more workflows
  server           start the Argo Server
  stop             stop zero or more workflows allowing all exit handlers to run
  submit           submit a workflow
  suspend          suspend zero or more workflows (opposite of resume)
  sync             manage sync limits
  template         manipulate workflow templates
  terminate        terminate zero or more workflows immediately
  version          print version information
  wait             waits for workflows to complete
  watch            watch a workflow until it completes

Flags:
      --argo-base-href string          Path to use with HTTP client due to Base HREF. Defaults to the ARGO_BASE_HREF environment variable.
      --argo-http1                     If true, use the HTTP client. Defaults to the ARGO_HTTP1 environment variable.
  -s, --argo-server host:port          API server host:port. e.g. localhost:2746. Defaults to the ARGO_SERVER environment variable.
      --as string                      Username to impersonate for the operation
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --as-uid string                  UID to impersonate for the operation
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
      --disable-compression            If true, opt-out of response compression for all requests to the server
      --gloglevel int                  Set the glog logging level
  -H, --header strings                 Sets additional header to all requests made by Argo CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) Used only when either ARGO_HTTP1 or --argo-http1 is set to true.
  -h, --help                           help for argo
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
  -k, --insecure-skip-verify           If true, the Argo Server's certificate will not be checked for validity. This will make your HTTPS connections insecure. Defaults to the ARGO_INSECURE_SKIP_VERIFY environment variable.
      --instanceid string              submit with a specific controller's instance id label. Default to the ARGO_INSTANCEID environment variable.
      --kubeconfig string              Path to a kube config. Only required if out-of-cluster
      --log-format string              The formatter to use for logs. One of: text|json (default "text")
      --loglevel string                Set the logging level. One of: debug|info|warn|error (default "info")
  -n, --namespace string               If present, the namespace scope for this CLI request
      --password string                Password for basic authentication to the API server
      --proxy-url string               If provided, this URL will be used to connect via proxy
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
  -e, --secure                         Whether or not the server is using TLS with the Argo Server. Defaults to the ARGO_SECURE environment variable. (default true)
      --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
      --username string                Username for basic authentication to the API server
  -v, --verbose                        Enabled verbose logging, i.e. --loglevel debug

Use "argo [command] --help" for more information about a command.
Options (32)
OptionDescriptionSource
--argo-base-href stringPath to use with HTTP client due to Base HREF.help
--argo-http1If true, use the HTTP client.help
-s, --argo-server host:portAPI server host:port.help
--as stringUsername to impersonate for the operationhelp
--as-group stringArrayGroup to impersonate for the operation, this flag can be repeated to specify multiple groups.help
--as-uid stringUID to impersonate for the operationhelp
--certificate-authority stringPath to a cert file for the certificate authorityhelp
--client-certificate stringPath to a client certificate file for TLShelp
--client-key stringPath to a client key file for TLShelp
--cluster stringThe name of the kubeconfig cluster to usehelp
--context stringThe name of the kubeconfig context to usehelp
--disable-compressionIf true, opt-out of response compression for all requests to the serverhelp
--gloglevel intSet the glog logging levelhelp
-H, --header stringsSets additional header to all requests made by Argo CLI.help
-h, --helphelp for argohelp
--insecure-skip-tls-verifyIf true, the server's certificate will not be checked for validity.help
-k, --insecure-skip-verifyIf true, the Argo Server's certificate will not be checked for validity.help
--instanceid stringsubmit with a specific controller's instance id label.help
--kubeconfig stringPath to a kube config.help
--log-format stringThe formatter to use for logs.help
--loglevel stringSet the logging level.help
-n, --namespace stringIf present, the namespace scope for this CLI requesthelp
--password stringPassword for basic authentication to the API serverhelp
--proxy-url stringIf provided, this URL will be used to connect via proxyhelp
--request-timeout stringThe length of time to wait before giving up on a single server request.help
-e, --secureWhether or not the server is using TLS with the Argo Server.help
--server stringThe address and port of the Kubernetes API serverhelp
--tls-server-name stringIf provided, this name will be used to validate server certificate.help
--token stringBearer token for authentication to the API serverhelp
--user stringThe name of the kubeconfig user to usehelp
--username stringUsername for basic authentication to the API serverhelp
-v, --verboseEnabled verbose logging, i.e. --loglevel debughelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.