Skip to content

Latest commit

 

History

History
59 lines (41 loc) · 2.68 KB

CONTRIBUTING.md

File metadata and controls

59 lines (41 loc) · 2.68 KB

Contributing to keyporttech Charts

Contributions are welcome, but all PRs must pass the CI check and code review. Please do not submit individual chart PRs to the keyporttech helm-repo. All Chart PRs should be submitted to the chart repos.

ci/cd for charts in the keyporttech repo

All individual chart repos contain Makefile that get executed on our cicd system.

Keyporttech uses a custom implementation the offical helm tooling:

We have modified the github actions workflow to run in a standard Makefile. The steps include:

  • chart version check
  • helm lint
  • helm template - make sure the templates render
  • ct lint (ensures official helm chart standards -more in depth than helm lint)
  • ct install (installs the chart locally)
  • helm test - runs any tests against the installed helm repo.

To run locally in a cloned chart repo:

make build

Deployments

Once a PR passes CI and code review it is deployed using the chart releaser tool. It does this – during every push to master – by checking each chart in your project, and whenever there's a new chart version, creates a corresponding GitHub release named for the chart version, adds Helm chart artifacts to the release, and creates or updates an index.yaml file with metadata about those releases, which is then hosted on GitHub Pages.

The cd process runs:

make deploy

Prerequisites for running the keyporttech Makefiles.

The chart testing tool has a number of dependencies itself which include below:

Install ct and dependencies

pip install yamale
pip install --user yamllint

Install cr

Other tools

  • yq
  • helm 3
  • kubectl