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

Add support for multiple ArgoCD servers. #29

Open
sl1pm4t opened this issue Jul 10, 2023 · 2 comments
Open

Add support for multiple ArgoCD servers. #29

sl1pm4t opened this issue Jul 10, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@sl1pm4t
Copy link
Collaborator

sl1pm4t commented Jul 10, 2023

Some folks deploy an ArgoCD server per Kubernetes cluster. We should add support for multiple ArgoCD deploys that is configurable:

  • per repository
  • per application
@djeebus djeebus added the enhancement New feature or request label Oct 27, 2023
@Oded-B
Copy link

Oded-B commented Apr 26, 2024

Hi, I'm the author of https://github.com/wayfair-incubator/telefonistka, I used this configuration format to support forwarding webhook to arbitrary number of ArgoCDs:
I think a similar configuration could be used.

webhookEndpointRegexs:
  - expression: "^workspace/[^/]*/.*"
    replacements:
      - "https://kube-argocd-c1.service.lab.example.com/api/webhoook"
      - "https://kube-argocd-applicationset-c1.service.lab.example.com/api/webhoook"
      - "https://example.com"
  - expression: "^clusters/([^/]*)/([^/]*)/([^/]*)/.*"
    replacements:
      - "https://kube-argocd-${3}.${1}.service.{2}.example.com/api/webhoook"
      - "https://kube-argocd-applicationset-${2}.service.${1}.example.com/api/webhoook"

For authentication, I would use Dex OIDC connector on server side and have Kubechecks use Dex token exchange to replace the in-pod k8s SA JWT (/var/run/secrets/kubernetes.io/serviceaccount/X) with an ArgoCD valid access token.

BTW I'm half way in implementing "post argocd diff in PR comment" in Telefonistka and just ran in to your amazing project.
I'm considering just using kubechecks, but I'm not sure it will be fully compatible to my future plans

@Greyeye
Copy link
Collaborator

Greyeye commented Aug 1, 2024

few changes we need to implement.

  1. kubechecks to have a watcher on the multiple argo-cd
  2. how to tell which MR is for which argo-cd server (implement a config file like .kubechecks.yaml on the argo-cd-configs repo so kubechecks can tell which app/appsets to compare to?)
  3. multiple argo-cd api keys

@djeebus can you think of anything else?

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

No branches or pull requests

4 participants