...
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
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
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 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
- Need spec schema update to include list of parameters (key/value for applicationEnv) -->https://git.onap.org/dcaegen2/platform/tree/mod/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
...
language | js |
---|---|
theme | Midnight |
...
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 Kumar - Target 06/14/21 completion
REQUIREMENTS
1. ENV SETTING SUPPORT
Component Spec
- Need spec schema update to include list of parameters (key/value for applicationEnv) -->https://git.onap.org/dcaegen2/platform/tree/mod/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json
Code Block | ||||
---|---|---|---|---|
| ||||
"auxilary": {
.
.
"helm": {
"applicationEnv": {
"PMSH_PG_URL": "dcae-pmsh-pg-primary",
"PMSH_PG_USERNAME": {
"secretUid": "pgUserCredsSecretUid",
"key": "login"
},
"PMSH_PG_PASSWORD": {
"secretUid": "pgUserCredsSecretUid",
"key": "password"
}
}
}
.
.
} |
...
Component Spec
Code Block | |||||||
---|---|---|---|---|---|---|---|
| "config_map_volume
| ||||||
"config_map_volume": { "type": "object", "properties": { "config_volume": { "type": "object", "name": { "type": "string" } }, "container": { "type": "object", "bind": { "type": "string" }, "mode": { "type": "object"string" } } }, "propertiesrequired": { ["config_volume": { "type": "object", "name, "container"] }, |
Example:
Code Block | ||||
---|---|---|---|---|
| ||||
"volumes": [{ "config_volume": { "typename": "string" } }, dcae-external-repo-configmap-schema-map" }, "container": { "typebind": "object", "bind/opt/app/VESCollector/etc/externalRepo/" } }, { "config_volume": { "typename": "string" }, "modedcae-external-repo-configmap-sa88-rel16" }, "container": { "typebind": "string" } } }, "required": ["config_volume", "container"] }, |
Example:
...
/opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/"
}
}
], |
https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json
Values.yaml specification
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| "volumes": [{
"config_volume": {
"name": "
| |||||||
externalVolumes: - name: dcae-external-repo-configmap-schema-map" }, "container"type: { configmap "bind"mountPath: "/opt/app/VESCollector/etc/externalRepo/" } - }, { "config_volume": { "name": "name: '{{ include "common.release" . }}-another-example' //dcae-external-repo-configmap-sa88-rel16" }, "container"type: { "bind"configmap mountPath: "/opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/" } } ], |
https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json
...
optional: false //If set to false, the configMap must be present in order for the microservice's pod to start. Defaults to true. |
3. CMVP2 Certificates support
Component Spec
Code Block | ||||
---|---|---|---|---|
| ||||
externalVolumes: "tls_info": { - name: dcae-external-repo-configmap-schema-map "description": "Component information to use tls certificates", "type": configmap"object", mountPath: /opt/app/VESCollector/etc/externalRepo/"properties": { - name: '{{ include "common.release" . }}-another-example' //dcae-external-repo-configmap-sa88-rel16cert_directory": { type: configmap mountPath: /opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI optional: false //If set to false, the configMap must be present in order for the microservice's pod to start. Defaults to true. |
3. CMVP2 Certificates support
Component Spec
Code Block | ||||
---|---|---|---|---|
| ||||
"description": "The path in the container where the component certificates will be placed by the init container", "type": "string" }, "use_tls_info": { "description": "ComponentBoolean informationflag to usedetermine if the application is using tls certificates", "type": "objectboolean", "properties": { }, "certuse_external_directorytls": { "description": "TheBoolean pathflag into thedetermine container whereif the componentapplication certificatesis willusing betls placedcertificates byfor theexternal init containercommunication", "type": "stringboolean" }, }, "use_tls": { "description"required": "Boolean[ flag to determine if the application is using tls certificates", "cert_directory","use_tls" "type": "boolean" ], },"additionalProperties": false }, |
Example:
Code Block | ||||
---|---|---|---|---|
| ||||
"usetls_external_tlsinfo": { "cert_directory":"/opt/app/dcae-certificate/", "use_tls":true, "use_external_tls": true "description": "Boolean flag to determine if the application is using tls certificates for external communication", "type": "boolean" } |
https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json
Values.yaml specification
Code Block | ||||
---|---|---|---|---|
| ||||
# CMPv2 certificate certificates: - mountPath: /opt/app/dcae-certificate/external commonName: dcae-ves-collector --> from spec dnsNames: - dcae-ves-collector --> from spec } keystore: outputType: }, - jks "required": [ passwordSecretRef: "cert_directory","use_tls" ],name: ves-cmpv2-keystore-password --> TBD key: password "additionalProperties": false }, |
...
create: true |
requirement.yaml
Code Block | ||||
---|---|---|---|---|
| ||||
- name: certManagerCertificate "tls_info":{ "cert_directory":"/opt/app/dcae-certificate/", "use_tls":true, "use_external_tls": true } |
https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json
Values.yaml specification
Code Block | ||||
---|---|---|---|---|
| ||||
# CMPv2 certificate certificates: - mountPath: /opt/app/dcae-certificate/external commonName: dcae-ves-collector dnsNames: - dcae-ves-collector - ves-collector - ves keystore: outputType: - jks version: ~8.x-0 repository: '@local' |
templates/certificates.yaml
Code Block | ||||
---|---|---|---|---|
| ||||
{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
{{ include "certManagerCertificate.certificate" . }}
{{ end }} |
4. POLICY SIDECAR SUPPORT
Component Spec
Code Block | ||||
---|---|---|---|---|
| ||||
"policy_info": { "type": "object", "properties": { "policy": { "type": "array", passwordSecretRef"items": name: ves-cmpv2-keystore-password { key: password "type": "object", create: true |
requirement.yaml
Code Block | ||||
---|---|---|---|---|
| ||||
- name: certManagerCertificate version: ~8.x-0 "properties": repository: '@local' |
templates/certificates.yaml
Code Block | ||||
---|---|---|---|---|
| ||||
{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }} {{ include "certManagerCertificate.certificate" . }} {{ end }} |
4. POLICY SIDECAR SUPPORT
Component Spec
Code Block | ||||
---|---|---|---|---|
| ||||
{ "policynode_infolabel": { "type": "object", { "properties": { "policytype": "string" { }, "type": "array", "itemspolicy_id": { { "type": "object", "type": "string" "properties": {}, "nodepolicy_model_labelid": { "type": "string" } }, "required": ["node_label", "policy_model_id":] } { } }, "typeadditionalProperties": "string"false } }, } |
Example:
Code Block | ||||
---|---|---|---|---|
| ||||
"policy_info":{ "policy":[ { "node_label":"tca_policy_00", "policy_model_id": { "type": "string" } }, "required": ["node_label", "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"] } } }, "additionalProperties": false } } |
Example:
TBA
":"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
...