-
Hello, I found that the documentation here is wrong: I can reach the UI with this configuration:
However I can't login via console utility:
To reach the UI I added Could you please help me to fix this configuration to use with console utility? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
With contour, I recommend terminating TLS at the pod. I think the problem is that contour doesn't like the different protocols (gRPC & HTTP) happening on the same port and gets confused even though the client is sending HTTP using the apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
name: argocd-server
spec:
ingressClassName: contour # adjust to your env
virtualhost:
fqdn: cd.demo.akuity.io
tls:
passthrough: true
tcpproxy:
services:
- name: argocd-server
port: 443
# this route allows port 80 to reach the argocd-server which will return 301 to HTTPS
routes:
- services:
- name: argocd-server
port: 80
conditions:
- prefix: / In your argocd-server Deployment, you would not use the The CLI client would login without the
|
Beta Was this translation helpful? Give feedback.
-
@swood I stumbled into the same problem recently. It's been a while but here is my solution which allows me to terminate TLS with contour (using httpproxy): apiVersion: projectcontour.io/v1
kind: HTTPProxy
metadata:
name: argocd
namespace: argocd
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
virtualhost:
fqdn: my-fqdn
tls:
secretName: argocd-tls
routes:
- conditions:
- header:
contains: application/grpc
name: Content-Type
services:
- name: argocd-server
port: 80
protocol: h2c
- services:
- name: argocd-server
port: 80 Basically this is routing based on the content-type header. If it's grpc, it's using HTTP2 cleartext to talk to argo which makes grpc works correctly. @jessesuen If you think this is a good solution, I could open a PR on the documentation to add this. |
Beta Was this translation helpful? Give feedback.
With contour, I recommend terminating TLS at the pod. I think the problem is that contour doesn't like the different protocols (gRPC & HTTP) happening on the same port and gets confused even though the client is sending HTTP using the
--grpc-web
flag. You can use the followingHTTPProxy
using Contour's TLS passthrough feature to allow argocd to decrypt TLS: