Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updates based on 06/11

...

Note: Use base/default template if corresponding template not found on specified template directory

6. Support MAPPING requirement – ENV SETTING (refer REQ #1 for details) - DONE -  1.0.0

Schema Validation to be integrated - tracked separately under task #24 - Target 06/09 completion 

7. Support MAPPING requirement – CMPv2 Certificates (refer REQ #3 for details)  - Target 06/17 completion

8. Support MAPPING requirement – Postgres (refer REQ #5 for details)

9. Support MAPPING requirement – Policy Sidecar (refer REQ #4  for details)  Target 06/17 completion

10. Support SERVICE MAPPING based on spec file (refer REQ #7 for details) DONE -  1.0.0

Schema Validation to be integrated - tracked separately under task #24 - Target 06/10 completion 

11. Support MAPPING requirement – ConfigMap support (refer REQ #2 for details)

...

20. Comments should be cascaded from template and when new yaml is generator and also preserve order

21. Secret mapping requirement TBD and pv mappingmapping  - Vijay Venkatesh Kumar

22. Support chart generation as directory (instead of tgz) via configuration (added on  )

23. Support dependency download (helm dep up) from repo/access based on deployment configration (added on  )

REQUIREMENTS

1. ENV SETTING SUPPORT

Component Spec

24. Add schema validator module; keep the schema definiton overriddable (either through CI or api parameter); this should be configurable  - default enabled.

25. Testing with ONAP spec files on ONAP lab with componen-spec (ves, pm-mapper, dfc, tcagen2, hv-ves) - Sivakumar Santharam Target 06/17 completion

  • Modify spec to align  with new schema
  • Generate charts and deploy and check if component comes up clean
  • Environment for test to be setup/checked (onap5) - Vijay Venkatesh Kumar - Target 06/14/21 completion






REQUIREMENTS

1. ENV SETTING SUPPORT

Component Spec

Code Block
languagejs
theme
Code Block
languagejs
themeMidnight
"auxilary": {
.
.
"helm": {
 	"applicationEnv": {
    "PMSH_PG_URL": "dcae-pmsh-pg-primary",
    "PMSH_PG_USERNAME": {
    	"secretUid": "pgUserCredsSecretUid",
    	"key": "login"
    },
    "PMSH_PG_PASSWORD": {
         "secretUid": "pgUserCredsSecretUid",
         "key": "password"
    }
    }
}
.
.
}

...

Code Block
languageyml
themeMidnight
         "tls_info": {
          "description": "Component information to use tls certificates",
          "type": "object",
          "properties": {
            "cert_directory": {
              "description": "The path in the container where the component certificates will be placed by the init container",
              "type": "string"
            },
            "use_tls": {
              "description": "Boolean flag to determine if the application is using tls certificates",
              "type": "boolean"
            },
            "use_external_tls": {
              "description": "Boolean flag to determine if the application is using tls certificates for external communication",
    ": "Boolean flag to determine if the application is using tls certificates for external communication",
              "type": "boolean"
            }
          },
          "typerequired": "boolean"[
            }"cert_directory","use_tls"
          }],
          "requiredadditionalProperties": [false
        },


Example:

Code Block
languagetext
themeMidnight
     "tls_info":{
	"cert_directory":"/opt/app/dcae-certificate/",
	"use_tls"
          ]:true,
          "additionalProperties"use_external_tls": falsetrue
        },

...

https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json

Values.yaml specification


Code Block
languagetextyml
themeMidnight
# CMPv2 certificate
certificates:
  "tls_info":{
	"cert_directory":"- mountPath: /opt/app/dcae-certificate/",
	"use_tls":true,
  external
    commonName: dcae-ves-collector  --> from spec
    dnsNames:
      - dcae-ves-collector --> from spec
    keystore:
      "use_external_tls": true
outputType:
      }

https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json

Values.yaml specification

Code Block
languageyml
themeMidnight
# CMPv2 certificate
certificates  - jks
      passwordSecretRef:
  - mountPath: /opt/app/dcae-certificate/external
    commonNamename: dcae-ves-collectorves-cmpv2-keystore-password  --> TBD
    dnsNames:
    key: password
        - dcae-ves-collector
      - ves-collectorcreate: true

requirement.yaml

Code Block
languageyml
themeMidnight
     - name: certManagerCertificate
       version: ~8.x-0
       - ves
    keystore:
      outputTyperepository: '@local'

templates/certificates.yaml

Code Block
languageyml
themeMidnight
{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
{{ include "certManagerCertificate.certificate" . }}
{{ end }}


4. POLICY SIDECAR SUPPORT

Component Spec

Code Block
languagejava
themeMidnight
:
        - jks
      passwordSecretRef:"policy_info": {
        name: ves-cmpv2-keystore-password"type": "object",
        key"properties": password{
        create"policy": true

requirement.yaml

Code Block
languageyml
themeMidnight
     - name: certManagerCertificate
       version: ~8.x-0

        {
           repository: '@local'

templates/certificates.yaml

Code Block
languageyml
themeMidnight
{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
{{ include "certManagerCertificate.certificate" . }}
{{ end }}

4. POLICY SIDECAR SUPPORT

Component Spec

Code Block
languagejava
themeMidnight

    "policy_info": {
"type": "array",
          "items":
          {
            "type": "object",
            "properties":
            {
        "policy      "node_label":
              {
                "type": "array",
string"
              },
              "itemspolicy_id":
          {
      {
      "type": "object",
           "type": "propertiesstring":
              {},
              "nodepolicy_model_labelid":
              {
                "type": "string"
              },
              "policy_id":},
            "required":  {
["node_label", "policy_model_id"]
          }
       "type": "string" }
      },
      "additionalProperties": false
    },
      }


Example: 

            

Code Block
languagejava
themeMidnight
	"policy_info":{
		"policy":[
			{
			    "node_label":"tca_policy_00",
			        "policy_model_id":
              {
                "type": "string"
              }
            },
            "required": ["node_label", "policy_model_id"]
          }
        }
      },
      "additionalProperties": false
    }
  }

Example: 

            TBA

"onap.policies.monitoring.cdap.tca.hi.lo.app"
				"policy_id":"tca_policy_id_10",
			},
			{
				"node_label":"tca_policy_11",
				"policy_id":"tca_policy_id_11",
				"policy_model_id":"onap.policies.monitoring.cdap.tca.hi.lo.app"
			}
		]
	}

Values.yaml specification

...

#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.11  → From base template
policies:
  duration: 300300  → default
  policyID: |
    '["onap.vfirewall.tca","abc"]'
#  filter: |
#    '["DCAE.Config_vfirewall_.*"]'tca_policy_id_11","tca_policy_id_10"]'  → coming from spec file


5. POSTGRES SUPPORT

Component Spec

...