adfinis / helm-charts

📈 Helm charts from Adfinis
GNU Affero General Public License v3.0
66 stars 45 forks source link

Add checks for best-practices #142

Open tongpu opened 3 years ago

tongpu commented 3 years ago

Is your feature request related to a problem? Please describe. We've learned about certain things that we should look out for over time and we should add some checks to catch those. I'm currently aware of of the issue that ArgoCD doesn't like trailing slashes for .repoURL (#141) and that our best practices are to explicitly configure a name for each chart in our *-apps charts (#136).

Describe the solution you'd like Simply yamllint check to verify the correct configuration of values.yaml in our *-apps charts.

Describe alternatives you've considered Not applicable.

Affected chart *-apps charts mostly.

eyenx commented 3 years ago

I was thinking about writing a own rule set for this for yamllint, but it looks like implementing custom rules in yamllint isn't as easy as doing it for ansible-lint https://github.com/adrienverge/yamllint/issues/123

Now looking into ct lint perhaps we can do it there somehow

https://github.com/helm/chart-testing/blob/master/doc/ct_lint.md

eyenx commented 3 years ago

yeah ct lint isn't gonna help, as it only checks the Chart.yaml

eyenx commented 3 years ago

we could use yamale, which is used internally by ct lint, with a custom schema for our values.yaml.

hairmare commented 3 years ago

I've recently been thinking of things like helm-unittest and hcunit lately. For the *-apps charts it might even be worth it to update the ct deployment to also include an actual argo cd based deployment but I'm not sure how easy that would be to implement.

hairmare commented 2 years ago

For -app charts argo cd headless might be the way to test complete installs, i'm not sure how far along the project is tho.

hairmare commented 2 years ago