Chapter 3. GitOps argocd CLI reference
The Red Hat OpenShift GitOps argocd
CLI tool is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
This section lists the basic GitOps argocd
CLI commands.
3.1. Basic syntax
The GitOps argocd
CLI is a tool for configuring and managing Red Hat OpenShift GitOps and Argo CD resources from the command line.
3.1.1. Default mode
In the default mode, the argocd
CLI client communicates with the Argo CD server component through API requests. To execute commands, you must log in to the Argo CD server using your Argo CD credentials and remain logged in throughout the session. If the login session times out, you can use the relogin
command to log in again. When done using the argocd
commands, you can log out using the logout
command.
Command syntax
argocd [command or options] [arguments…]
3.1.2. Core mode
In this mode, the CLI communicates directly with the Kubernetes API server through the credentials set in the kubeconfig
file. The default kubeconfig
file is available at the $HOME/.kube/config
location. You can customize this file using the KUBECONFIG
environment variable. To execute commands in the core
mode, you can use the --core
argument and don’t need to log in to the Argo CD server for user authentication.
To specify the Repo server component name in the <argocd-instance-name>-repo-server
format, you can either use the --repo-server-name
command line option or set the ARGOCD_REPO_SERVER_NAME
environment variable.
Command syntax
KUBECONFIG=~/.kube/config argocd --core [command or options] [arguments…]
You can choose one of the following options to execute argocd
commands in the core
mode:
If multiple Argo CD instances are in use, set the default namespace of the current context to the namespace of the ArgoCD instance you want to interact with.
Default
kubeconfig
file with the default context:argocd --core [command or options] [arguments…]
Example 1: Display a list of applications
$ argocd --core app list --repo-server-name openshift-gitops-repo-server
Example 2: Display a list of applications
$ ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core app list
Default
kubeconfig
file with a custom context:argocd --core --kube-context [context] [command or options] [arguments…]
Example 1: Display a list of applications
$ argocd --core --kube-context kubeadmin-local app list --repo-server-name openshift-gitops-repo-server
Example 2: Display a list of applications
$ ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core --kube-context kubeadmin-local app list
A custom
kubeconfig
file with the default context:KUBECONFIG=~/.kube/custom_config argocd --core [command or options] [arguments…]
Example: Display a list of applications
$ KUBECONFIG=~/.kube/custom_config argocd --core app list --repo-server-name openshift-gitops-repo-server
A custom
kubeconfig
file with a custom context:KUBECONFIG=~/.kube/custom_config argocd --core --kube-context [context] [command or options] [arguments…]
Example: Display a list of applications
$ KUBECONFIG=~/.kube/custom_config argocd --kube-context kubeadmin-local --core app list --repo-server-name openshift-gitops-repo-server
3.2. Global options
Global options are applicable to all the subcommands of the argocd
.
Option | Argument type | Description |
---|---|---|
|
| Authentication token. |
|
| Client certificate file. |
|
| Client certificate key file. |
|
|
Path to Argo CD configuration file. Defaults to the |
|
|
Name of the Argo CD Application Controller component with
If the label of this component’s name differs from the default, for example, when you are installing it through the Helm chart, set either the |
| N/A |
If set to |
| N/A | Enable the gRPC-Web protocol for the Argo CD server. This is useful if, for example, the server is behind a proxy that does not support the HTTP/2 protocol. |
|
| Enable the gRPC-Web protocol for the Argo CD server. This is useful if, for example, the server is behind a proxy that does not support the HTTP/2 protocol. Set web root. |
|
|
Configure an additional header to all requests made by the GitOps |
| N/A |
Help for the GitOps |
|
| Set the maximum number of retries to establish an HTTP connection to the Argo CD server. |
| N/A | Skip server certificate and domain verification. |
|
| Direct the command to the given kube context. |
|
|
Set the logging format to either text or JSON. Defaults to |
|
|
Set the logging level. Defaults to |
| N/A | Disable Transport Layer Security (TLS) protocols. |
| N/A | Connect to a random Argo CD server port using port forwarding. |
|
| Namespace name to be used for port forwarding. |
|
|
Name of the Redis HA Proxy deployment with
If the label of this deployment’s name differs from the default, for example, when you are installing HAProxy through the Helm chart, set either the |
|
|
Name of the Redis deployment with
If the label of this deployment’s name differs from the default, for example, when you are installing it through the Helm chart, set either the |
|
|
Name of the Argo CD Repo server with
If the label of this Repo server’s name differs from the default, for example, when you are installing it through the Helm chart, set either the |
|
| Argo CD server address. |
|
| Server certificate file. |
|
|
Name of the Argo CD API server with
If the label of this Argo CD API server’s name differs from the default, for example, when you are installing it through the Helm chart, set either the |
3.3. Utility commands
3.3.1. argocd
Parent command for GitOps argocd
CLI.
Example: Display all options
$ argocd
3.3.2. version
Print version information of the CLI.
Command syntax
argocd version [flags]
Example: Print the full version of client and server to stdout
$ argocd version
Example: Print only full version of the client, no connection to server will be made
$ argocd version --client
Example: Print only full version of the server
$ argocd version --server <server_url>
Example: Print the full version of client and server in JSON format
$ argocd version -o json
Example: Print only client and server core version strings in YAML format
$ argocd version --short -o yaml
3.3.3. help
Print the help message about any command in the application.
Command syntax
argocd help [command] [flags]
Example: Get the help text for all the available commands
$ argocd help
Example: Get the help text for admin
subcommand
$ argocd help admin
3.3.4. completion
Write bash
or zsh
shell completion code to standard output.
Command syntax
argocd completion SHELL [flags]
For bash
, ensure you have Bash completions installed and enabled. Alternatively, write it to a file and source it in your .bash_profile
.
Example: Access completion in your current shell
# source <(argocd completion bash)
For zsh
, ensure you have Bash completions installed and enabled.
Example: Add to your ~/.zshrc
file and access completion in your current shell
source <(argocd completion zsh) compdef _argocd argocd