add helm-tooling template

close #2 (closed)

This MR introduces a Helm template linting feature. The main objective is to streamline and standardize the helm lint checking operations that are already present in sylva-core and sylva-capi-cluster. This approach will replace the Helm template in projects that utilize the helm lint jobs.

Initially, my approach was to repurpose helm linting bash/python scripts to accomplish the following tasks:

  • helm-lint
  • helm-yamllint
  • helm-template-yamllint
  • helm-schema-validation

The template executes the following actions under docker image sylva-projects/sylva-elements/container-images/helm-toolbox!2 (merged) :

  1. Dockerfile utilizes two common linting software: helm-lint and yamllint (MR link)
  2. Dockerfile adapts and reuses two Python codes from sylva-core and sylva-capi-cluster generate_json_schema.py and yaml2json.py
  3. Dockerfile adapts and reuses two Python codes from sylva-core and sylva-capi-cluster helm-schema-validation.sh and helm-template-yamllint.sh

Example of usage here:

MRs: sylva-projects/sylva-core!2184 (closed) and sylva-projects/sylva-elements/helm-charts/sylva-capi-cluster!344 (merged)

Pipeline: https://gitlab.com/sylva-projects/sylva-core/-/pipelines/1293604495 or https://gitlab.com/sylva-projects/sylva-elements/helm-charts/sylva-capi-cluster/-/pipelines/1293596241

Edited by emmanuel wyckens

Merge request reports

Loading