SDC Helm Validator

General information

This application can be used to validate CNF Helm charts using a Helm Client. It allows to select Helm version, which will be used to execute validation.

More information could be found in project repository, see Project repository.

Offered API

Latest Open API model: OpenAPI.yaml

Validation

Application executes two types of validation:

  • Deployable (basic validation) - verify correct chart rendering.

  • Lint (optional) - verify syntax of charts, it can be turned on/off by request parameter.

Request parameters:

  • versionDesired - Helm Client version, which will be used to validation (list of supported versions can be received /versions endpoint), available formats:

    • Semantic version [X.Y.Z] e.g 3.5.2

    • Major version [vX] - uses latest of available major version, e.g: v3 uses latest 3.Y.Z version.

  • isLinted - turn on/off lint validation

  • isStrictLinted - turn on/off strict lint - if lint validation detects any warning, it marks chart as invalid.

Example usage

Supported versions (/versions) Request:

curl -X 'GET' \
'http://<host>:<port>/versions' \
-H 'accept: */*'

E.g:

curl -X 'GET' \
'http://localhost:8080/versions' \
-H 'accept: */*'

Sample response:

{"versions":
["3.5.2",
"3.4.1",
"3.3.4"]}

Validation (/validate)

Request:

curl -X 'POST' \
'http://<HOST>:<PORT>/validate' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'versionDesired=<Helm client version>' \
-F 'file=@<path to file in .tgz format>;type=application/x-compressed-tar' \
-F 'isLinted=true' \
-F 'isStrictLinted=true'

E.g:

curl -X 'POST' \
'http://localhost:8080/validate' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F 'versionDesired=3.5.2' \
-F 'file=@correct-apiVersion-v2.tgz;type=application/x-compressed-tar' \
-F 'isLinted=true' \
-F 'isStrictLinted=true'

Sample response:

{
"renderErrors": [],
"lintWarning": [],
"lintError": [],
"versionUsed": "3.5.2",
"valid": true,
"deployable": true
}

Usage within SDC

The Helm validator is triggered by the SDC onboarding BE in CNF package onboarding use-cases.

Project repository

SDC Helm Validator repository