Add checks for best-practices
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.
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
yeah ct lint isn't gonna help, as it only checks the Chart.yaml
we could use yamale, which is used internally by ct lint, with a custom schema for our values.yaml.
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.
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.
- #548