argo-workflows: Argo CLI does not work with load balancer (e.g. AWS ALB) that do not support HTTP/2
Summary
I followed the docs to use argo
CLI with the access token.
API Request
It works with API.
> curl https://$HOST/api/v1/workflow-templates/$NAMESPACE -H "Authorization: $ARGO_TOKEN"
{"metadata":{"se ...}
CLI Request
It doesn’t work with CLI.
> argo template list -n $NAMESPACE -v -e -k
DEBU[0000] CLI version version="{latest+f8e750d.dirty 2020-09-17T22:11:28Z f8e750de5ebab6f3c494c972889b31ef24c73c9b v2.11.0 dirty go1.15.2 gc darwin/amd64}"
DEBU[0000] Client options opts="{{$HOST:443 true true} 0x236c500 <nil> 0x236c560}"
FATA[0000] could not find a token
> argo template list -n $NAMESPACE -v --token $ARGO_TOKEN
DEBU[0000] CLI version version="{latest+f8e750d.dirty 2020-09-17T22:11:28Z f8e750de5ebab6f3c494c972889b31ef24c73c9b v2.11.0 dirty go1.15.2 gc darwin/amd64}"
DEBU[0000] Client options opts="{{$HOST:443 false false} 0x236c500 <nil> 0x236c560}"
2020/10/28 00:10:32 rpc error: code = Unavailable desc = connection closed
> argo template list -n $NAMESPACE -v -e --token $ARGO_TOKEN
DEBU[0000] CLI version version="{latest+f8e750d.dirty 2020-09-17T22:11:28Z f8e750de5ebab6f3c494c972889b31ef24c73c9b v2.11.0 dirty go1.15.2 gc darwin/amd64}"
DEBU[0000] Client options opts="{{$HOST:443 true false} 0x236c500 <nil> 0x236c560}"
2020/10/28 00:10:43 rpc error: code = Unknown desc = : HTTP status code 464; transport: missing content-type field
> argo template list -n $NAMESPACE -v -e -k --token $ARGO_TOKEN
DEBU[0000] CLI version version="{latest+f8e750d.dirty 2020-09-17T22:11:28Z f8e750de5ebab6f3c494c972889b31ef24c73c9b v2.11.0 dirty go1.15.2 gc darwin/amd64}"
DEBU[0000] Client options opts="{{$HOST:443 true true} 0x236c500 <nil> 0x236c560}"
2020/10/28 00:10:51 rpc error: code = Unknown desc = : HTTP status code 464; transport: missing content-type field
Diagnostics
What Kubernetes provider are you using?
- EKS 1.17.9
What version of Argo Workflows are you running?
> argo version
argo: latest+5eebce9.dirty
BuildDate: 2020-10-19T20:59:29Z
GitCommit: 5eebce9af4409da9de536f189877542dd88692e0
GitTreeState: dirty
GitTag: v2.11.6
GoVersion: go1.15.3
Compiler: gc
Platform: darwin/amd64
Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 27 (27 by maintainers)
Commits related to this issue
- docs: Update access token docs. See #4394 — committed to argoproj/argo-workflows by alexec 4 years ago
- feat(cli): Support HTTP CLI requests. Fixes #4394 Signed-off-by: Alex Collins <alex_collins@intuit.com> — committed to alexec/argo-workflows by alexec 4 years ago
- feat(server): Add WorkflowLogs API. See #4394 — committed to alexec/argo-workflows by alexec 4 years ago
- feat(server): Add WorkflowLogs API. See #4394 (#4450) Signed-off-by: Alex Collins <alex_collins@intuit.com> — committed to argoproj/argo-workflows by alexec 4 years ago
- feat(cli): Support ARGO_HTTP1 for HTTP/1 CLI requests. Fixes #4394 (#4416) Signed-off-by: Alex Collins <alex_collins@intuit.com> — committed to argoproj/argo-workflows by alexec 4 years ago
- feat(cli): Support ARGO_HTTP1 for HTTP/1 CLI requests. Fixes #4394 (#4416) Signed-off-by: Alex Collins <alex_collins@intuit.com> — committed to argoproj/argo-workflows by alexec 4 years ago
- feat(server): Add WorkflowLogs API. See #4394 (#4450) Signed-off-by: Alex Collins <alex_collins@intuit.com> Signed-off-by: Alex Capras <alexcapras@gmail.com> — committed to alexcapras/argo by alexec 4 years ago
- feat(cli): Support ARGO_HTTP1 for HTTP/1 CLI requests. Fixes #4394 (#4416) Signed-off-by: Alex Collins <alex_collins@intuit.com> Signed-off-by: Alex Capras <alexcapras@gmail.com> — committed to alexcapras/argo by alexec 4 years ago
I’ve created binaries to test:
https://github.com/argoproj/argo/releases/tag/http-rc1
excellent news!
I’ve pushed
argoproj/argocli:http
for testing. You’ll need to setARGO_HTTP=true
to use it. I’ll upload a Mac binary shortly.