Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keycloak integration fails with the error "x509: certificate signed by unknown authority" #1374

Closed
yogendramummaneni opened this issue Jul 13, 2022 · 6 comments
Labels

Comments

@yogendramummaneni
Copy link

Describe the bug

Hi Everyone,
I am trying to integrate Argo-workflow with Keycloak. I am using this repo https://github.com/argoproj/argo-helm/tree/main/charts/argo-workflows.
The pod argo-keyclock-argo-workflows-server is failing with this error

Get "https://keycloak.test.com/auth/realms/argocd/.well-known/openid-configuration": x509: certificate signed by unknown authority
Error: Get "https://keycloak.test.com/auth/realms/argocd/.well-known/openid-configuration": x509: certificate signed by unknown authority

I couldn't find any option in the helm chart's values.yaml file to pass the custom root cert.
But there is an option in argo command to pass the custom certs "--certificate-authority string Path to a cert file for the certificate authority" (edited)

What is the equivalent helm option to --certificate-authority?

Thanks Inadvance,
Yogendra.

Related helm chart

argo-workflows

Helm chart version

0.16.7

To Reproduce

Try to integrate the argo workflow with keycloak

Expected behavior

Argo should be able to talk to keycloak

Screenshots

No response

Additional context

No response

@yogendramummaneni yogendramummaneni added the bug Something isn't working label Jul 13, 2022
@vladlosev
Copy link
Collaborator

Argo Workflows server has limited, unfinished support for serving TLS. In short, it only supports self-signed certificates right now. You will be better off fronting it with some sort TLS-terminating proxy.

@yogendramummaneni
Copy link
Author

Thanks for the reply @vladlosev!
Thats what I am doing currently, we are having a nginx ingress controller which takes care of SSL termination. The below command is used to start the workflow

helm install --debug argo-keyclock argo/argo-workflows --set server.ingress.hosts[0]=argo.test.com --set server.ingress.ingressClassName=nginx --set server.serviceAccount.create=true --set server.ingress.enabled
=true --set server.secure=true --set server.serviceAccount.name="argo-server" -n argo --create-namespace

But here the problem is how to add the root CA of keycloak to the truststore of the argo workflow?
The option --certificate-authority is available with the argo command, but I couldn't find the equivalent option in helm values.yaml?

@vladlosev
Copy link
Collaborator

That is the client side option; it's not used by the server command.

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@srinivasmummareddy
Copy link

@yogendramummaneni Is this issue resolved?

@ngealy
Copy link

ngealy commented Oct 18, 2024

I'm having the same issue trying to pull an image from a self-hosted image repository.

I came up with a work-around using the initContainers solution described here argoproj/argo-cd#7572

Only difference was I used the extrainitContainers helm chart option and emptyDir{} volume type instead of an existing PVC.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants