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

feat(ArgoCD): Added functionality to support pulling Helm charts from… #91

Closed
wants to merge 4 commits into from

Conversation

JDKnobloch
Copy link

@JDKnobloch JDKnobloch commented Mar 24, 2022

… Argo Applications

This PR fixes #45

Checklist

  • I have signed the CLA
  • I have updated/added any relevant documentation

Description

What's the goal of this PR?

Add functionality to assess ArgoCD for helm charts deployed as Applications.

What changes did you make?

  • Added flag --argo-apps to instead search argo applications for helm charts
  • Added functionality to pull helm chart, convert to expected helm release type, and return in place of helm releases. This is enabled by the flag
  • Changed functionality to circumvent checking/verifying variables that are unknown to the Argo Applications. This is also enabled by the flag

What alternative solution should we consider, if any?

  • Currently uses basic exec command to run ArgoCD CLI. Could likely implement using their Go.

Notes

  • Cannot verify helm chart variables (such as maintainers, sources) on Argo applications as they do not include this information. May be some way to retrieve this info for security.
  • Environment expects ArgoCD CLI to be both set up and "logged in" (using argocd login --core).
  • Functions within cluster.go could be broken down better

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


JD Knobloch seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@lucasreed
Copy link
Contributor

👋 Hey there @JDKnobloch thanks for submitting this PR, we'll review as soon as we can.

Copy link
Contributor

@lucasreed lucasreed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We appreciate the work you did here, but I don't think we can accept this PR while it requires that the argo CLI be present on the machine running nova. It would make more sense to utilize the k8s.io/client-go/dynamic package to search for the Application object in the cluster instead.

I'll leave this PR open if you'd still like to work on that implementation.

@lucasreed
Copy link
Contributor

Closing this since there hasn't been a resonse, feel free to re-open!

@lucasreed lucasreed closed this Apr 19, 2022
@JDKnobloch
Copy link
Author

While I agree this is definitely the preferred implementation, the solution presented is working for us currently so it is unlikely I will revisit this soon.
If some breaking change comes in the future and we are forced to rebase, I will keep this in mind and float the idea to ticket this and return.

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

Successfully merging this pull request may close these issues.

Support scanning for updates to Helm-backed ArgoCD Application CRDs
3 participants