commit | 237ef8d4cad285abfe657664b6d5ae3161f1742d | [log] [tgz] |
---|---|---|
author | Fiete Ostkamp <Fiete.Ostkamp@telekom.de> | Mon Nov 04 15:43:29 2024 +0100 |
committer | Fiete Ostkamp <Fiete.Ostkamp@telekom.de> | Tue Nov 05 08:10:33 2024 +0100 |
tree | 9c5ad697c550e7f87d7bc25cdd53b72b9f5bdf72 | |
parent | 35e760a443c0fe4752e4a2e788f150307af7db0b [diff] |
Update commons-compress in sdc-helm-validator Issue-ID: SDC-4693 Change-Id: I37403506f9a5da66a612de9301b169f3fea8f41d Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
Docker container with Spring-Boot application for validating helm charts.
To build image use:
make build-docker
or
make build-docker-local
To modify helm versions:
Dockerfile
, add desired version in line:ENV HELM_SUPPORTED_VERSIONS=3.5.2,3.4.1,3.3.4,2.17.0,2.14.3
Makefile
and add desired version in lines:build-docker-local: export HELM_SUPPORTED_VERSIONS=3.5.2,3.4.1,3.3.4,2.17.0
If you want to clean downloaded files run: make clean-local-files
In order to run docker container locally use:
make run-docker
Example charts are located in the following directory:
./dev-resources/sample-charts
To change log level by system environment add to dockerfile following code:
ENV LOG_LEVEL=<expected level e.g. DEBUG>
or run container with LOG_LEVEL ENV
docker run -p 8080:8080 -e LOG_LEVEL=INFO onap/org.onap.sdc.sdc-helm-validator:latest
Swagger UI is available on endpoint: /docs. OpenAPI.yaml in the main directory contains OpenAPI 3.0.1 definition.
Chart validation:
http://localhost:[PORT]/validate
This should be a POST with multipart/form-data
encoding with the following fields:
"versionDesired": [String] - helm version, which will be used for validation. If param not provided then version will be taken from apiVersion "file": [FILE] - helm chart to be validated packed in .txz format "isLinted": ["true"/"false"] - if false, there will be an attempt to render the chart without linting it first "isStrictLinted": ["true"/"false"] - linting should be strict or not
It is possible to provide helm version in three ways:
apiVersion: v1 -> the latest available helm 3 apiVersion: v2 -> the latest available helm 3
Json with the following fields:
"valid": ["true"/"false"] - passed linting without errors "deployable": ["true"/"false"] - passed template rendering without errors "lintErrors": [ARRAY OF STRINGS] - linting errors "lintWarnings": [ARRAY OF STRINGS] - linting warnings "renderErrors": [ARRAY OF STRINGS] - rendering errors
Supported versions [GET]
http://localhost:[PORT]/versions
Following Json:
[ARRAY OF STRINGS] - supported helm versions
Swagger UI [GET]