<p>I am new to Argo and following the Quickstart templates and would like to deploy the HTTP template as a workflow.</p>
<p>I create my cluster as so:</p>
<pre class="lang-bash prettyprint-override"><code>minikube start --driver=docker --cpus='2' --memory='8g'
kubectl create ns argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml
</code></pre>
<p>I then apply the HTTP template <code>http_template.yaml</code> from the docs:</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: http-template-
spec:
  entrypoint: main
  templates:
    - name: main
      steps:
        - - name: get-google-homepage
            template: http
            arguments:
              parameters: [ { name: url, value: &quot;https://www.google.com&quot; } ]
    - name: http
      inputs:
        parameters:
          - name: url
      http:
        timeoutSeconds: 20 # Default 30
        url: &quot;{{inputs.parameters.url}}&quot;
        method: &quot;GET&quot; # Default GET
        headers:
          - name: &quot;x-header-name&quot;
            value: &quot;test-value&quot;
        # Template will succeed if evaluated to true, otherwise will fail
        # Available variables:
        #  request.body: string, the request body
        #  request.headers: map[string][]string, the request headers
        #  response.url: string, the request url
        #  response.method: string, the request method
        #  response.statusCode: int, the response status code
        #  response.body: string, the response body
        #  response.headers: map[string][]string, the response headers
        successCondition: &quot;response.body contains \&quot;google\&quot;&quot; # available since v3.3
        body: &quot;test body&quot; # Change request body
</code></pre>
<p><code>argo submit -n argo http_template.yaml --watch</code></p>
<p>However I get the the following error:</p>
<pre><code>Name:                http-template-564qp
Namespace:           argo
ServiceAccount:      unset (will run with the default ServiceAccount)
Status:              Error
Message:             failed to get token volumes: service account argo/default does not have any secrets
</code></pre>
<p>I'm not clear on why this doesn't work given it's straight from the Quickstart documentation. Help would be appreciated.</p>

shbfy
<p>It seems your default serviceaccount is missing a credential (kubernetes secret)</p>
<p>You can verify the existence of the credential by checking which one it needs by running
<code>kubectl get serviceaccount -n default default -o yaml</code></p>
<pre><code>kubectl get serviceaccount -n default default -o yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  creationTimestamp: &quot;2022-02-10T10:48:54Z&quot;
  name: default
  namespace: default
  resourceVersion: &quot;*******&quot;
  uid: ********************
secrets:
- name: default-token-*****
</code></pre>
<p>Now you should be able to find the secret which is attached to the serviceaccount</p>
<p><code>kubectl get secret -n default default-token-***** -o yaml</code></p>
<p>Or you can just run</p>
<p><code>kubectl get secret -n default</code></p>
<p>To see all secrets in the respective namespace (in this example, default)</p>
