Fix up chart linting, add docs and lint script (#146)

This updates the Helm linting system with the following changes:

- Import lintconf.yaml with small change to comment distance in order to
match existing values.yaml standards
- Update Chart.yaml and values.yaml in each chart to pass linting
standards
- Maintainers added to each chart from OWNERS + CODEOWNERS, the linter
requires GitHub usernames so argo-events maintainer names were converted
- README updated with documentation around chart standards and testing
- A local shell script added for running lint tests locally
This commit is contained in:
Sean Johnson 2019-11-06 08:08:17 +11:00 committed by GitHub
parent 30889df476
commit 5f33036890
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 112 additions and 13 deletions

View file

@ -51,6 +51,33 @@ argocd app create guestbook --dest-namespace default --dest-server https://kuber
argocd app sync guestbook
```
## New Application Versions
When raising application versions ensure you make the following changes:
- `values.yaml`: Bump all instances of the container image version
- `Chart.yaml`: Ensure `appVersion` matches the above container image and bump `version`
Please ensure chart version changes adhere to semantic versioning standards:
- Patch: App version patch updates, backwards compatible optional chart features
- Minor: New chart functionality (sidecars), major application updates or minor non-backwards compatible changes
- Major: Large chart rewrites, major non-backwards compatible or destructive changes
## Testing Charts
As part of the Continous Intergration system we run Helm's [Chart Testing](https://github.com/helm/chart-testing) tool.
The checks for this tool are stricter than the standard Helm requirements, where fields normally considered optional like `maintainer` are required in the standard spec and must be valid GitHub usernames.
Linting configuration can be found in [lintconf.yaml](.circleci/lintconf.yaml)
The linting can be invoked manually with the following command:
```
./scripts/lint.sh
```
## Publishing Changes
Changes are automatically publish whenever a commit is merged to master. The CI job (see `.circleci/config.yaml`) runs this: