<p>I am new to the argo universe and was trying to set up Argo Workflows <a href="https://github.com/argoproj/argo-workflows/blob/master/docs/quick-start.md#install-argo-workflows" rel="nofollow noreferrer">https://github.com/argoproj/argo-workflows/blob/master/docs/quick-start.md#install-argo-workflows</a> .</p>
<p>I have installed the <code>argo</code> CLI from the page : <a href="https://github.com/argoproj/argo-workflows/releases/latest" rel="nofollow noreferrer">https://github.com/argoproj/argo-workflows/releases/latest</a> . I was trying it in my minikube setup and I have my kubectl already configured to the minikube cluster. I am able to hit argo commands without any issues after putting it in my local bin folder.</p>
<p>How does it work? Where do the argo CLI is connecting to operate?</p>

<p>The <code>argo</code> CLI <a href="https://github.com/argoproj/argo-workflows/blob/877d6569754be94f032e1c48d1f7226a83adfbec/cmd/argo/commands/get.go#L73-L74" rel="noreferrer">manages two API clients</a>. The first client connects to the <a href="https://argoproj.github.io/argo-workflows/rest-api/" rel="noreferrer">Argo Workflows API</a> server. The second connects to the Kubernetes API. Depending on what you're doing, the CLI might connect just to one API or the other.</p>
<p>To connect to the Kubernetes API, the CLI just uses your kube config.</p>
<p>To connect to the Argo server, the CLI first checks for an <code>ARGO_TOKEN</code> environment variable. If it's not available, the CLI <a href="https://github.com/argoproj/argo-workflows/blob/877d6569754be94f032e1c48d1f7226a83adfbec/cmd/argo/commands/client/conn.go#L91" rel="noreferrer">falls back to using the kube config</a>.</p>
<p><code>ARGO_TOKEN</code> is <a href="https://argoproj.github.io/argo-workflows/rest-api/" rel="noreferrer">only necessary when the Argo Server is configured to require client auth</a> and then only if you're doing things which require access to the Argo API instead of just the Kubernetes API.</p>
