Add Documentation of SDC-Helm-Validator container 05/121405/7
authorTomasz Wrobel <tomasz.wrobel@nokia.com>
Tue, 18 May 2021 14:04:25 +0000 (16:04 +0200)
committerMichael Morris <michael.morris@est.tech>
Fri, 21 May 2021 10:18:10 +0000 (10:18 +0000)
Issue-ID: SDC-3185
Signed-off-by: Tomasz Wrobel <tomasz.wrobel@nokia.com>
Change-Id: I85972698bb4e0b42694acf1d97980e45cda0d81d
Signed-off-by: Joanna Jeremicz <joanna.jeremicz@nokia.com>
docs/conf.py
docs/configuration.rst
docs/delivery.rst
docs/index.rst
docs/onboardingpackages.rst
docs/sdc-helm-validator.rst [new file with mode: 0644]

index 4b24057..e78ac0c 100644 (file)
@@ -12,7 +12,21 @@ intersphinx_mapping = {}
 
 intersphinx_mapping['onap-doc'] = ('{}/en/%s'.format(doc_onap_url) % branch, None)
 
+
+def prepare_rst_epilog():
+    git_branch = branch
+    if git_branch == 'latest':
+        git_branch = 'master'
+    return """
+.. |sdc-helm-validator-open-api| replace:: SDC Helm Validator OpenAPI.yaml
+.. _sdc-helm-validator-open-api: https://gerrit.onap.org/r/gitweb?p=sdc/sdc-helm-validator.git;a=blob_plain;f=OpenAPI.yaml;hb=refs/heads/{branch}
+""".format(branch=git_branch)
+
+rst_epilog = prepare_rst_epilog()
+
 html_last_updated_fmt = '%d-%b-%y %H:%M'
 
 def setup(app):
     app.add_stylesheet("css/ribbon.css")
+
+
index f839a1f..2438504 100644 (file)
@@ -81,6 +81,14 @@ environment.json
             "VnfRepo": {
                 "vnfRepoPort": "8702",
                 "vnfRepoHost": "10.0.14.1"
+            }, 
+            "HelmValidator": {
+                "validator_enabled": true,
+                "helm_version": "3.5.2",
+                "deployable": true,
+                "lintable": false,
+                "strict_lintable": false,
+                "validator_url": "http://sdc-helm-validator:8080/validate"
             }
         },
         "override_attributes": {
index 5e055a7..7fd907f 100644 (file)
@@ -37,7 +37,8 @@ Overview
 +---------------------+----------------------------------------------------------------------------+------------------------------------------------+
 | sdc-WFD-FE          | SDC Workflow **Frontend** Jetty server                                     | Starts Jetty with our application.             |
 +---------------------+----------------------------------------------------------------------------+------------------------------------------------+
-
+| sdc-helm-validator  | SDC container for Helm package validation                                  | Starts server with our application.            |
++---------------------+----------------------------------------------------------------------------+------------------------------------------------+
 
 
 Deployement dependency map
index e1aa949..0d1a6a3 100644 (file)
@@ -23,3 +23,4 @@ SDC Documentation
    sdcsdks.rst
    dcaedesigner.rst
    workflow.rst
+   sdc-helm-validator.rst
index 63bc152..82e5334 100644 (file)
@@ -61,6 +61,8 @@ Basic Helm package support for CNF
 The helm package support is new since Guilin release, helm chart packaged as tgz file can be onboarded and distributed.
 The support is limited for this first release.
 
+Since Istanbul release there is also an additional helm chart validation step during package onboarding process. More information: :ref:`SDC Helm Validator <sdc_helm_validator>`.
+
 Package Types applicable to Resource Types
 ------------------------------------------
 VF
diff --git a/docs/sdc-helm-validator.rst b/docs/sdc-helm-validator.rst
new file mode 100644 (file)
index 0000000..cb4c85f
--- /dev/null
@@ -0,0 +1,130 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2021 NOKIA
+
+.. _sdc_helm_validator:
+
+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 :ref:`sdc_helm_validator_repository`.
+
+
+
+Offered API
+-----------
+
+.. Latest Open API model: :download:`OpenAPI.yaml <https://gerrit.onap.org/r/gitweb?p=sdc/sdc-helm-validator.git;a=blob_plain;f=OpenAPI.yaml;hb=refs/heads/master>`
+
+
+Latest Open API model: |sdc-helm-validator-open-api|_
+
+
+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:
+
+.. code-block:: bash
+
+  curl -X 'GET' \
+  'http://<host>:<port>/versions' \
+  -H 'accept: */*'
+
+E.g:
+
+.. code-block:: bash
+
+  curl -X 'GET' \
+  'http://localhost:8080/versions' \
+  -H 'accept: */*'
+
+Sample response: 
+
+.. code-block:: json
+   
+  {"versions": 
+  ["3.5.2",
+  "3.4.1",
+  "3.3.4"]}
+
+**Validation** (/validate)
+
+Request:
+
+.. code-block:: bash
+   
+  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: 
+
+.. code-block:: bash
+   
+  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:
+
+.. code-block:: json
+   
+  {
+  "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.
+
+
+.. _sdc_helm_validator_repository:
+
+Project repository
+------------------
+
+`SDC Helm Validator repository <https://gerrit.onap.org/r/admin/repos/sdc/sdc-helm-validator>`_