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

Diff for applications with multiple sources #294

Open
andridzi opened this issue Oct 16, 2024 · 10 comments
Open

Diff for applications with multiple sources #294

andridzi opened this issue Oct 16, 2024 · 10 comments

Comments

@andridzi
Copy link
Contributor

Hello,

It would be greatly appreciated to have this feature, as the current implementation doesn't seem to work for applications with multiple sources (like Helm deployments, where one source is for the Helm chart itself and another for the values).

I noticed an initial effort from @sl1pm4t in #240, but it appears to still be in draft.

@memdealer
Copy link

YES PLEASE.

@alaa-404
Copy link

would be gr8 💯

@djeebus
Copy link
Collaborator

djeebus commented Oct 22, 2024

For some reason I remember this working, but that doesn't seem to be true. OK, I built on the work that @sl1pm4t did and got a working branch. I don't have any multi source applications to test on yet, but if anyone wants a sneak preview, you can use the image at ghcr.io/zapier/kubechecks:0.0.0-pr298, and report back if it works as intended.

@andridzi
Copy link
Contributor Author

@djeebus, I'll test and comment

@andridzi
Copy link
Contributor Author

@djeebus, so, it's not crashing anymore but still not working
current setup

    sources:
      - repoURL: https://charts.fairwinds.com/stable
        chart: rbac-manager
        targetRevision: 1.6.0
        helm:
          releaseName: rbac-manager
          valueFiles:
          - '$values/{{metadata.labels.environment}}/rbac-manager/{{name}}.yaml'
      - repoURL: https://github.com/andridzi/helm-values.git
        targetRevision: master
        ref: values

first error - it failed to clone https://stakater.github.io/stakater-charts repo

3:56PM ERR Unable to clone repository error="failed to clone repo: failed to clone repository: exit status 128" app_name=rbac-manager app_path= event_id=476 repo=argocd workerID=0
3:56PM INF cloning git repo branch=1.6.0 clone-url=https://andridzi@charts.fairwinds.com/stable temp-dir=/tmp/kubechecks-repo-1262552353

after changing git ref to

      sources:
        repoURL: git@github.com:FairwindsOps/charts.git
        path: stable/rbac-manager

it failed with error that it couldn't find the values file

@djeebus
Copy link
Collaborator

djeebus commented Oct 22, 2024

Teach me to dive in without understanding what I was doing. ref: values is a new feature to me. I'm going to do some reading about this, see what I'm missing, and how much I need to update to push this stuff back onto argocd code. Stay tuned!

@sl1pm4t
Copy link
Collaborator

sl1pm4t commented Oct 22, 2024

For the record we use the ref: values pattern heavily too.

@djeebus
Copy link
Collaborator

djeebus commented Nov 8, 2024

@andridzi okay, made another heroic stab at it. Want to give it another shot? One note, it requires that your kubechecks installation have access to the argocd-repo-server grpc service. I suspect this is an acceptable limitation, but we'll be documenting this before we merge it.

Edit: or anyone else who wants to try the test image ghcr.io/zapier/kubechecks:0.0.0-pr298, feel free!

@andridzi
Copy link
Contributor Author

@djeebus
So, it's not crashing now :)

  1. Need to add possibility to specify command and args (not only args) to be able to setup custom endpoint for ArgoCD server
  2. kubechecks-rbac chart will be obsolete if move RBAC part into here (which I prefer actually)
  3. Still cannot specify repo URL in https format, like:
      - repoURL: https://charts.fairwinds.com/stable
        chart: rbac-manager
        targetRevision: 1.6.0

when doing like that - getting error about cloning the repository
using git@github.com will not work, because we need to select exact chart version (tag), not a branch, which can be non-existing at all

  1. When speifying multiple repositories we suggest files to be changed there as well (like values for helm charts or additional manifests to be applied).
    But currently when I'm doing some changes in these repositories it's just showing INF No affected apps or appsets, skipping.
    To be able to use this tools for multi-source repos - it should check (I don't know how for now), if this particular file (values of manifest) is used in some ArgoCD app/appset or no.

P.S. Big thanks for working on it, the tool is really great!

@anthonyhaussman
Copy link

Also using the ref: values pattern a lot with Helm repositories repoURL.
It would be a big game changer when it'll work. ❤️

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

No branches or pull requests

6 participants