aboutsummaryrefslogtreecommitdiffstats
path: root/archive
diff options
context:
space:
mode:
Diffstat (limited to 'archive')
-rw-r--r--archive/cli/.helmignore21
-rw-r--r--archive/cli/Chart.yaml34
-rw-r--r--archive/cli/resources/configuration/lighttpd.conf44
-rw-r--r--archive/cli/templates/configmap.yaml22
-rw-r--r--archive/cli/templates/deployment.yaml67
-rw-r--r--archive/cli/templates/ingress.yaml16
-rw-r--r--archive/cli/templates/service.yaml18
-rw-r--r--archive/cli/values.yaml100
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml45
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml21
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/ingress.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-datafile-collector/values.yaml228
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/Chart.yaml44
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/templates/authorizationpolicy.yaml136
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-heartbeat/values.yaml179
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml42
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-kpi-ms/values.yaml138
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/Chart.yaml42
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pm-mapper/values.yaml187
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/Chart.yaml45
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/templates/authorizationpolicy.yaml136
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-pmsh/values.yaml182
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/Chart.yaml42
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/templates/ingress.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-restconf-collector/values.yaml178
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml45
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/authorizationpolicy.yaml136
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml241
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml42
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml150
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/Chart.yaml45
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/templates/authorizationpolicy.yaml136
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/templates/service.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-son-handler/values.yaml250
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/Chart.yaml45
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/templates/configmap.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/templates/secret.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/templates/service.yaml20
-rw-r--r--archive/dcaegen2-services/components/dcae-tcagen2/values.yaml199
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml42
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/templates/authorizationpolicy.yaml17
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml19
-rw-r--r--archive/dcaegen2-services/components/dcae-ves-mapper/values.yaml199
-rw-r--r--archive/dmaap/.helmignore22
-rw-r--r--archive/dmaap/Chart.yaml41
-rw-r--r--archive/dmaap/Makefile59
-rw-r--r--archive/dmaap/README.md22
-rw-r--r--archive/dmaap/components/Makefile59
-rw-r--r--archive/dmaap/components/dmaap-dr-node/.helmignore21
-rw-r--r--archive/dmaap/components/dmaap-dr-node/Chart.yaml34
-rw-r--r--archive/dmaap/components/dmaap-dr-node/resources/config/logback.xml223
-rw-r--r--archive/dmaap/components/dmaap-dr-node/resources/config/node.properties109
-rw-r--r--archive/dmaap/components/dmaap-dr-node/templates/configmap.yaml31
-rw-r--r--archive/dmaap/components/dmaap-dr-node/templates/ingress.yaml21
-rw-r--r--archive/dmaap/components/dmaap-dr-node/templates/pv-event.yaml21
-rw-r--r--archive/dmaap/components/dmaap-dr-node/templates/pv-spool.yaml21
-rw-r--r--archive/dmaap/components/dmaap-dr-node/templates/service.yaml17
-rw-r--r--archive/dmaap/components/dmaap-dr-node/templates/statefulset.yaml100
-rw-r--r--archive/dmaap/components/dmaap-dr-node/values.yaml131
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/.helmignore21
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/Chart.yaml40
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/resources/config/logback.xml406
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/resources/config/provserver.properties44
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/templates/configmap.yaml38
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/templates/deployment.yaml77
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/templates/ingress.yaml21
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/templates/secret.yaml17
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/templates/service.yaml17
-rw-r--r--archive/dmaap/components/dmaap-dr-prov/values.yaml153
-rw-r--r--archive/dmaap/components/message-router/.helmignore21
-rw-r--r--archive/dmaap/components/message-router/Chart.yaml35
-rw-r--r--archive/dmaap/components/message-router/Makefile58
-rwxr-xr-xarchive/dmaap/components/message-router/resources/config/dmaap/MsgRtrApi.properties135
-rw-r--r--archive/dmaap/components/message-router/resources/config/dmaap/logback.xml204
-rw-r--r--archive/dmaap/components/message-router/templates/configmap.yaml43
-rw-r--r--archive/dmaap/components/message-router/templates/ingress.yaml18
-rw-r--r--archive/dmaap/components/message-router/templates/service.yaml18
-rw-r--r--archive/dmaap/components/message-router/templates/statefulset.yaml156
-rw-r--r--archive/dmaap/components/message-router/values.yaml117
-rw-r--r--archive/dmaap/values.yaml34
-rw-r--r--archive/holmes/.helmignore21
-rw-r--r--archive/holmes/Chart.yaml43
-rw-r--r--archive/holmes/Makefile58
-rw-r--r--archive/holmes/components/Makefile58
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/.helmignore22
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/Chart.yaml35
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/resources/config/application.yaml18
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/resources/config/cfy.json19
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/resources/config/engine-d.yml72
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/resources/config/onap-holmes_engine-createobj.sql50
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/templates/configmap.yaml21
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/templates/deployment.yaml145
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/templates/secret.yaml17
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/templates/service.yaml20
-rw-r--r--archive/holmes/components/holmes-engine-mgmt/values.yaml137
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/.helmignore22
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/Chart.yaml35
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/resources/config/application.yaml18
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/resources/config/onap-holmes_rulemgt-createobj.sql57
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/resources/config/rulemgt.yml66
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/resources/rules/ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b.drl88
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/resources/rules/index.json6
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/templates/configmap.yaml28
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/templates/deployment.yaml140
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/templates/ingress.yaml17
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/templates/secret.yaml17
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/templates/service.yaml20
-rw-r--r--archive/holmes/components/holmes-rule-mgmt/values.yaml149
-rw-r--r--archive/holmes/templates/secrets.yaml17
-rw-r--r--archive/holmes/values.yaml112
-rw-r--r--archive/modeling/.helmignore22
-rw-r--r--archive/modeling/Chart.yaml25
-rw-r--r--archive/modeling/Makefile58
-rw-r--r--archive/modeling/components/Makefile58
-rw-r--r--archive/modeling/components/modeling-etsicatalog/.helmignore21
-rw-r--r--archive/modeling/components/modeling-etsicatalog/Chart.yaml42
-rw-r--r--archive/modeling/components/modeling-etsicatalog/resources/config/log/filebeat/filebeat.yml41
-rw-r--r--archive/modeling/components/modeling-etsicatalog/resources/config/log/server/log.yml54
-rw-r--r--archive/modeling/components/modeling-etsicatalog/templates/configmap.yaml25
-rw-r--r--archive/modeling/components/modeling-etsicatalog/templates/deployment.yaml169
-rw-r--r--archive/modeling/components/modeling-etsicatalog/templates/pv.yaml39
-rw-r--r--archive/modeling/components/modeling-etsicatalog/templates/pvc.yaml38
-rw-r--r--archive/modeling/components/modeling-etsicatalog/templates/secrets.yaml16
-rw-r--r--archive/modeling/components/modeling-etsicatalog/templates/service.yaml81
-rw-r--r--archive/modeling/components/modeling-etsicatalog/values.yaml203
-rw-r--r--archive/modeling/values.yaml22
-rw-r--r--archive/msb/.helmignore22
-rw-r--r--archive/msb/Chart.yaml45
-rw-r--r--archive/msb/Makefile58
-rw-r--r--archive/msb/components/Makefile58
-rw-r--r--archive/msb/components/kube2msb/.helmignore21
-rw-r--r--archive/msb/components/kube2msb/Chart.yaml27
-rw-r--r--archive/msb/components/kube2msb/templates/deployment.yaml80
-rw-r--r--archive/msb/components/kube2msb/values.yaml70
-rw-r--r--archive/msb/components/msb-consul/.helmignore21
-rw-r--r--archive/msb/components/msb-consul/Chart.yaml30
-rwxr-xr-xarchive/msb/components/msb-consul/resources/docker-entrypoint.sh95
-rw-r--r--archive/msb/components/msb-consul/templates/NOTES.txt32
-rw-r--r--archive/msb/components/msb-consul/templates/configmap.yaml27
-rw-r--r--archive/msb/components/msb-consul/templates/deployment.yaml89
-rw-r--r--archive/msb/components/msb-consul/templates/ingress.yaml1
-rw-r--r--archive/msb/components/msb-consul/templates/service.yaml41
-rw-r--r--archive/msb/components/msb-consul/values.yaml95
-rw-r--r--archive/msb/components/msb-discovery/.helmignore21
-rw-r--r--archive/msb/components/msb-discovery/Chart.yaml30
-rw-r--r--archive/msb/components/msb-discovery/resources/config/logback.xml138
-rw-r--r--archive/msb/components/msb-discovery/templates/NOTES.txt32
-rw-r--r--archive/msb/components/msb-discovery/templates/configmap.yaml22
-rw-r--r--archive/msb/components/msb-discovery/templates/deployment.yaml107
-rw-r--r--archive/msb/components/msb-discovery/templates/ingress.yaml1
-rw-r--r--archive/msb/components/msb-discovery/templates/service.yaml41
-rw-r--r--archive/msb/components/msb-discovery/values.yaml95
-rw-r--r--archive/msb/components/msb-eag/.helmignore21
-rw-r--r--archive/msb/components/msb-eag/Chart.yaml30
-rw-r--r--archive/msb/components/msb-eag/resources/config/logback.xml138
-rw-r--r--archive/msb/components/msb-eag/templates/NOTES.txt32
-rw-r--r--archive/msb/components/msb-eag/templates/configmap.yaml24
-rw-r--r--archive/msb/components/msb-eag/templates/deployment.yaml96
-rw-r--r--archive/msb/components/msb-eag/templates/ingress.yaml1
-rw-r--r--archive/msb/components/msb-eag/templates/service.yaml16
-rw-r--r--archive/msb/components/msb-eag/values.yaml102
-rw-r--r--archive/msb/components/msb-iag/.helmignore21
-rw-r--r--archive/msb/components/msb-iag/Chart.yaml30
-rw-r--r--archive/msb/components/msb-iag/resources/config/logback.xml138
-rw-r--r--archive/msb/components/msb-iag/templates/NOTES.txt32
-rw-r--r--archive/msb/components/msb-iag/templates/configmap.yaml23
-rw-r--r--archive/msb/components/msb-iag/templates/deployment.yaml96
-rw-r--r--archive/msb/components/msb-iag/templates/ingress.yaml1
-rw-r--r--archive/msb/components/msb-iag/templates/service.yaml16
-rw-r--r--archive/msb/components/msb-iag/values.yaml102
-rw-r--r--archive/msb/resources/config/log/discovery/logback.xml40
-rw-r--r--archive/msb/resources/config/log/eag/logback.xml40
-rw-r--r--archive/msb/resources/config/log/filebeat/filebeat.yml56
-rw-r--r--archive/msb/resources/config/log/iag/logback.xml40
-rw-r--r--archive/msb/templates/configmap.yaml16
-rw-r--r--archive/msb/templates/serviceaccount.yaml39
-rw-r--r--archive/msb/values.yaml33
-rw-r--r--archive/multicloud/components/multicloud-pike/.helmignore21
-rw-r--r--archive/multicloud/components/multicloud-pike/Chart.yaml31
-rw-r--r--archive/multicloud/components/multicloud-pike/resources/config/log/log.yml48
-rw-r--r--archive/multicloud/components/multicloud-pike/templates/NOTES.txt34
-rw-r--r--archive/multicloud/components/multicloud-pike/templates/configmap.yaml28
-rw-r--r--archive/multicloud/components/multicloud-pike/templates/deployment.yaml87
-rw-r--r--archive/multicloud/components/multicloud-pike/templates/ingress.yaml17
-rw-r--r--archive/multicloud/components/multicloud-pike/templates/service.yaml18
-rw-r--r--archive/multicloud/components/multicloud-pike/values.yaml123
-rw-r--r--archive/multicloud/components/multicloud-prometheus/Chart.yaml37
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/Chart.yaml19
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/resources/config/alertmanager.yml14
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/configmap.yaml32
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/deployment.yaml98
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pv.yaml42
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pvc.yaml43
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/service.yaml52
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/values.yaml87
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/Chart.yaml19
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/resources/config/grafana.ini11
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/configmap.yaml96
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/deployment.yaml137
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pv.yaml42
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pvc.yaml43
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/service.yaml46
-rw-r--r--archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/values.yaml114
-rw-r--r--archive/multicloud/components/multicloud-prometheus/resources/config/prometheus.yml37
-rw-r--r--archive/multicloud/components/multicloud-prometheus/templates/configmap.yaml28
-rw-r--r--archive/multicloud/components/multicloud-prometheus/templates/deployment.yaml107
-rw-r--r--archive/multicloud/components/multicloud-prometheus/templates/pv.yaml40
-rw-r--r--archive/multicloud/components/multicloud-prometheus/templates/pvc.yaml39
-rw-r--r--archive/multicloud/components/multicloud-prometheus/templates/service.yaml18
-rw-r--r--archive/multicloud/components/multicloud-prometheus/values.yaml108
-rw-r--r--archive/multicloud/components/multicloud-starlingx/.helmignore21
-rw-r--r--archive/multicloud/components/multicloud-starlingx/Chart.yaml31
-rw-r--r--archive/multicloud/components/multicloud-starlingx/resources/config/log/config.json78
-rw-r--r--archive/multicloud/components/multicloud-starlingx/resources/config/log/log.yml52
-rw-r--r--archive/multicloud/components/multicloud-starlingx/templates/NOTES.txt34
-rw-r--r--archive/multicloud/components/multicloud-starlingx/templates/configmap.yaml28
-rw-r--r--archive/multicloud/components/multicloud-starlingx/templates/deployment.yaml102
-rw-r--r--archive/multicloud/components/multicloud-starlingx/templates/ingress.yaml17
-rw-r--r--archive/multicloud/components/multicloud-starlingx/templates/service.yaml18
-rw-r--r--archive/multicloud/components/multicloud-starlingx/values.yaml126
-rw-r--r--archive/multicloud/components/multicloud-vio/.helmignore21
-rw-r--r--archive/multicloud/components/multicloud-vio/Chart.yaml32
-rw-r--r--archive/multicloud/components/multicloud-vio/resources/config/log/log.yml39
-rw-r--r--archive/multicloud/components/multicloud-vio/templates/NOTES.txt34
-rw-r--r--archive/multicloud/components/multicloud-vio/templates/configmap.yaml29
-rw-r--r--archive/multicloud/components/multicloud-vio/templates/deployment.yaml81
-rw-r--r--archive/multicloud/components/multicloud-vio/templates/ingress.yaml17
-rw-r--r--archive/multicloud/components/multicloud-vio/templates/service.yaml19
-rw-r--r--archive/multicloud/components/multicloud-vio/values.yaml121
-rw-r--r--archive/multicloud/components/multicloud-windriver/.helmignore21
-rw-r--r--archive/multicloud/components/multicloud-windriver/Chart.yaml32
-rw-r--r--archive/multicloud/components/multicloud-windriver/resources/config/log/config.json78
-rw-r--r--archive/multicloud/components/multicloud-windriver/resources/config/log/log.yml48
-rw-r--r--archive/multicloud/components/multicloud-windriver/resources/config/log/test.txt1
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/NOTES.txt34
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/configmap.yaml29
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/deployment.yaml116
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/ingress.yaml17
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/pv.yaml40
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/pvc.yaml39
-rw-r--r--archive/multicloud/components/multicloud-windriver/templates/service.yaml19
-rw-r--r--archive/multicloud/components/multicloud-windriver/values.yaml144
-rw-r--r--archive/nbi/.helmignore21
-rw-r--r--archive/nbi/Chart.yaml45
-rw-r--r--archive/nbi/README.md17
-rw-r--r--archive/nbi/templates/deployment.yaml112
-rw-r--r--archive/nbi/templates/ingress.yaml17
-rw-r--r--archive/nbi/templates/secret.yaml17
-rw-r--r--archive/nbi/templates/service.yaml17
-rw-r--r--archive/nbi/tests/deployment_test.yaml205
-rw-r--r--archive/nbi/values.yaml193
-rw-r--r--archive/oof/.helmignore1
-rwxr-xr-xarchive/oof/Chart.yaml42
-rw-r--r--archive/oof/Makefile59
-rwxr-xr-xarchive/oof/components/Makefile59
-rw-r--r--archive/oof/components/oof-has/.helmignore1
-rwxr-xr-xarchive/oof/components/oof-has/Chart.yaml58
-rw-r--r--archive/oof/components/oof-has/Makefile59
-rwxr-xr-xarchive/oof/components/oof-has/components/Makefile59
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-api/Chart.yaml39
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-api/templates/NOTES.txt34
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml110
-rw-r--r--archive/oof/components/oof-has/components/oof-has-api/templates/ingress.yaml16
-rw-r--r--archive/oof/components/oof-has/components/oof-has-api/templates/secret.yaml15
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-api/templates/service.yaml19
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-api/values.yaml101
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-controller/Chart.yaml38
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml88
-rw-r--r--archive/oof/components/oof-has/components/oof-has-controller/templates/secret.yaml15
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-controller/values.yaml80
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-data/Chart.yaml38
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml88
-rw-r--r--archive/oof/components/oof-has/components/oof-has-data/templates/secret.yaml15
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-data/values.yaml80
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-reservation/Chart.yaml38
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml88
-rw-r--r--archive/oof/components/oof-has/components/oof-has-reservation/templates/secret.yaml15
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-reservation/values.yaml80
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-solver/Chart.yaml38
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml88
-rw-r--r--archive/oof/components/oof-has/components/oof-has-solver/templates/secret.yaml15
-rwxr-xr-xarchive/oof/components/oof-has/components/oof-has-solver/values.yaml80
-rwxr-xr-xarchive/oof/components/oof-has/resources/config/conductor.conf706
-rwxr-xr-xarchive/oof/components/oof-has/resources/config/healthy.sh34
-rwxr-xr-xarchive/oof/components/oof-has/resources/config/log.conf82
-rwxr-xr-xarchive/oof/components/oof-has/resources/config/log/filebeat.yml34
-rw-r--r--archive/oof/components/oof-has/resources/config/nginx.conf27
-rwxr-xr-xarchive/oof/components/oof-has/templates/configmap.yaml29
-rw-r--r--archive/oof/components/oof-has/templates/secret.yaml15
-rwxr-xr-xarchive/oof/components/oof-has/values.yaml148
-rwxr-xr-xarchive/oof/components/oof-templates/Chart.yaml27
-rw-r--r--archive/oof/components/oof-templates/templates/_secret.tpl6
-rw-r--r--archive/oof/components/oof-templates/values.yaml14
-rw-r--r--archive/oof/resources/config/conf/common_config.yaml175
-rw-r--r--archive/oof/resources/config/conf/log.yml101
-rwxr-xr-xarchive/oof/resources/config/conf/osdf_config.yaml76
-rw-r--r--archive/oof/resources/config/conf/slicing_config.yaml98
-rw-r--r--archive/oof/templates/NOTES.txt34
-rw-r--r--archive/oof/templates/configmap.yaml29
-rw-r--r--archive/oof/templates/deployment.yaml94
-rw-r--r--archive/oof/templates/ingress.yaml19
-rw-r--r--archive/oof/templates/secret.yaml15
-rw-r--r--archive/oof/templates/service.yaml18
-rw-r--r--archive/oof/values.yaml157
-rw-r--r--archive/sdnc/components/dmaap-listener/Chart.yaml30
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/aai.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/dblib.properties33
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/dhcpalert.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-CMNotify.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-RANSlice.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-a1Adapter-policy.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-oofpcipoc.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/resources/config/lcm.properties35
-rw-r--r--archive/sdnc/components/dmaap-listener/templates/authorizationpolicy.yaml17
-rw-r--r--archive/sdnc/components/dmaap-listener/templates/configmap.yaml28
-rw-r--r--archive/sdnc/components/dmaap-listener/templates/deployment.yaml130
-rw-r--r--archive/sdnc/components/dmaap-listener/templates/secret.yaml17
-rw-r--r--archive/sdnc/components/dmaap-listener/templates/service.yaml17
-rw-r--r--archive/sdnc/components/dmaap-listener/values.yaml150
-rw-r--r--archive/vfc/.helmignore22
-rw-r--r--archive/vfc/Chart.yaml64
-rw-r--r--archive/vfc/Makefile58
-rw-r--r--archive/vfc/components/Makefile58
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/.helmignore21
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/resources/config/logging/log.yml53
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/templates/deployment.yaml97
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/templates/service.yaml54
-rw-r--r--archive/vfc/components/vfc-generic-vnfm-driver/values.yaml92
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/.helmignore21
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties31
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/templates/deployment.yaml100
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/templates/service.yaml61
-rw-r--r--archive/vfc/components/vfc-huawei-vnfm-driver/values.yaml94
-rw-r--r--archive/vfc/components/vfc-nslcm/.helmignore21
-rw-r--r--archive/vfc/components/vfc-nslcm/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-nslcm/resources/config/logging/log.yml53
-rw-r--r--archive/vfc/components/vfc-nslcm/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-nslcm/templates/deployment.yaml134
-rw-r--r--archive/vfc/components/vfc-nslcm/templates/secrets.yaml17
-rw-r--r--archive/vfc/components/vfc-nslcm/templates/service.yaml63
-rw-r--r--archive/vfc/components/vfc-nslcm/values.yaml113
-rw-r--r--archive/vfc/components/vfc-redis/.helmignore21
-rw-r--r--archive/vfc/components/vfc-redis/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-redis/templates/deployment.yaml67
-rw-r--r--archive/vfc/components/vfc-redis/templates/service.yaml42
-rw-r--r--archive/vfc/components/vfc-redis/values.yaml81
-rw-r--r--archive/vfc/components/vfc-vnflcm/.helmignore21
-rw-r--r--archive/vfc/components/vfc-vnflcm/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-vnflcm/resources/config/logging/log.yml53
-rw-r--r--archive/vfc/components/vfc-vnflcm/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-vnflcm/templates/deployment.yaml134
-rw-r--r--archive/vfc/components/vfc-vnflcm/templates/secrets.yaml17
-rw-r--r--archive/vfc/components/vfc-vnflcm/templates/service.yaml54
-rw-r--r--archive/vfc/components/vfc-vnflcm/values.yaml113
-rw-r--r--archive/vfc/components/vfc-vnfmgr/.helmignore21
-rw-r--r--archive/vfc/components/vfc-vnfmgr/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-vnfmgr/resources/config/logging/log.yml53
-rw-r--r--archive/vfc/components/vfc-vnfmgr/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-vnfmgr/templates/deployment.yaml135
-rw-r--r--archive/vfc/components/vfc-vnfmgr/templates/secrets.yaml17
-rw-r--r--archive/vfc/components/vfc-vnfmgr/templates/service.yaml54
-rw-r--r--archive/vfc/components/vfc-vnfmgr/values.yaml112
-rw-r--r--archive/vfc/components/vfc-vnfres/.helmignore21
-rw-r--r--archive/vfc/components/vfc-vnfres/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-vnfres/resources/config/logging/log.yml53
-rw-r--r--archive/vfc/components/vfc-vnfres/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-vnfres/templates/deployment.yaml133
-rw-r--r--archive/vfc/components/vfc-vnfres/templates/secrets.yaml17
-rw-r--r--archive/vfc/components/vfc-vnfres/templates/service.yaml54
-rw-r--r--archive/vfc/components/vfc-vnfres/values.yaml113
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/.helmignore21
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/Chart.yaml28
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/resources/config/logging/log.yml53
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/templates/configmap.yaml23
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/templates/deployment.yaml97
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/templates/service.yaml54
-rw-r--r--archive/vfc/components/vfc-zte-vnfm-driver/values.yaml92
-rw-r--r--archive/vfc/resources/config/log/filebeat/filebeat.yml41
-rw-r--r--archive/vfc/templates/configmap.yaml17
-rw-r--r--archive/vfc/templates/secrets.yaml17
-rw-r--r--archive/vfc/values.yaml122
-rw-r--r--archive/vnfsdk/Chart.yaml34
-rw-r--r--archive/vnfsdk/resources/config/configuration.xml35
-rw-r--r--archive/vnfsdk/resources/config/marketplace_tables_postgres.sql25
-rw-r--r--archive/vnfsdk/resources/nginx/nginx.conf55
-rw-r--r--archive/vnfsdk/templates/NOTES.txt32
-rw-r--r--archive/vnfsdk/templates/configmap.yaml41
-rw-r--r--archive/vnfsdk/templates/deployment.yaml75
-rw-r--r--archive/vnfsdk/templates/ingress.yaml17
-rw-r--r--archive/vnfsdk/templates/job.yaml82
-rw-r--r--archive/vnfsdk/templates/secrets.yaml16
-rw-r--r--archive/vnfsdk/templates/service.yaml18
-rw-r--r--archive/vnfsdk/values.yaml128
442 files changed, 24136 insertions, 0 deletions
diff --git a/archive/cli/.helmignore b/archive/cli/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/cli/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/cli/Chart.yaml b/archive/cli/Chart.yaml
new file mode 100644
index 0000000000..956a923e0d
--- /dev/null
+++ b/archive/cli/Chart.yaml
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Command Line Interface
+name: cli
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ # local reference to common chart, as it is
+ # a part of this chart's package and will not
+ # be published independently to a repo (at this point)
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/cli/resources/configuration/lighttpd.conf b/archive/cli/resources/configuration/lighttpd.conf
new file mode 100644
index 0000000000..f1735a1e5d
--- /dev/null
+++ b/archive/cli/resources/configuration/lighttpd.conf
@@ -0,0 +1,44 @@
+{{/*
+# Copyright 2018 Huawei Technologies Co., Ltd.
+# Copyright 2021 Huawei Technologies Co., Ltd.
+# Modifications Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+server.document-root = "/var/www-data/servers/open-cli/"
+server.username = "www-data"
+server.groupname = "www-data"
+server.port = {{ .Values.containerPort }}
+
+mimetype.assign = (
+ ".html" => "text/html",
+ ".txt" => "text/plain",
+ ".jpg" => "image/jpeg",
+ ".png" => "image/png"
+)
+
+index-file.names = ( "index.html" )
+dir-listing.activate = "disable"
+
+
+server.modules = (
+ "mod_access",
+ "mod_proxy",
+ "mod_alias",
+ "mod_compress",
+ "mod_redirect"
+)
+
+server.errorlog = "/var/log/lighttpd/error.log"
+server.pid-file = "/var/run/lighttpd.pid"
diff --git a/archive/cli/templates/configmap.yaml b/archive/cli/templates/configmap.yaml
new file mode 100644
index 0000000000..a4c636f0e4
--- /dev/null
+++ b/archive/cli/templates/configmap.yaml
@@ -0,0 +1,22 @@
+{{/*
+# Copyright © 2021 Orange
+# Modifications Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+data:
+{{ tpl (.Files.Glob "resources/configuration/*").AsConfig . | indent 2 }}
diff --git a/archive/cli/templates/deployment.yaml b/archive/cli/templates/deployment.yaml
new file mode 100644
index 0000000000..9f8d71c332
--- /dev/null
+++ b/archive/cli/templates/deployment.yaml
@@ -0,0 +1,67 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 12 }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ httpGet:
+ port: {{ .Values.liveness.port }}
+ path: {{ .Values.liveness.path }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ httpGet:
+ port: {{ .Values.readiness.port }}
+ path: {{ .Values.readiness.path }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: lighttpd
+ mountPath: /etc/lighttpd/lighttpd.conf
+ subPath: lighttpd.conf
+ readOnly: true
+ env:
+ - name: OPEN_CLI_MODE
+ value: "{{ .Values.config.climode }}"
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: lighttpd
+ configMap:
+ name: {{ include "common.fullname" . }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/cli/templates/ingress.yaml b/archive/cli/templates/ingress.yaml
new file mode 100644
index 0000000000..0deb6ce481
--- /dev/null
+++ b/archive/cli/templates/ingress.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Modifications Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{ include "common.ingress" . }}
diff --git a/archive/cli/templates/service.yaml b/archive/cli/templates/service.yaml
new file mode 100644
index 0000000000..b33db211f9
--- /dev/null
+++ b/archive/cli/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/cli/values.yaml b/archive/cli/values.yaml
new file mode 100644
index 0000000000..8ad2240ee4
--- /dev/null
+++ b/archive/cli/values.yaml
@@ -0,0 +1,100 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ persistence: {}
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/cli:6.0.1
+pullPolicy: IfNotPresent
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+nodeSelector: {}
+affinity: {}
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# default number of instances
+replicaCount: 1
+
+# application configuration
+config:
+ climode: daemon
+
+containerPort: &svc_port 8080
+service:
+ type: ClusterIP
+ name: cli
+ ports:
+ - name: http
+ port: *svc_port
+ targetPort: *svc_port
+
+ingress:
+ enabled: true
+ service:
+ - baseaddr: "cli-api"
+ path: "/"
+ name: "cps"
+ port: *svc_port
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+ port: *svc_port
+ path: /
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ port: *svc_port
+ path: /
+
+
+# Configure resource requests and limits
+# ref: http://kubernetes.io/docs/user-guide/compute-resources/
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "2Gi"
+ requests:
+ cpu: "10m"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "8Gi"
+ requests:
+ cpu: "2"
+ memory: "4Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: cli
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml
new file mode 100644
index 0000000000..d5cc948cb4
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/Chart.yaml
@@ -0,0 +1,45 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (C) 2021 Nordix Foundation.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE DataFile Collector Helm charts
+name: dcae-datafile-collector
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: certManagerCertificate
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..7158c0263f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml
new file mode 100644
index 0000000000..78ae858cec
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/certificates.yaml
@@ -0,0 +1,21 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{- if (include "dcaegen2-services-common.shouldUseCmpv2Certificates" .) -}}
+{{ include "certManagerCertificate.certificate" . }}
+{{ end }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml
new file mode 100644
index 0000000000..a0cb9a66bd
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml
new file mode 100644
index 0000000000..d992d5c19c
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/ingress.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/ingress.yaml
new file mode 100644
index 0000000000..79df5ced0c
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (C) 2022 Deutsche Telekom AG
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/secret.yaml
new file mode 100644
index 0000000000..13a14a5e12
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2022 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml
new file mode 100644
index 0000000000..2de4a8fe0a
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-datafile-collector/values.yaml b/archive/dcaegen2-services/components/dcae-datafile-collector/values.yaml
new file mode 100644
index 0000000000..30da823e60
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-datafile-collector/values.yaml
@@ -0,0 +1,228 @@
+# ================================ LICENSE_START ==========================
+# =========================================================================
+# Copyright (c) 2021 Nordix Foundation.
+# Copyright (c) 2022 Nokia. All rights reserved.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# =========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ===========================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &drPubCredsUID drpubcreds
+ type: basicAuth
+ login: '{{ .Values.drPubscriberCreds.username }}'
+ password: '{{ .Values.drPubscriberCreds.password }}'
+ passwordPolicy: required
+
+#################################################################
+# InitContainer Images.
+#################################################################
+certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.5.0
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.10.0
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Directory where TLS certs should be stored
+# if absent, no certs will be retrieved and stored
+certDirectory: /opt/app/datafile/etc/cert
+
+# CMPv2 certificate
+# It is used only when:
+# - certDirectory is set
+# - global cmpv2Enabled flag is set to true
+# - flag useCmpv2Certificates is set to true
+# Disabled by default
+useCmpv2Certificates: false
+certificates:
+ - mountPath: /opt/app/datafile/etc/cert/external
+ commonName: dcae-datafile-collector
+ dnsNames:
+ - dcae-datafile-collector
+ - datafile-collector
+ - datafile
+ keystore:
+ outputType:
+ - p12
+ passwordSecretRef:
+ name: datafile-collector-cmpv2-keystore-password
+ key: password
+ create: true
+
+# Dependencies
+# Waiting for dmaap-dr-node (which depends on dmaap-dr-prov)
+# to be sure that we can provision the DR feed that's needed
+readinessCheck:
+ wait_for:
+ services:
+ - dmaap-dr-node
+ - message-router
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /heartbeat
+ scheme: HTTP
+ port: 8100
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: datafile-collector
+ ports:
+ - name: http
+ port: 8443
+ plain_port: 8100
+ port_protocol: http
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "dcae-datafile-collector-api"
+ name: "datafile-collector"
+ port: 8443
+ plain_port: 8100
+ config:
+ ssl: "redirect"
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: dcae-pm-mapper-read
+ - serviceAccount: message-router-read
+ - serviceAccount: istio-ingress
+ namespace: istio-ingress
+
+# Data Router Publisher Credentials
+drPubscriberCreds:
+ username: username
+ password: password
+
+credentials:
+- name: DR_USERNAME
+ uid: *drPubCredsUID
+ key: login
+- name: DR_PASSWORD
+ uid: *drPubCredsUID
+ key: password
+
+# Initial Application Configuration
+applicationConfig:
+ dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12
+ dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass
+ dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks
+ dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass
+ dmaap.certificateConfig.enableCertAuth: false
+ dmaap.dmaapConsumerConfiguration.consumerGroup: OpenDcae-c12
+ dmaap.dmaapConsumerConfiguration.consumerId: C12
+ dmaap.dmaapConsumerConfiguration.timeoutMs: -1
+ dmaap.security.enableDmaapCertAuth: false
+ dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass
+ dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks
+ dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass
+ dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks
+ service_calls: []
+ sftp.security.strictHostKeyChecking: true
+ streams_publishes:
+ PM_MEAS_FILES:
+ dmaap_info:
+ publisher_id: "dummy_id"
+ location: loc00
+ log_url: ${DR_FEED_LOGURL_0}
+ publish_url: ${DR_FEED_PUBURL_0}
+ username: ${DR_USERNAME}
+ password: ${DR_PASSWORD}
+ type: data_router
+ streams_subscribes:
+ dmaap_subscriber:
+ dmaap_info:
+ topic_url: "http://message-router:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT"
+ type: message_router
+
+applicationEnv:
+ #CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+ #Temporary Dummy CBS Port Value until internal SDK library is updated
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+
+# DataRouter Feed Configuration
+drFeedConfig:
+ - feedName: bulk_pm_feed
+ feedVersion: "0.0"
+ classification: unclassified
+ feedDescription: DFC Feed Creation
+ publisher:
+ username: ${DR_USERNAME}
+ password: ${DR_PASSWORD}
+
+# ConfigMap Configuration for Feed, Dr_Publisher
+volumes:
+ - name: feeds-config
+ path: /opt/app/config/feeds
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-datafile-collector
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/Chart.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/Chart.yaml
new file mode 100644
index 0000000000..6ff60f4de5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/Chart.yaml
@@ -0,0 +1,44 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "Kohn"
+description: DCAE Heartbeat Microservice
+name: dcae-heartbeat
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..30d173c2d8
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/templates/authorizationpolicy.yaml
@@ -0,0 +1,136 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "primary" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "replica" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/templates/configmap.yaml
new file mode 100644
index 0000000000..a914446c99
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/templates/deployment.yaml
new file mode 100644
index 0000000000..0ad66b62a9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/templates/secret.yaml
new file mode 100644
index 0000000000..6b70356ca9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/templates/service.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/templates/service.yaml
new file mode 100644
index 0000000000..cf11d2a0c5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-heartbeat/values.yaml b/archive/dcaegen2-services/components/dcae-heartbeat/values.yaml
new file mode 100644
index 0000000000..da8f2c6561
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-heartbeat/values.yaml
@@ -0,0 +1,179 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021-2023 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &pgUserCredsSecretUid pg-user-creds
+ name: &pgUserCredsSecretName '{{ include "common.release" . }}-heartbeat-pg-user-creds'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "heartbeat-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+ login: '{{ .Values.postgres.config.pgUserName }}'
+ password: '{{ .Values.postgres.config.pgUserPassword }}'
+ passwordPolicy: generate
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.heartbeat:2.6.1
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP/dcaegen2/services/heartbeat
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /
+ scheme: HTTP
+ port: 10002
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-heartbeat
+ ports:
+ - name: http
+ port: 10002
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+ authorizedPrincipalsPostgres:
+ - serviceAccount: dcae-heartbeat-read
+
+credentials:
+- name: HEARTBEAT_PG_USERNAME
+ uid: *pgUserCredsSecretUid
+ key: login
+- name: HEARTBEAT_PG_PASSWORD
+ uid: *pgUserCredsSecretUid
+ key: password
+
+
+# Initial Application Configuration
+applicationConfig:
+ CBS_polling_allowed: "True"
+ CBS_polling_interval: "300"
+ consumerID: "1"
+ groupID: "hbgrpID"
+ pg_ipAddress: dcae-heartbeat-pg-primary
+ pg_passwd: ${HEARTBEAT_PG_PASSWORD}
+ pg_portNum: 5432
+ pg_userName: ${HEARTBEAT_PG_USERNAME}
+ pg_dbName: heartbeat
+ heartbeat_config: '{"vnfs": [{"eventName": "Heartbeat_vDNS","heartbeatcountmissed": 3,"heartbeatinterval": 60,"closedLoopControlName": "ControlLoopEvent1", "policyVersion": "1.0.0.5", "policyName":"vFireWall","policyScope": "resource=sampleResource,type=sampletype,CLName=sampleCLName","target_type": "VNF", "target": "genVnfName", "version": "1.0"}, {"eventName": "Heartbeat_vFW","heartbeatcountmissed": 3, "heartbeatinterval": 60,"closedLoopControlName": "ControlLoopEvent1","policyVersion": "1.0.0.5","policyName": "vFireWall","policyScope": "resource=sampleResource,type=sampletype,CLName=sampleCLName", "target_type":"VNF", "target": "genVnfName", "version": "1.0"}, {"eventName": "Heartbeat_xx","heartbeatcountmissed": 3, "heartbeatinterval": 60,"closedLoopControlName": "ControlLoopEvent1","policyVersion": "1.0.0.5","policyName": "vFireWall", "policyScope": "resource=sampleResource,type=sampletype,CLName=sampleCLName","target_type": "VNF","target": "genVnfName","version": "1.0"}]}'
+ streams_publishes:
+ dcae_cl_out:
+ dmaap_info:
+ topic_url: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT"
+ type: message_router
+ streams_subscribes:
+ ves-heartbeat:
+ dmaap_info:
+ topic_url: "http://message-router:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT"
+ type: message_router
+
+#applicationEnv:
+# HEARTBEAT_PG_URL: &dcaeheartbeatPgPrimary dcae-heartbeat-pg-primary
+# HEARTBEAT_PG_USERNAME:
+# secretUid: *pgUserCredsSecretUid
+# key: login
+# HEARTBEAT_PG_PASSWORD:
+# secretUid: *pgUserCredsSecretUid
+# key: password
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#################################################################
+# Application configuration Overriding Defaults in the Postgres.
+#################################################################
+postgres:
+ nameOverride: &postgresName dcae-heartbeat-postgres
+ service:
+ name: *postgresName
+ name2: dcae-heartbeat-pg-primary
+ name3: dcae-heartbeat-pg-replica
+ container:
+ name:
+ primary: dcae-heartbeat-pg-primary
+ replica: dcae-heartbeat-pg-replica
+ persistence:
+ mountSubPath: heartbeat/data
+ mountInitPath: heartbeat
+ config:
+ pgUserName: heartbeat
+ pgDatabase: heartbeat
+ pgUserExternalSecret: *pgUserCredsSecretName
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - '{{ .Values.postgres.service.name2 }}'
+ - message-router
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-heartbeat
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml
new file mode 100644
index 0000000000..b4c79c915b
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/Chart.yaml
@@ -0,0 +1,42 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE KPI MS chart
+name: dcae-kpi-ms
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..5a9baa822f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml
new file mode 100644
index 0000000000..26be310888
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/configmap.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }}
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml
new file mode 100644
index 0000000000..02b5df8135
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/deployment.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }}
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml
new file mode 100644
index 0000000000..c4596e5b21
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/secret.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml
new file mode 100644
index 0000000000..ba0283dda5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dcaegen2-services/components/dcae-kpi-ms/values.yaml b/archive/dcaegen2-services/components/dcae-kpi-ms/values.yaml
new file mode 100644
index 0000000000..61b78fa01f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-kpi-ms/values.yaml
@@ -0,0 +1,138 @@
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021-2022 Wipro Limited.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.components.kpi-ms:1.2.1
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP/dcaegen2/services/kpims
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Optional Policy configuration properties
+# if present, policy-sync side car will be deployed
+#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
+#policies:
+# policyID: |
+# '["com.Config_KPIMS_CONFIG_POLICY"]'
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - message-router
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /healthcheck
+ scheme: HTTP
+ port: 8080
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-kpi-ms
+ ports:
+ - name: http
+ port: 8080
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+
+# Initial Application Configuration
+applicationConfig:
+ trust_store_path: '/opt/app/kpims/etc/cert/trust.jks'
+ trust_store_pass_path: '/opt/app/kpims/etc/cert/trust.pass'
+ pollingInterval: 20
+ pollingTimeout: 60
+ cbsPollingInterval: 60
+ dmaap.server: ["message-router"]
+ cg: kpi-cg
+ cid: kpi-cid
+ streams_subscribes:
+ performance_management_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.PERFORMANCE_MEASUREMENTS
+ streams_publishes:
+ kpi_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.DCAE_KPI_OUTPUT
+ kpi.policy: '{"domain":"measurementsForKpi","methodForKpi":[{"eventName":"perf3gpp_CORE-AMF_pmMeasResult","controlLoopSchemaType":"SLICE","policyScope":"resource=networkSlice;type=configuration","policyName":"configuration.dcae.microservice.kpi-computation","policyVersion":"v0.0.1","kpis":[{"measType":"AMFRegNbr","operation":"SUM","operands":"RM.RegisteredSubNbrMean"}]},{"eventName":"perf3gpp_CORE-UPF_pmMeasResult","controlLoopSchemaType":"SLICE","policyScope":"resource=networkSlice;type=configuration","policyName":"configuration.dcae.microservice.kpi-computation","policyVersion":"v0.0.1","kpis":[{"measType":"UpstreamDownstreamThr","operation":"SUM","operands":["GTP.InDataOctN3UPF","GTP.OutDataOctN3UPF"]}]}]'
+
+applicationEnv:
+ CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+ #Temporary Dummy CBS Port Value until internal SDK library is updated
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+ STANDALONE: 'false'
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "500Mi"
+ requests:
+ cpu: "1"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "1Gi"
+ requests:
+ cpu: "2"
+ memory: "1Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-kpi-ms
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/Chart.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/Chart.yaml
new file mode 100644
index 0000000000..30cb9cfe6c
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/Chart.yaml
@@ -0,0 +1,42 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (C) 2021 Nordix Foundation.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE PM-Mapper Helm charts
+name: dcae-pm-mapper
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: 'file://../../common/dcaegen2-services-common'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..5a9baa822f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/configmap.yaml
new file mode 100644
index 0000000000..a0cb9a66bd
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/deployment.yaml
new file mode 100644
index 0000000000..d992d5c19c
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/secret.yaml
new file mode 100644
index 0000000000..1f588464ba
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/templates/service.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/service.yaml
new file mode 100644
index 0000000000..2de4a8fe0a
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (C) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pm-mapper/values.yaml b/archive/dcaegen2-services/components/dcae-pm-mapper/values.yaml
new file mode 100644
index 0000000000..290c313b52
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pm-mapper/values.yaml
@@ -0,0 +1,187 @@
+# ================================ LICENSE_START ==========================
+# =========================================================================
+# Copyright (C) 2021 Nordix Foundation.
+# Copyright (c) 2022 Nokia. All rights reserved.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# =========================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ===========================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &drSubCredsUID drsubcreds
+ type: basicAuth
+ login: '{{ .Values.drSubscriberCreds.username }}'
+ password: '{{ .Values.drSubscriberCreds.password }}'
+ passwordPolicy: required
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.pm-mapper:1.10.1
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP/dcaegen2/services/pm-mapper
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Dependencies
+# Depend on the datafile-collector, which guarantees that
+# the DR feed that pm-mapper susbscribes to will be created
+# already by the datafile-collector DMaaP provisioning init
+# container. Also guarantees that DR provisioning will be
+# available for pm-mapper initContainter to create the
+# subscription to the feed.
+readinessCheck:
+ wait_for:
+ services:
+ - datafile-collector
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /healthcheck
+ scheme: HTTP
+ port: 8081
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-pm-mapper
+ both_tls_and_plain: true
+ ports:
+ - name: http
+ port: 8443
+ plain_port: 8081
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+
+# Data Router Subscriber Credentials
+drSubscriberCreds:
+ username: username
+ password: password
+
+credentials:
+- name: DR_USERNAME
+ uid: *drSubCredsUID
+ key: login
+- name: DR_PASSWORD
+ uid: *drSubCredsUID
+ key: password
+
+# Initial Application Configuration
+applicationConfig:
+ enable_tls: false
+ enable_http: true
+ aaf_identity: ""
+ aaf_password: ""
+ pm-mapper-filter: "{ \"filters\":[] }"
+ #key_store_path: /opt/app/pm-mapper/etc/cert/cert.jks
+ #key_store_pass_path: /opt/app/pm-mapper/etc/cert/jks.pass
+ trust_store_path: /opt/app/pm-mapper/etc/cert/trust.jks
+ trust_store_pass_path: /opt/app/pm-mapper/etc/cert/trust.pass
+ dmaap_dr_delete_endpoint: http://dmaap-dr-node:8080/delete
+ streams_publishes:
+ dmaap_publisher:
+ type: message_router
+ dmaap_info:
+ client_id: "dummy_id"
+ location: san-francisco
+ client_role: org.onap.dcae.pmPublisher
+ topic_url: http://message-router:3904/events/unauthenticated.PERFORMANCE_MEASUREMENTS
+ streams_subscribes:
+ dmaap_subscriber:
+ type: data_router
+ dmaap_info:
+ subscriber_id: "dummy_id"
+ decompress: true
+ privileged: true
+ username: ${DR_USERNAME}
+ password: ${DR_PASSWORD}
+ location: san-francisco
+ delivery_url: http://dcae-pm-mapper:8081/delivery
+
+applicationEnv:
+ #CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+ #Temporary Dummy CBS Port Value until internal SDK library is updated
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+
+# DataRouter Subscriber Configuration
+drSubConfig:
+ - feedName: bulk_pm_feed
+ feedVersion: "0.0"
+ decompress: true
+ username: ${DR_USERNAME}
+ userpwd: ${DR_PASSWORD}
+ privilegedSubscriber: true
+ deliveryURL: http://dcae-pm-mapper:8081/delivery
+
+# ConfigMap Configuration for DR Subscriber
+volumes:
+ - name: drsub-config
+ path: /opt/app/config/dr_subs
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-pm-mapper
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/Chart.yaml b/archive/dcaegen2-services/components/dcae-pmsh/Chart.yaml
new file mode 100644
index 0000000000..f721f0aba4
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/Chart.yaml
@@ -0,0 +1,45 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (C) 2021 Nordix Foundation.
+# Copyright (c) 2021 AT&T. All rights reserved.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "Kohn"
+description: DCAE PMSH Service
+name: dcae-pmsh
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-pmsh/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..30d173c2d8
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/templates/authorizationpolicy.yaml
@@ -0,0 +1,136 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "primary" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "replica" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml
new file mode 100644
index 0000000000..b4b8e59b2e
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml
new file mode 100644
index 0000000000..60fce4a7be
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml
new file mode 100644
index 0000000000..0f1129cfb4
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/templates/service.yaml b/archive/dcaegen2-services/components/dcae-pmsh/templates/service.yaml
new file mode 100644
index 0000000000..fedb766524
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 Nordix Foundation. #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-pmsh/values.yaml b/archive/dcaegen2-services/components/dcae-pmsh/values.yaml
new file mode 100644
index 0000000000..0f7289cc07
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-pmsh/values.yaml
@@ -0,0 +1,182 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (C) 2021 Nordix Foundation.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &pgUserCredsSecretUid pg-user-creds
+ name: &pgUserCredsSecretName '{{ include "common.release" . }}-pmsh-pg-user-creds'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "pmsh-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+ login: '{{ .Values.postgres.config.pgUserName }}'
+ password: '{{ .Values.postgres.config.pgUserPassword }}'
+ passwordPolicy: generate
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.pmsh:2.2.3
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP/dcaegen2/services/pmsh
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /healthcheck
+ scheme: HTTP
+ port: 8080
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-pmsh
+ ports:
+ - name: http
+ port: 8080
+ plain_port: 8080
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+ authorizedPrincipalsPostgres:
+ - serviceAccount: dcae-pmsh-read
+
+# Initial Application Configuration
+applicationConfig:
+ enable_tls: false
+ aaf_identity: dummy_value
+ aaf_password: dummy_value
+ key_path: /opt/app/pmsh/etc/certs/key.pem
+ cert_path: /opt/app/pmsh/etc/certs/cert.pem
+ ca_cert_path: /opt/app/pmsh/etc/certs/cacert.pem
+ control_loop_name: pmsh-control-loop
+ operational_policy_name: pmsh-operational-policy
+ pmsh_policy:
+ subscription:
+ subscriptionName: ExtraPM-All-gNB-R2B
+ administrativeState: LOCKED
+ fileBasedGP: 15
+ fileLocation: "/pm/pm.xml"
+ nfFilter: { "nfNames": [ "^pnf.*","^vnf.*" ],"modelInvariantIDs": [ ],"modelVersionIDs": [ ],"modelNames": [ ] }
+ measurementGroups: [ { "measurementGroup": { "measurementTypes": [ { "measurementType": "countera" },{ "measurementType": "counterb" } ],"managedObjectDNsBasic": [ { "DN": "dna" },{ "DN": "dnb" } ] } },{ "measurementGroup": { "measurementTypes": [ { "measurementType": "counterc" },{ "measurementType": "counterd" } ],"managedObjectDNsBasic": [ { "DN": "dnc" },{ "DN": "dnd" } ] } } ]
+ streams_publishes:
+ policy_pm_publisher:
+ type: message_router
+ dmaap_info:
+ topic_url: "http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT"
+ streams_subscribes:
+ policy_pm_subscriber:
+ type: message_router
+ dmaap_info:
+ topic_url: "http://message-router:3904/events/unauthenticated.PMSH_CL_INPUT"
+ aai_subscriber:
+ type: message_router
+ dmaap_info:
+ topic_url: "http://message-router:3904/events/AAI-EVENT"
+
+applicationEnv:
+ PMSH_PG_URL: &dcaePmshPgPrimary dcae-pmsh-pg-primary
+ PMSH_PG_USERNAME:
+ secretUid: *pgUserCredsSecretUid
+ key: login
+ PMSH_PG_PASSWORD:
+ secretUid: *pgUserCredsSecretUid
+ key: password
+ PMSH_API_PORT: '8080'
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#################################################################
+# Application configuration Overriding Defaults in the Postgres.
+#################################################################
+postgres:
+ nameOverride: &postgresName dcae-pmsh-postgres
+ service:
+ name: *postgresName
+ name2: *dcaePmshPgPrimary
+ name3: dcae-pmsh-pg-replica
+ container:
+ name:
+ primary: dcae-pmsh-pg-primary
+ replica: dcae-pmsh-pg-replica
+ persistence:
+ mountSubPath: pmsh/data
+ mountInitPath: pmsh
+ config:
+ pgUserName: pmsh
+ pgDatabase: pmsh
+ pgUserExternalSecret: *pgUserCredsSecretName
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - '{{ .Values.postgres.service.name2 }}'
+ - message-router
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-pmsh
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/Chart.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/Chart.yaml
new file mode 100644
index 0000000000..72d43e9481
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/Chart.yaml
@@ -0,0 +1,42 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE RESTConf Collector
+name: dcae-restconf-collector
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..5a9baa822f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/configmap.yaml
new file mode 100644
index 0000000000..a914446c99
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/deployment.yaml
new file mode 100644
index 0000000000..0ad66b62a9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/templates/ingress.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/ingress.yaml
new file mode 100644
index 0000000000..df12117b3e
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (C) 2022 Deutsche Telekom AG
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/secret.yaml
new file mode 100644
index 0000000000..6b70356ca9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/templates/service.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/service.yaml
new file mode 100644
index 0000000000..cf11d2a0c5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-restconf-collector/values.yaml b/archive/dcaegen2-services/components/dcae-restconf-collector/values.yaml
new file mode 100644
index 0000000000..8e6cc7a4a6
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-restconf-collector/values.yaml
@@ -0,0 +1,178 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021-2022 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: false
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &controllerCredsUID controllercreds
+ type: basicAuth
+ login: '{{ .Values.controllerCreds.username }}'
+ password: '{{ .Values.controllerCreds.password }}'
+ passwordPolicy: required
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.collectors.restconfcollector:1.4.1
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: null # /opt/app/restconfcollector/logs
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - message-router
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 100
+ periodSeconds: 60
+ timeoutSeconds: 5
+ path: /healthcheck
+ scheme: HTTP
+ port: 8080
+
+
+# service configuration
+service:
+ type: NodePort
+ name: dcae-restconf-collector
+ ports:
+ - name: http
+ port: 8443
+ plain_port: 8080
+ port_protocol: http
+ nodePort: 16
+ useNodePortExt: true
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "dcae-restconf-collector-api"
+ name: "dcae-restconf-collector"
+ port: 8443
+ plain_port: 8080
+ config:
+ ssl: "redirect"
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: istio-ingress
+ namespace: istio-ingress
+
+# AAF Credentials
+controllerCreds:
+ username: access
+ password: Huawei@123
+
+credentials:
+- name: CONTROLLER_USERNAME
+ uid: *controllerCredsUID
+ key: login
+- name: CONTROLLER_PASSWORD
+ uid: *controllerCredsUID
+ key: password
+
+# application environments
+applicationEnv:
+ LOG4J_FORMAT_MSG_NO_LOOKUPS: 'true'
+
+# Initial Application Configuration
+applicationConfig:
+ collector.rcc.appDescription: DCAE RestConf Collector Application
+ collector.rcc.appName: dcae-rcc
+ collector.rcc.dmaap.streamid: notification=device-registration
+ collector.rcc.inputQueue.maxPending: '8096'
+ tomcat.maxthreads: '200'
+ collector.rcc.service.port: '8080'
+ # Disabling of secure port not working (DCAEGEN2-3336)
+ collector.rcc.service.secure.port: '0'
+ #collector.rcc.service.secure.port: '8687'
+ #collector.rcc.keystore.file.location: /opt/app/dcae-certificate/cert.jks
+ #collector.rcc.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass
+ #collector.rcc.keystore.alias: dynamically generated
+ #collector.rcc.truststore.file.location: /opt/app/dcae-certificate/trust.jks
+ #collector.rcc.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass
+ #collector.keystore.file.location: /opt/app/dcae-certificate/external/cert.jks
+ #collector.keystore.passwordfile: /opt/app/dcae-certificate/external/jks.pass
+ collector.header.authflag: '0'
+ collector.header.authlist: sample1,c2FtcGxlMQ==
+ collector.rcc.service.secure.clientauth: '0'
+ streams_publishes:
+ device-registration:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.DCAE_RCC_OUTPUT
+ type: message_router
+ rcc_policy: '[{"controller_name":"AccessM&C","controller_restapiUrl":"172.30.0.55:26335","controller_restapiUser":"${CONTROLLER_USERNAME}","controller_restapiPassword":"${CONTROLLER_PASSWORD}","controller_accessTokenUrl":"/rest/plat/smapp/v1/oauth/token","controller_accessTokenFile":"./etc/access-token.json","controller_accessTokenMethod":"put","controller_subsMethod":"post","controller_subscriptionUrl":"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription","controller_disableSsl":"true","event_details":[{"event_name":"ONT_registration","event_description":"ONTregistartionevent","event_sseventUrlEmbed":"true","event_sseventsField":"output.url","event_sseventsUrl":"null","event_subscriptionTemplate":"./etc/ont_registartion_subscription_template.json","event_unSubscriptionTemplate":"./etc/ont_registartion_unsubscription_template.json","event_ruleId":"12345678","modifyData":"true","modifyMethod": "modifyOntEvent","userData": "remote_id=AC9.0234.0337;svlan=100;cvlan=10;"}]}]'
+
+#applicationEnv:
+# CONTROLLER_IP: "172.30.0.55"
+# CONTROLLER_PORT: "26335"
+
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-restconf-collector
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml
new file mode 100644
index 0000000000..f90bd1ef95
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/Chart.yaml
@@ -0,0 +1,45 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE SliceAnalysis MS charts
+name: dcae-slice-analysis-ms
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..30d173c2d8
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/authorizationpolicy.yaml
@@ -0,0 +1,136 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "primary" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "replica" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml
new file mode 100644
index 0000000000..26be310888
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/configmap.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }}
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml
new file mode 100644
index 0000000000..02b5df8135
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/deployment.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }}
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml
new file mode 100644
index 0000000000..c4596e5b21
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/secret.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml
new file mode 100644
index 0000000000..ba0283dda5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 Wipro Limited.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml
new file mode 100644
index 0000000000..fd70e36619
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml
@@ -0,0 +1,241 @@
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021-2022 Wipro Limited.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (C) 2022 Huawei Canada Limited.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &pgUserCredsSecretUid pg-user-creds
+ name: &pgUserCredsSecretName '{{ include "common.release" . }}-sliceanalysisms-pg-user-creds'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "sliceanalysisms-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+ login: '{{ .Values.postgres.config.pgUserName }}'
+ password: '{{ .Values.postgres.config.pgUserPassword }}'
+ passwordPolicy: generate
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.2.1
+pullPolicy: IfNotPresent
+
+#################################################################
+# Policy Sync Container Image.
+#################################################################
+# optional Policy configuration properties
+# if present, policy-sync side car will be deployed
+# policy sync is used for provide runtime configuration for slicems
+# policy id is originally set to "onap.dcae.slicems.config"
+
+#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
+#pullPolicy: IfNotPresent
+#policies:
+# duration:
+# 10
+# policyID: |
+# '["onap.dcae.slicems.config"]'
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP/dcaegen2/services/sliceanalysisms
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 60
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /healthcheck
+ scheme: HTTP
+ port: 8080
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-slice-analysis-ms
+ ports:
+ - name: http
+ port: 8080
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+ authorizedPrincipalsPostgres:
+ - serviceAccount: dcae-slice-analysis-ms-read
+
+credentials:
+- name: PG_USERNAME
+ uid: *pgUserCredsSecretUid
+ key: login
+- name: PG_PASSWORD
+ uid: *pgUserCredsSecretUid
+ key: password
+
+# Initial Application Configuration
+applicationConfig:
+ postgres.host: dcae-sliceanalysisms-pg-primary
+ postgres.port: 5432
+ postgres.username: ${PG_USERNAME}
+ postgres.password: ${PG_PASSWORD}
+ trust_store_path: /opt/app/sliceanalysisms/etc/cert/trust.jks
+ trust_store_pass_path: /opt/app/sliceanalysisms/etc/cert/trust.pass
+ sliceanalysisms.pollingInterval: 20
+ sliceanalysisms.pollingTimeout: 60
+ cbsPollingInterval: 60
+ sliceanalysisms.namespace: onap
+ sliceanalysisms.dmaap.server: ["message-router"]
+ sliceanalysisms.bufferTime: 60
+ sliceanalysisms.cg: sliceanalysisms-cg
+ sliceanalysisms.cid: sliceanalysisms-cid
+ sliceanalysisms.configDb.service: http://config-db:8080
+ sliceanalysisms.configDbEnabled: true
+ sliceanalysisms.aai.url: http://aai-internal.onap.svc.cluster.local:80/aai/v21
+ sliceanalysisms.cps.url: http://cps:8080
+ sliceanalysisms.samples: 3
+ sliceanalysisms.minPercentageChange: 5
+ sliceanalysisms.initialDelaySeconds: 120000
+ sliceanalysisms.rannfnssiDetailsTemplateId: get-rannfnssiid-details
+ sliceanalysisms.desUrl: http://dl-des:1681/datalake/v1/exposure/pm_data
+ sliceanalysisms.pmDataDurationInWeeks: 4
+ sliceanalysisms.vesNotifPollingInterval: 15
+ sliceanalysisms.vesNotifChangeIdentifier: PM_BW_UPDATE
+ sliceanalysisms.vesNotifChangeType: BandwidthChanged
+ sliceanalysisms.aaiNotif.targetAction: UPDATE
+ sliceanalysisms.aaiNotif.targetSource: UUI
+ sliceanalysisms.aaiNotif.targetEntity: service-instance
+ sliceanalysisms.ccvpnEvalInterval: 5
+ sliceanalysisms.ccvpnEvalUpperThreshold: 0.8
+ sliceanalysisms.ccvpnEvalLowerThreshold: 0.3
+ sliceanalysisms.ccvpnEvalPrecision: 100.0
+ sliceanalysisms.ccvpnEvalPeriodicCheckOn: true
+ sliceanalysisms.ccvpnEvalOnDemandCheckOn: true
+ sliceanalysisms.ccvpnEvalStrategy: FlexibleThresholdStrategy
+ streams_publishes:
+ CL_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT
+ streams_subscribes:
+ performance_management_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.PERFORMANCE_MEASUREMENTS
+ intelligent_slicing_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.ML_RESPONSE_TOPIC
+ dcae_cl_response_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/DCAE_CL_RSP
+ ves_ccvpn_notification_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT
+ aai_subscriber:
+ type: message-router
+ servers : ["message-router:3904"]
+ consumer_group: dcae_ccvpn_cl
+ consumer_instance: dcae_ccvpn_cl_aaievent
+ fetch_timeout: 15000
+ fetch_limit: 100
+ dmaap_info:
+ topic_url: http://message-router:3904/events/AAI-EVENT
+
+applicationEnv:
+ CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+ #Temporary Dummy CBS Port Value until internal SDK library is updated
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+ STANDALONE: 'false'
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "4Gi"
+ requests:
+ cpu: "2"
+ memory: "4Gi"
+ unlimited: {}
+
+#################################################################
+# Application configuration Overriding Defaults in the Postgres.
+#################################################################
+postgres:
+ nameOverride: &postgresName dcae-sliceanalysisms-postgres
+ service:
+ name: *postgresName
+ name2: dcae-sliceanalysisms-pg-primary
+ name3: dcae-sliceanalysisms-pg-replica
+ container:
+ name:
+ primary: dcae-sliceanalysisms-pg-primary
+ replica: dcae-sliceanalysisms-pg-replica
+ persistence:
+ mountSubPath: sliceanalysisms/data
+ mountInitPath: sliceanalysisms
+ config:
+ pgUserName: sliceanalysisms
+ pgDatabase: sliceanalysisms
+ pgUserExternalSecret: *pgUserCredsSecretName
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - '{{ .Values.postgres.service.name2 }}'
+ - message-router
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-slice-analysis-ms
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml
new file mode 100644
index 0000000000..5f2eb49546
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/Chart.yaml
@@ -0,0 +1,42 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Copyright (c) 2024 J. F. Lucas. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "NewDelhi"
+description: DCAE SNMPTrap Collector
+name: dcae-snmptrap-collector
+version: 13.0.1
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..5a9baa822f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/configmap.yaml
new file mode 100644
index 0000000000..a914446c99
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/deployment.yaml
new file mode 100644
index 0000000000..0ad66b62a9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/secret.yaml
new file mode 100644
index 0000000000..6b70356ca9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/service.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/service.yaml
new file mode 100644
index 0000000000..cf11d2a0c5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml b/archive/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml
new file mode 100644
index 0000000000..599b3d21b9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml
@@ -0,0 +1,150 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.collectors.snmptrap:2.0.8
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /opt/app/snmptrap/logs
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - message-router
+
+# Probe Configuration
+readiness:
+ type: exec
+ command:
+ - /opt/app/snmptrap/bin/snmptrapd.sh
+ - status
+
+# service configuration
+service:
+ type: NodePort
+ name: dcae-snmptrap-collector
+ ports:
+ - name: udp
+ port: 6162
+ l4_protocol: UDP # default to TCP if not set
+ port_protocol: udp #used in svn name
+ nodePort: 70
+ useNodePortExt: true
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals: []
+
+# Initial Application Configuration
+applicationConfig:
+ StormWatchPolicy: ''
+ cache:
+ dns_cache_ttl_seconds: 60
+ services_calls: {}
+ snmptrapd:
+ version: '2.0.8'
+ title: ONAP SNMP Trap Receiver
+ sw_interval_in_seconds: 60
+ streams_publishes:
+ sec_fault_unsecure:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
+ type: message_router
+ aaf_password: ""
+ aaf_username: ""
+ files:
+ runtime_base_dir: "/opt/app/snmptrap"
+ log_dir: logs
+ data_dir: data
+ pid_dir: tmp
+ arriving_traps_log: snmptrapd_arriving_traps.log
+ snmptrapd_diag: snmptrapd_prog_diag.log
+ traps_stats_log: snmptrapd_stats.csv
+ perm_status_file: snmptrapd_status.log
+ eelf_base_dir: "/opt/app/snmptrap/logs"
+ eelf_error: error.log
+ eelf_debug: debug.log
+ eelf_audit: audit.log
+ eelf_metrics: metrics.log
+ roll_frequency: hour
+ minimum_severity_to_log: 3
+ protocols:
+ transport: udp
+ ipv4_interface: 0.0.0.0
+ ipv4_port: 6162
+ ipv6_interface: "::1"
+ ipv6_port: 6162
+ publisher:
+ http_milliseconds_timeout: 1500
+ http_retries: 3
+ http_milliseconds_between_retries: 750
+ http_primary_publisher: 'true'
+ http_peer_publisher: unavailable
+ max_traps_between_publishes: 10
+ max_milliseconds_between_publishes: 10000
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-snmptrap-collector
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/Chart.yaml b/archive/dcaegen2-services/components/dcae-son-handler/Chart.yaml
new file mode 100644
index 0000000000..b4bde7f0fe
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/Chart.yaml
@@ -0,0 +1,45 @@
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE Son-handler helm chart
+name: dcae-son-handler
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-son-handler/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..30d173c2d8
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/templates/authorizationpolicy.yaml
@@ -0,0 +1,136 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "primary" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+---
+{{- $dot := default . .dot -}}
+{{- $trustedDomain := default "cluster.local" $dot.Values.serviceMesh.authorizationPolicy.trustedDomain -}}
+{{- $authorizedPrincipalsPostgres := default list $dot.Values.serviceMesh.authorizationPolicy.authorizedPrincipalsPostgres -}}
+{{- $defaultOperationPorts := list "5432" -}}
+{{- $relName := include "common.release" . -}}
+{{- $postgresName := $dot.Values.postgres.service.name -}}
+{{- $pgHost := "replica" -}}
+{{- if (include "common.useAuthorizationPolicies" .) }}
+apiVersion: security.istio.io/v1beta1
+kind: AuthorizationPolicy
+metadata:
+ name: {{ $relName }}-{{ $postgresName }}-{{ $pgHost }}-authz
+ namespace: {{ include "common.namespace" . }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ $postgresName }}-{{ $pgHost }}
+ action: ALLOW
+ rules:
+{{- if $authorizedPrincipalsPostgres }}
+{{- range $principal := $authorizedPrincipalsPostgres }}
+ - from:
+ - source:
+ principals:
+{{- $namespace := default "onap" $principal.namespace -}}
+{{- if eq "onap" $namespace }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $relName }}-{{ $principal.serviceAccount }}"
+{{- else }}
+ - "{{ $trustedDomain }}/ns/{{ $namespace }}/sa/{{ $principal.serviceAccount }}"
+{{- end }}
+ to:
+ - operation:
+ ports:
+{{- range $port := $defaultOperationPorts }}
+ - "{{ $port }}"
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml
new file mode 100644
index 0000000000..48a203963e
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/templates/configmap.yaml
@@ -0,0 +1,20 @@
+{{/*
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }}
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml
new file mode 100644
index 0000000000..c8cd4d40e5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/templates/deployment.yaml
@@ -0,0 +1,20 @@
+{{/*
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }}
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml
new file mode 100644
index 0000000000..26b7b5dbdd
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/templates/secret.yaml
@@ -0,0 +1,20 @@
+{{/*
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/templates/service.yaml b/archive/dcaegen2-services/components/dcae-son-handler/templates/service.yaml
new file mode 100644
index 0000000000..41133e5abc
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021 Wipro Limited.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dcaegen2-services/components/dcae-son-handler/values.yaml b/archive/dcaegen2-services/components/dcae-son-handler/values.yaml
new file mode 100644
index 0000000000..5e16967203
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-son-handler/values.yaml
@@ -0,0 +1,250 @@
+# ============= LICENSE_START ================================================
+# ============================================================================
+# Copyright (C) 2021-2022 Wipro Limited.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============= LICENSE_END ==================================================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Secrets Configuration.
+#################################################################
+secrets:
+ - uid: &cpsCredsUID cpscreds
+ type: basicAuth
+ login: '{{ .Values.cpsCreds.identity }}'
+ password: '{{ .Values.cpsCreds.password }}'
+ passwordPolicy: required
+ - uid: &pgUserCredsSecretUid pg-user-creds
+ name: &pgUserCredsSecretName '{{ include "common.release" . }}-sonhms-pg-user-creds'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "sonhms-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+ login: '{{ .Values.postgres.config.pgUserName }}'
+ password: '{{ .Values.postgres.config.pgUserPassword }}'
+ passwordPolicy: generate
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.son-handler:2.2.1
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /var/log/ONAP/dcaegen2/services/sonhms
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Optional Policy configuration properties
+# if present, policy-sync side car will be deployed
+#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
+#policies:
+# policyID: |
+# '["com.Config_PCIMS_CONFIG_POLICY"]'
+
+# Probe Configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 15
+ timeoutSeconds: 1
+ path: /healthcheck
+ scheme: HTTP
+ port: 8080
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-son-handler
+ ports:
+ - name: http
+ port: 8080
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+ authorizedPrincipalsPostgres:
+ - serviceAccount: dcae-son-handler-read
+
+# Credentials
+cpsCreds:
+ identity: cps
+ password: cpsr0cks!
+
+credentials:
+- name: CPS_IDENTITY
+ uid: *cpsCredsUID
+ key: login
+- name: CPS_PASSWORD
+ uid: *cpsCredsUID
+ key: password
+- name: PG_USERNAME
+ uid: *pgUserCredsSecretUid
+ key: login
+- name: PG_PASSWORD
+ uid: *pgUserCredsSecretUid
+ key: password
+
+
+# Initial Application Configuration
+applicationConfig:
+ postgres.host: &dcaeSonhmsPgPrimary dcae-sonhms-pg-primary
+ postgres.port: 5432
+ postgres.username: ${PG_USERNAME}
+ postgres.password: ${PG_PASSWORD}
+ cps.username: ${CPS_IDENTITY}
+ cps.password: ${CPS_PASSWORD}
+ sonhandler.pollingInterval: 20
+ sonhandler.pollingTimeout: 60
+ cbsPollingInterval: 60
+ sonhandler.numSolutions: 5
+ sonhandler.minCollision: 5
+ sonhandler.minConfusion: 5
+ sonhandler.maximumClusters: 5
+ sonhandler.badThreshold: 50
+ sonhandler.poorThreshold: 70
+ sonhandler.namespace: onap
+ sonhandler.sourceId: SONHMS
+ sonhandler.dmaap.server: ["message-router"]
+ sonhandler.bufferTime: 60
+ sonhandler.cg: sonhms-cg
+ sonhandler.cid: sonhms-cid
+ sonhandler.clientType: cps
+ sonhandler.nearRtricUrl: "https://a1-policy-management:30294/a1-policy/v2/policies"
+ cps.service.url: http://cps-tbdmt:8080
+ cps.get.celldata: execute/cps-ran-schemaset/get-cell-data
+ cps.get.nbr.list.url: execute/cps-ran-schemaset/get-nbr-list
+ cps.get.pci.url: execute/ran-network-schemaset/get-pci
+ cps.get.pnf.url: execute/ran-network-schemaset/get-pnf
+ sonhandler.configDb.service: http://configdb:8080
+ sonhandler.oof.service: https://oof-osdf:8698
+ sonhandler.oof.endpoint: /api/oof/v1/pci
+ sonhandler.pciOptimizer: pci
+ sonhandler.pciAnrOptimizer: pci_anr
+ sonhandler.poorCountThreshold: 3
+ sonhandler.badCountThreshold: 3
+ sonhandler.oofTriggerCountTimer: 30
+ sonhandler.oofTriggerCountThreshold: 5
+ sonhandler.policyRespTimer: 10
+ sonhandler.policyNegativeAckThreshold: 3
+ sonhandler.policyFixedPciTimeInterval: 30000
+ sonhandler.nfNamingCode: RansimAgent
+ streams_publishes:
+ CL_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT
+ streams_subscribes:
+ performance_management_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT
+ fault_management_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT
+ nbr_list_change_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO
+ dcae_cl_response_topic:
+ type: message-router
+ dmaap_info:
+ topic_url: http://message-router:3904/events/DCAE_CL_RSP
+ service_calls:
+ sdnr-getpnfname: []
+ sdnr-getpci: []
+ sdnr-getnbrlist: []
+ sdnr-getcelllist: []
+ oof-req: []
+ policy-req: []
+
+applicationEnv:
+ CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+ #Temporary Dummy CBS Port Value until internal SDK library is updated
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+ STANDALONE: 'false'
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#################################################################
+# Application configuration Overriding Defaults in the Postgres.
+#################################################################
+postgres:
+ nameOverride: &postgresName dcae-sonhms-postgres
+ service:
+ name: *postgresName
+ name2: *dcaeSonhmsPgPrimary
+ name3: dcae-sonhms-pg-replica
+ container:
+ name:
+ primary: dcae-sonhms-pg-primary
+ replica: dcae-sonhms-pg-replica
+ persistence:
+ mountSubPath: sonhms/data
+ mountInitPath: sonhms
+ config:
+ pgUserName: sonhms
+ pgDatabase: sonhms
+ pgUserExternalSecret: *pgUserCredsSecretName
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - '{{ .Values.postgres.service.name2 }}'
+ - message-router
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-son-handler
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/Chart.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/Chart.yaml
new file mode 100644
index 0000000000..8596dcd2e1
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/Chart.yaml
@@ -0,0 +1,45 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 J. F. Lucas. All rights reserved.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v2
+appVersion: "NewDelhi"
+description: DCAE TCA (Gen 2)
+name: dcae-tcagen2
+version: 13.1.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: mongodb
+ version: ~14.12.x-0
+ repository: '@local' \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..5a9baa822f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/templates/configmap.yaml
new file mode 100644
index 0000000000..a7d0acd017
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/templates/configmap.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 J. F. Lucas. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }}
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/templates/deployment.yaml
new file mode 100644
index 0000000000..be56017250
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 J. F. Lucas. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/templates/secret.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/templates/secret.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/templates/service.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/templates/service.yaml
new file mode 100644
index 0000000000..c3b0715cd6
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 J. F. Lucas. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dcaegen2-services/components/dcae-tcagen2/values.yaml b/archive/dcaegen2-services/components/dcae-tcagen2/values.yaml
new file mode 100644
index 0000000000..393d7936a0
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-tcagen2/values.yaml
@@ -0,0 +1,199 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+ # Docker Repository used by RepositoryGenerator
+ dockerHubRepository: docker.io
+ # Additions for MongoDB****************************
+ # If dockerHubRepository is changes the following entry needs
+ # to be changed as well
+ imageRegistry: docker.io
+ imagePullSecrets:
+ - '{{ include "common.names.namespace" . }}-docker-registry-key'
+ # *************************************************
+
+#################################################################
+# Filebeat configuration defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.4.0
+pullPolicy: Always
+
+# log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /opt/logs/dcae-analytics-tca
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+secrets:
+ - uid: &aaiCredsUID aaicreds
+ type: basicAuth
+ login: '{{ .Values.aaiCreds.user }}'
+ password: '{{ .Values.aaiCreds.password }}'
+ passwordPolicy: required
+
+# dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - message-router
+
+# probe configuration
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ path: /actuator/health
+ scheme: HTTP
+ port: 9091
+
+# service configuration
+service:
+ type: ClusterIP
+ name: dcae-tcagen2
+ ports:
+ - port: 9091
+ name: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+
+# mongoDB overrides
+mongodb:
+ nameOverride: dcae-mongo
+ #config:
+ # dbName: dcaecommondb
+ auth:
+ enabled: false
+ databases:
+ - "dcaecommondb"
+ usernames:
+ - "dcae"
+ service:
+ nameOverride: dcae-mongohost
+ internalPort: 27017
+ resources:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "500m"
+ memory: "1Gi"
+
+# Policy configuraiton properties
+# if enabled, policy-sync side car will be deployed
+#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
+#policies:
+# duration: 300
+# policyRelease: "onap"
+# policyID: |
+# '["onap.vfirewall.tca","onap.vdns.tca"]'
+
+
+aaiCreds:
+ user: DCAE
+ password: DCAE
+
+credentials:
+- name: AAI_USERNAME
+ uid: *aaiCredsUID
+ key: login
+- name: AAI_PASSWORD
+ uid: *aaiCredsUID
+ key: password
+
+# initial application configuration
+applicationConfig:
+ service_calls: []
+ streams_publishes:
+ tca_handle_out:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT
+ type: message_router
+ streams_subscribes:
+ tca_handle_in:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT
+ type: message_router
+ spring.data.mongodb.uri: mongodb://dcae-mongohost/dcae-tcagen2
+ streams_subscribes.tca_handle_in.consumer_group: cg1
+ streams_subscribes.tca_handle_in.consumer_ids[0]: c0
+ streams_subscribes.tca_handle_in.consumer_ids[1]: c1
+ streams_subscribes.tca_handle_in.message_limit: 50000
+ streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000
+ streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000
+ streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000
+ streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000
+ streams_subscribes.tca_handle_in.polling.fixed_rate: 0
+ streams_subscribes.tca_handle_in.timeout: -1
+ tca.aai.enable_enrichment: true
+ tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf
+ tca.aai.node_query_path: aai/v11/search/nodes-query
+ tca.aai.password: ${AAI_PASSWORD}
+ tca.aai.url: http://aai-internal:80
+ tca.aai.username: ${AAI_USERNAME}
+ tca.policy: "[{\"domain\":\"measurementsForVfScaling\",\"violatedMetricsPerEventName\":[{\"eventName\":\"Mfvs_eNodeB_RANKPI\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]},{\"domain\":\"measurement\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementFields.nicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementFields.nicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementFields.nicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}]"
+ tca.processing_batch_size: 10000
+ tca.enable_abatement: true
+ tca.enable_ecomp_logging: true
+
+applicationEnv:
+ #Temporary Dummy CBS Port Value until internal SDK library is updated
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-tcagen2
+ roles:
+ - read
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml
new file mode 100644
index 0000000000..4d1eb4a595
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/Chart.yaml
@@ -0,0 +1,42 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021 AT&T Intellectual Property
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+# Modifications Copyright © 2023 Deutsche Telekom AG.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+apiVersion: v2
+appVersion: "London"
+description: DCAE VES-Mapper Microservice
+name: dcae-ves-mapper
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: dcaegen2-services-common
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/templates/authorizationpolicy.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..5a9baa822f
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }}
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml
new file mode 100644
index 0000000000..a914446c99
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/configmap.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.configMap" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml
new file mode 100644
index 0000000000..0ad66b62a9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/deployment.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml
new file mode 100644
index 0000000000..6b70356ca9
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/secret.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.secretFast" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml
new file mode 100644
index 0000000000..cf11d2a0c5
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+################################################################################
+# Copyright (c) 2021 AT&T Intellectual Property #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+################################################################################
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/dcaegen2-services/components/dcae-ves-mapper/values.yaml b/archive/dcaegen2-services/components/dcae-ves-mapper/values.yaml
new file mode 100644
index 0000000000..b886ae40d3
--- /dev/null
+++ b/archive/dcaegen2-services/components/dcae-ves-mapper/values.yaml
@@ -0,0 +1,199 @@
+# ================================ LICENSE_START =============================
+# ============================================================================
+# Copyright (c) 2021-2022 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
+# Copyright (c) 2023 Deutsche Telekom AG. All rights reserved.
+# ============================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ================================= LICENSE_END ==============================
+
+#################################################################
+# Global Configuration Defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ nodePortPrefixExt: 304
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Filebeat Configuration Defaults.
+#################################################################
+filebeatConfig:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+#################################################################
+# Application Configuration Defaults.
+#################################################################
+# Application Image
+image: onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.5.0
+pullPolicy: Always
+
+# Log directory where logging sidecar should look for log files
+# if path is set to null sidecar won't be deployed in spite of
+# global.centralizedLoggingEnabled setting.
+log:
+ path: /opt/app/VESAdapter/logs
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+
+# Dependencies
+readinessCheck:
+ wait_for:
+ services:
+ - message-router
+
+# Service Configuration
+service:
+ type: ClusterIP
+ name: dcae-ves-mapper
+ ports:
+ - name: http
+ port: 80
+ port_protocol: http
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+
+# application environments
+applicationEnv:
+ LOG4J_FORMAT_MSG_NO_LOOKUPS: 'true'
+ CONFIG_BINDING_SERVICE_SERVICE_PORT: '10000' # Workaround until DCAEGEN2-3098 is addressed
+ CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+
+
+# Initial Application Configuration
+applicationConfig:
+ app_preferences:
+ collectors:
+ - identifier: notification-id
+ mapping-files:
+ - defaultMappingFile-rcc-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
+ xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
+ xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
+ keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
+ /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent'
+ beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
+ /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event'
+ createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
+ /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields'
+ /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader'
+ beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression
+ property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression
+ property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression
+ property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression
+ property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
+ property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec'
+ execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
+ property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
+ property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
+ property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean
+ class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields'
+ createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value
+ property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate'
+ data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate'
+ data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber'
+ data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress'
+ /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress'
+ /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion'
+ /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value
+ property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName'
+ data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields'
+ beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation'
+ beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring
+ property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean
+ beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value
+ data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>"
+ stream_publisher: ves-pnfRegistration
+ stream_subscriber: rcc-notification
+ - identifier: notify OID
+ mapping-files:
+ - defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
+ xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
+ xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
+ keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
+ /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent'
+ beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
+ /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event'
+ createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
+ /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean
+ class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader'
+ createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression
+ property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId'
+ execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression
+ property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression
+ property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
+ property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec'
+ data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received'
+ /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
+ property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields'
+ beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion'
+ data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition'
+ data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression
+ property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression
+ property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring
+ property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot'
+ /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot'
+ createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation'
+ /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation'
+ beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value
+ property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value'
+ /></jb:bean></smooks-resource-list>"
+ stream_publisher: ves-fault
+ stream_subscriber: snmp-notification
+ streams_publishes:
+ ves-fault:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT
+ type: message_router
+ ves-pnfRegistration:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT
+ type: message_router
+ streams_subscribes:
+ rcc-notification:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.DCAE_RCC_OUTPUT
+ type: message_router
+ snmp-notification:
+ dmaap_info:
+ topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
+ type: message_router
+
+# Resource Limit Flavor -By Default Using Small
+flavor: small
+
+# Segregation for Different Environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "2"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dcae-ves-mapper
+ roles:
+ - read
diff --git a/archive/dmaap/.helmignore b/archive/dmaap/.helmignore
new file mode 100644
index 0000000000..7ddbad7ef4
--- /dev/null
+++ b/archive/dmaap/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+components/
diff --git a/archive/dmaap/Chart.yaml b/archive/dmaap/Chart.yaml
new file mode 100644
index 0000000000..31c57e31d0
--- /dev/null
+++ b/archive/dmaap/Chart.yaml
@@ -0,0 +1,41 @@
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs,Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021-2022 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP DMaaP components
+name: dmaap
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: message-router
+ version: ~13.x-0
+ repository: 'file://components/message-router'
+ condition: message-router.enabled
+ - name: dmaap-dr-node
+ version: ~13.x-0
+ repository: 'file://components/dmaap-dr-node'
+ condition: dmaap-dr-node.enabled
+ - name: dmaap-dr-prov
+ version: ~13.x-0
+ repository: 'file://components/dmaap-dr-prov'
+ condition: dmaap-dr-prov.enabled
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dmaap/Makefile b/archive/dmaap/Makefile
new file mode 100644
index 0000000000..5bedb4a7b9
--- /dev/null
+++ b/archive/dmaap/Makefile
@@ -0,0 +1,59 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+ @rm -f */Chart.lock
+%:
+ @:
diff --git a/archive/dmaap/README.md b/archive/dmaap/README.md
new file mode 100644
index 0000000000..33362926b0
--- /dev/null
+++ b/archive/dmaap/README.md
@@ -0,0 +1,22 @@
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs,Bell Canada
+# Copyright (c) 2023 J. F.Lucas. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Helm Chart for ONAP DMaaP Applications
+
+ONAP DMaaP includes the following Kubernetes services:
+
+1) message-router - a message bus for applications
+2) dmaap-data-router - an API to provision data feeds for consumers
diff --git a/archive/dmaap/components/Makefile b/archive/dmaap/components/Makefile
new file mode 100644
index 0000000000..89fff87d25
--- /dev/null
+++ b/archive/dmaap/components/Makefile
@@ -0,0 +1,59 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+ @rm -f */Chart.lock
+%:
+ @:
diff --git a/archive/dmaap/components/dmaap-dr-node/.helmignore b/archive/dmaap/components/dmaap-dr-node/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/dmaap/components/dmaap-dr-node/Chart.yaml b/archive/dmaap/components/dmaap-dr-node/Chart.yaml
new file mode 100644
index 0000000000..13e4ed7ca2
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/Chart.yaml
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP DMaaP Data Router Node Server
+name: dmaap-dr-node
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dmaap/components/dmaap-dr-node/resources/config/logback.xml b/archive/dmaap/components/dmaap-dr-node/resources/config/logback.xml
new file mode 100644
index 0000000000..7d773830cd
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/resources/config/logback.xml
@@ -0,0 +1,223 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2019 Nordix Foundation.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+
+ <property name="logDir" value="/var/log/onap/datarouter" />
+ <!-- log file names -->
+ <property name="auditLog" value="audit" />
+ <property name="errorLog" value="error" />
+ <property name="debugLog" value="debug" />
+ <property name="metricsLog" value="metrics" />
+ <property name="jettyLog" value="jetty" />
+
+ <!-- log file names -->
+ <property name="defaultPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}%n|%msg%n" />
+ <property name="logDirectory" value="${logDir}" />
+
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+
+
+ <appender name="Audit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.AuditFilter">
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Audit" />
+ </appender>
+
+ <!-- ============================================================================ -->
+
+ <appender name="Metrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.MetricsFilter">
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Metrics" />
+ </appender>
+
+ <!-- ============================================================================ -->
+
+
+ <appender name="Debug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.DebugFilter">
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Debug" />
+ </appender>
+
+ <!-- ============================================================================ -->
+
+ <appender name="Error"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.ErrorFilter">
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Error"/>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <appender name="Jetty"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${jettyLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.JettyFilter" />
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${jettyLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncJettyLog" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Jetty" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+ <!-- ============================================================================ -->
+
+
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncAudit" />
+ </logger>
+
+ <logger name="com.att.eelf" additivity="false">
+ <appender-ref ref="asyncMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf" additivity="false">
+ <appender-ref ref="asyncDebug" />
+ </logger>
+
+ <logger name="com.att.eelf.error" additivity="false">
+ <appender-ref ref="asyncError" />
+ </logger>
+
+ <logger name="log4j.logger.org.eclipse.jetty" additivity="false">
+ <appender-ref ref="asyncJettyLog"/>
+ </logger>
+
+
+ <root level="{{.Values.logLevel}}">
+ <appender-ref ref="asyncAudit" />
+ <appender-ref ref="asyncMetrics" />
+ <appender-ref ref="asyncDebug" />
+ <appender-ref ref="asyncError" />
+ <appender-ref ref="asyncJettyLog" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration> \ No newline at end of file
diff --git a/archive/dmaap/components/dmaap-dr-node/resources/config/node.properties b/archive/dmaap/components/dmaap-dr-node/resources/config/node.properties
new file mode 100644
index 0000000000..21d7c20abd
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/resources/config/node.properties
@@ -0,0 +1,109 @@
+{{/*
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# * ===========================================================================
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# * http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# * ============LICENSE_END====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+#
+# Configuration parameters fixed at startup for the DataRouter node
+#
+# URL to retrieve dynamic configuration
+#
+#ProvisioningURL: ${DRTR_PROV_INTURL}
+*/}}
+ProvisioningURL=http://{{ .Values.global.dmaapDrProvName }}:8080/internal/prov
+
+#
+# URL to upload PUB/DEL/EXP logs
+#
+#LogUploadURL: ${DRTR_LOG_URL}
+LogUploadURL=http://{{ .Values.global.dmaapDrProvName }}:8080/internal/logs
+
+#
+# The port number for http as seen within the server
+#
+#IntHttpPort: ${DRTR_NODE_INTHTTPPORT:-8080}
+IntHttpPort={{ .Values.containerPort }}
+#
+# The port number for https as seen within the server
+#
+IntHttpsPort={{ .Values.containerPort }}
+#
+# The external port number for https taking port mapping into account
+#
+ExtHttpsPort=443
+#
+# The minimum interval between fetches of the dynamic configuration
+# from the provisioning server
+#
+MinProvFetchInterval=10000
+#
+# The minimum interval between saves of the redirection data file
+#
+MinRedirSaveInterval=10000
+#
+# The path to the directory where log files are stored
+#
+LogDir={{ .Values.persistence.event.path }}
+#
+# The retention interval (in days) for log files
+#
+LogRetention=30
+#
+# The path to the directories where data and meta data files are stored
+#
+SpoolDir={{ .Values.persistence.spool.path }}
+#
+# The path to the redirection data file
+#
+RedirectionFile = etc/redirections.dat
+#
+# The type of keystore for https
+KeyStoreType = PKCS12
+#
+# The type of truststore for https
+TrustStoreType = jks
+#
+# The path to the file used to trigger an orderly shutdown
+QuiesceFile = etc/SHUTDOWN
+#
+# The key used to generate passwords for node to node transfers
+NodeAuthKey = Node123!
+#
+# DR_NODE DEFAULT ENABLED TLS PROTOCOLS
+NodeHttpsProtocols = TLSv1.1|TLSv1.2
+#
+# AAF CADI enabled flag
+CadiEnabled = false
+#
+# AAF type to generate permission string
+AAFType = org.onap.dmaap-dr.feed
+#
+# AAF default instance to generate permission string - default should be legacy
+AAFInstance = legacy
+#
+# AAF action to generate permission string - default should be publish
+AAFAction = publish
+#
+# AAF Props file path
+AAFPropsFilePath = /opt/app/osaaf/local/org.onap.dmaap-dr.props
+#
+# https security required for publish request
+TlsEnabled = false \ No newline at end of file
diff --git a/archive/dmaap/components/dmaap-dr-node/templates/configmap.yaml b/archive/dmaap/components/dmaap-dr-node/templates/configmap.yaml
new file mode 100644
index 0000000000..ce64cabc92
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/templates/configmap.yaml
@@ -0,0 +1,31 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-node-props
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/node.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
diff --git a/archive/dmaap/components/dmaap-dr-node/templates/ingress.yaml b/archive/dmaap/components/dmaap-dr-node/templates/ingress.yaml
new file mode 100644
index 0000000000..f288af9b29
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/templates/ingress.yaml
@@ -0,0 +1,21 @@
+{{/*
+ # ============LICENSE_START===================================================
+ # Copyright (C) 2022 Nordix Foundation, Orange.
+ # ============================================================================
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+ # SPDX-License-Identifier: Apache-2.0
+ # ============LICENSE_END=====================================================
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/dmaap/components/dmaap-dr-node/templates/pv-event.yaml b/archive/dmaap/components/dmaap-dr-node/templates/pv-event.yaml
new file mode 100644
index 0000000000..59b7b8c30e
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/templates/pv-event.yaml
@@ -0,0 +1,21 @@
+{{/*
+ # ============LICENSE_START===================================================
+ # Copyright (C) 2020 Nordix Foundation, Orange.
+ # ============================================================================
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+ # SPDX-License-Identifier: Apache-2.0
+ # ============LICENSE_END=====================================================
+*/}}
+
+{{ include "common.replicaPV" (dict "dot" . "suffix" "event-logs" "persistenceInfos" .Values.persistence.event) }}
diff --git a/archive/dmaap/components/dmaap-dr-node/templates/pv-spool.yaml b/archive/dmaap/components/dmaap-dr-node/templates/pv-spool.yaml
new file mode 100644
index 0000000000..8ada88319d
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/templates/pv-spool.yaml
@@ -0,0 +1,21 @@
+{{/*
+ # ============LICENSE_START===================================================
+ # Copyright (C) 2020 Nordix Foundation, Orange.
+ # ============================================================================
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+ # SPDX-License-Identifier: Apache-2.0
+ # ============LICENSE_END=====================================================
+*/}}
+
+{{ include "common.replicaPV" (dict "dot" . "suffix" "spool" "persistenceInfos" .Values.persistence.spool) }}
diff --git a/archive/dmaap/components/dmaap-dr-node/templates/service.yaml b/archive/dmaap/components/dmaap-dr-node/templates/service.yaml
new file mode 100644
index 0000000000..306b0f17eb
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/templates/service.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dmaap/components/dmaap-dr-node/templates/statefulset.yaml b/archive/dmaap/components/dmaap-dr-node/templates/statefulset.yaml
new file mode 100644
index 0000000000..4bb57063ad
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/templates/statefulset.yaml
@@ -0,0 +1,100 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: StatefulSet
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ serviceName: {{ include "common.servicename" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ # temporarily use less restrictions
+ securityContext:
+ runAsUser: {{ .Values.securityContext.user_id }}
+ runAsGroup: {{ .Values.securityContext.group_id }}
+ fsGroup: {{ .Values.securityContext.group_id }}
+ initContainers: {{ include "common.readinessCheck.waitFor" . | nindent 8 }}
+ - name: {{ include "common.name" . }}-permission-fixer
+ securityContext:
+ runAsUser: 0
+ image: {{ include "repositoryGenerator.image.busybox" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command: ["chown","-Rf","1000:1001", "/opt/app/"]
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-spool
+ mountPath: {{ .Values.persistence.spool.path }}
+ - name: {{ include "common.fullname" . }}-event-logs
+ mountPath: {{ .Values.persistence.event.path }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 12 }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{.Values.liveness.port}}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{.Values.readiness.port}}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - mountPath: {{ .Values.persistence.spool.path }}
+ name: {{ include "common.fullname" . }}-spool
+ - mountPath: {{ .Values.persistence.event.path }}
+ name: {{ include "common.fullname" . }}-event-logs
+ - mountPath: /opt/app/datartr/etc/node.properties
+ name: {{ include "common.fullname" . }}-config
+ subPath: node.properties
+ - mountPath: /opt/app/datartr/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity: {{ toYaml .Values.affinity | nindent 10 }}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}-node-props
+ items:
+ - key: node.properties
+ path: node.properties
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ {{- if not .Values.persistence.enabled }}
+ - name: {{ include "common.fullname" . }}-event-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-spool
+ emptyDir: {}
+ {{- end }}
+{{- if .Values.persistence.enabled }}
+ volumeClaimTemplates:
+ - {{ include "common.PVCTemplate" (dict "dot" . "suffix" "spool" "persistenceInfos" .Values.persistence.spool) | indent 4 | trim }}
+ - {{ include "common.PVCTemplate" (dict "dot" . "suffix" "event-logs" "persistenceInfos" .Values.persistence.event) | indent 4 | trim }}
+{{- end }}
diff --git a/archive/dmaap/components/dmaap-dr-node/values.yaml b/archive/dmaap/components/dmaap-dr-node/values.yaml
new file mode 100644
index 0000000000..e3f0595b1f
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-node/values.yaml
@@ -0,0 +1,131 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ persistence: {}
+ dmaapDrProvName: dmaap-dr-prov
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/dmaap/datarouter-node:2.1.15
+pullPolicy: Always
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# application configuration - see parent values chart
+# dr uses the EELF Logging framework https://github.com/att/EELF
+# and supports the following log levels: TRACE, DEBUG, INFO, WARN, ERROR, OFF
+logLevel: "DEBUG"
+
+containerPort: &svc_port 8080
+
+service:
+ type: ClusterIP
+ name: dmaap-dr-node
+ ports:
+ - name: http
+ port: *svc_port
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "dmaap-dr-node-api"
+ name: "dmaap-dr-node"
+ port: *svc_port
+ config:
+ ssl: "redirect"
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+ port: *svc_port
+
+readiness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ port: *svc_port
+
+## Persist data to a persistent volume
+persistence:
+ enabled: true
+ mountPath: /dockerdata-nfs
+ spool:
+ enabled: true
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ mountSubPath: data-router/dr-node/spool-data
+ size: 2Gi
+ path: /opt/app/datartr/spool
+ labels:
+ app.kubernetes.io/component: spool
+
+ event:
+ enabled: true
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ mountSubPath: data-router/dr-node/event-logs
+ path: /opt/app/datartr/logs
+ size: 2Gi
+ labels:
+ app.kubernetes.io/component: event-logs
+
+# Resource Limit flavor -By Default using small
+flavor: small
+
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dmaap-dr-node
+ roles:
+ - read
+
+securityContext:
+ user_id: 1000
+ group_id: 1000
+
+readinessCheck:
+ wait_for:
+ services:
+ - dmaap-dr-prov
diff --git a/archive/dmaap/components/dmaap-dr-prov/.helmignore b/archive/dmaap/components/dmaap-dr-prov/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/dmaap/components/dmaap-dr-prov/Chart.yaml b/archive/dmaap/components/dmaap-dr-prov/Chart.yaml
new file mode 100644
index 0000000000..fb3ff1236d
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/Chart.yaml
@@ -0,0 +1,40 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP DMaaP Data Router Provisioning Server
+name: dmaap-dr-prov
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: mariadb-galera
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.mariadbGalera.localCluster
+ - name: mariadb-init
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dmaap/components/dmaap-dr-prov/resources/config/logback.xml b/archive/dmaap/components/dmaap-dr-prov/resources/config/logback.xml
new file mode 100644
index 0000000000..9a3c383f8f
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/resources/config/logback.xml
@@ -0,0 +1,406 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2019 Nordix Foundation.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <!--<jmxConfigurator /> -->
+ <!-- directory path for all other type logs -->
+ <!-- property name="logDir" value="/home/eby/dr2/logs" / -->
+ <property name="logDir" value="/opt/app/datartr/logs" />
+
+ <!-- directory path for debugging type logs -->
+ <!-- property name="debugDir" value="/home/eby/dr2/debug-logs" /-->
+
+ <!-- specify the component name
+ <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" -->
+ <!-- This creates the MSO directory in in the LogDir which is not needed, mentioned last directory of the path-->
+ <!-- property name="componentName" value="logs"></property -->
+
+ <!-- log file names -->
+ <property name="generalLogName" value="apicalls" />
+ <!-- name="securityLogName" value="security" -->
+ <!-- name="performanceLogName" value="performance" -->
+ <!-- name="serverLogName" value="server" -->
+ <!-- name="policyLogName" value="policy"-->
+ <property name="errorLogName" value="errors" />
+ <!-- name="metricsLogName" value="metrics" -->
+ <property name="debugLogName" value="debug"/>
+ <property name="jettyLogName" value="jetty"/>
+ <property name="defaultPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />
+ <property name="jettyLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />
+
+ <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
+
+ <property name="logDirectory" value="${logDir}" />
+ <!-- property name="debugLogDirectory" value="${debugDir}/${componentName}" /-->
+
+
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+
+
+ <appender name="EELF"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELF" />
+ </appender>
+
+ <!-- EELF Security Appender. This appender is used to record security events
+ to the security log file. Security events are separate from other loggers
+ in EELF so that security log records can be captured and managed in a secure
+ way separate from the other logs. This appender is set to never discard any
+ events. -->
+ <!--appender name="EELFSecurity"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${securityLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="EELFSecurity" />
+ </appender-->
+
+ <!-- EELF Performance Appender. This appender is used to record performance
+ records. -->
+ <!--appender name="EELFPerformance"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${performanceLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <outputPatternAsHeader>true</outputPatternAsHeader>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPerformance" />
+ </appender-->
+
+ <!-- EELF Server Appender. This appender is used to record Server related
+ logging events. The Server logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate Server
+ events from other components, or it can be eliminated to record these events
+ as part of the application root log. -->
+ <!--appender name="EELFServer"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${serverLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFServer" />
+ </appender-->
+
+
+ <!-- EELF Policy Appender. This appender is used to record Policy engine
+ related logging events. The Policy logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+ <!--appender name="EELFPolicy"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${policyLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPolicy" >
+ </appender-->
+
+
+ <!-- EELF Audit Appender. This appender is used to record audit engine
+ related logging events. The audit logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+
+ <!--appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender-->
+
+ <!--appender name="EELFMetrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder-->
+ <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
+ %msg%n"</pattern> -->
+ <!--pattern>${defaultPattern}</pattern>
+ </encoder>
+</appender>
+
+
+<appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+</appender-->
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <appender name="jettylog"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${jettyLogName}.log</file>
+ <filter class="org.onap.dmaap.datarouter.provisioning.eelf.JettyFilter" />
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${jettyLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${jettyLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFjettylog" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="jettylog" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+ <!-- ============================================================================ -->
+
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <filter class="org.onap.dmaap.datarouter.provisioning.eelf.DebugTraceFilter" />
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+
+ <logger name="com.att.eelf.error" level="error" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+
+ <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
+ <appender-ref ref="asyncEELFjettylog"/>
+ </logger>
+
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+
+ <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+
+ <!-- logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger name="com.att.eelf.perf" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+
+ <logger name="com.att.eelf.policy" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPolicy" />
+ </logger>
+
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger-->
+
+ <root level="{{.Values.logLevel}}">
+ <appender-ref ref="asyncEELF" />
+ <appender-ref ref="asyncEELFError" />
+ <appender-ref ref="asyncEELFjettylog" />
+ <appender-ref ref="asyncEELFDebug" />
+ <appender-ref ref="STDOUT" />
+ </root>
+</configuration> \ No newline at end of file
diff --git a/archive/dmaap/components/dmaap-dr-prov/resources/config/provserver.properties b/archive/dmaap/components/dmaap-dr-prov/resources/config/provserver.properties
new file mode 100644
index 0000000000..a56de3cd3b
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/resources/config/provserver.properties
@@ -0,0 +1,44 @@
+{{/*
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==================================================
+# * org.onap.dmaap
+# * ===========================================================================
+# * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# * ===========================================================================
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# * http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# * ============LICENSE_END====================================================
+# *
+# * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+# *
+#-------------------------------------------------------------------------------
+*/}}
+
+
+#Jetty Server properties
+org.onap.dmaap.datarouter.provserver.http.port = {{ .Values.containerPort }}
+org.onap.dmaap.datarouter.provserver.https.relaxation = true
+
+org.onap.dmaap.datarouter.provserver.tlsenabled = false
+org.onap.dmaap.datarouter.nodeserver.http.port = 8080
+
+org.onap.dmaap.datarouter.provserver.accesslog.dir = /opt/app/datartr/logs
+org.onap.dmaap.datarouter.provserver.spooldir = /opt/app/datartr/spool
+org.onap.dmaap.datarouter.provserver.dbscripts = /opt/app/datartr/etc/misc
+org.onap.dmaap.datarouter.provserver.logretention = 30
+
+# Database access
+org.onap.dmaap.datarouter.db.driver = org.mariadb.jdbc.Driver
+org.onap.dmaap.datarouter.db.url = jdbc:mariadb://{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}/{{index .Values "mariadb-galera" "db" "name"}}
+org.onap.dmaap.datarouter.db.login = ${DB_USERNAME}
+org.onap.dmaap.datarouter.db.password = ${DB_PASSWORD}
+
diff --git a/archive/dmaap/components/dmaap-dr-prov/templates/configmap.yaml b/archive/dmaap/components/dmaap-dr-prov/templates/configmap.yaml
new file mode 100644
index 0000000000..1cd524423e
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/templates/configmap.yaml
@@ -0,0 +1,38 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
+---
+{{ include "common.log.configMap" . }}
diff --git a/archive/dmaap/components/dmaap-dr-prov/templates/deployment.yaml b/archive/dmaap/components/dmaap-dr-prov/templates/deployment.yaml
new file mode 100644
index 0000000000..197638e654
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/templates/deployment.yaml
@@ -0,0 +1,77 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ {{ include "common.podSecurityContext" . | indent 6 | trim}}
+ initContainers: {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 12 }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ httpGet:
+ port: {{ .Values.liveness.port }}
+ path: /internal/prov
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ httpGet:
+ port: {{ .Values.liveness.port }}
+ path: /internal/prov
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ env:
+ - name: DB_USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "dmaap-dr-db-user-credentials" "key" "login") | indent 12 }}
+ - name: DB_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "dmaap-dr-db-user-credentials" "key" "password") | indent 12 }}
+ volumeMounts:
+ - mountPath: /opt/app/datartr/etc/provserver.properties
+ name: {{ include "common.fullname" . }}-config
+ subPath: provserver.properties
+ - mountPath: /opt/app/datartr/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}-configmap
+ items:
+ - key: provserver.properties
+ path: provserver.properties
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/dmaap/components/dmaap-dr-prov/templates/ingress.yaml b/archive/dmaap/components/dmaap-dr-prov/templates/ingress.yaml
new file mode 100644
index 0000000000..f288af9b29
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/templates/ingress.yaml
@@ -0,0 +1,21 @@
+{{/*
+ # ============LICENSE_START===================================================
+ # Copyright (C) 2022 Nordix Foundation, Orange.
+ # ============================================================================
+ # Licensed under the Apache License, Version 2.0 (the "License");
+ # you may not use this file except in compliance with the License.
+ # You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+ #
+ # SPDX-License-Identifier: Apache-2.0
+ # ============LICENSE_END=====================================================
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/dmaap/components/dmaap-dr-prov/templates/secret.yaml b/archive/dmaap/components/dmaap-dr-prov/templates/secret.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/templates/secret.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/dmaap/components/dmaap-dr-prov/templates/service.yaml b/archive/dmaap/components/dmaap-dr-prov/templates/service.yaml
new file mode 100644
index 0000000000..306b0f17eb
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/templates/service.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dmaap/components/dmaap-dr-prov/values.yaml b/archive/dmaap/components/dmaap-dr-prov/values.yaml
new file mode 100644
index 0000000000..c13ba57c83
--- /dev/null
+++ b/archive/dmaap/components/dmaap-dr-prov/values.yaml
@@ -0,0 +1,153 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ mariadbGalera: &mariadbGalera
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ #This flag allows DMAAP-DR to instantiate its own mariadb-galera cluster
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - name: &dbUserSecretName '{{ include "common.release" . }}-dmaap-dr-db-user-credentials'
+ uid: 'dmaap-dr-db-user-credentials'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" (index .Values "mariadb-galera" "db" "externalSecret")) .) (hasSuffix "dmaap-dr-db-user-credentials" (index .Values "mariadb-galera" "db" "externalSecret"))}}'
+ login: '{{ index .Values "mariadb-galera" "db" "user" }}'
+ password: '{{ index .Values "mariadb-galera" "db" "password" }}'
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/dmaap/datarouter-prov:2.1.15
+pullPolicy: Always
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+containerPort: &svc_port 8080
+
+service:
+ type: ClusterIP
+ name: dmaap-dr-prov
+ ports:
+ - name: &port http
+ port: *svc_port
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "dmaap-dr-prov-api"
+ name: "dmaap-dr-prov"
+ port: *svc_port
+ config:
+ ssl: "redirect"
+
+readinessCheck:
+ wait_for:
+ jobs:
+ - '{{ include "common.release" . }}-dmaap-dr-mariadb-init-config-job'
+
+# dr uses the EELF Logging framework https://github.com/att/EELF
+# and supports the following log levels: TRACE, DEBUG, INFO, WARN, ERROR, OFF
+logLevel: "DEBUG"
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+ port: *svc_port
+
+readiness:
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ port: *svc_port
+
+# mariadb-galera configuration
+mariadb-galera:
+ nameOverride: &dbServer dmaap-dr-db
+ replicaCount: 1
+ mariadbOperator:
+ galera:
+ enabled: false
+ db:
+ name: &mysqlDbName datarouter
+ user: datarouter
+ # password:
+ externalSecret: *dbUserSecretName
+ service:
+ name: *dbServer
+ nfsprovisionerPrefix: dmaap-dr-db
+ persistence:
+ size: 1Gi
+ mountSubPath: data-router/dr-db-data
+ serviceAccount:
+ nameOverride: *dbServer
+
+mariadb-init:
+ config:
+ userCredentialsExternalSecret: *dbUserSecretName
+ mysqlDatabase: *mysqlDbName
+ nameOverride: dmaap-dr-mariadb-init
+ serviceAccount:
+ nameOverride: dmaap-dr-mariadb-init
+
+# Resource Limit flavor -By Default using small
+flavor: small
+
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Security Context
+securityContext:
+ user_id: 1000
+ group_id: 1000
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dmaap-dr-prov
+ roles:
+ - read
diff --git a/archive/dmaap/components/message-router/.helmignore b/archive/dmaap/components/message-router/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/dmaap/components/message-router/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/dmaap/components/message-router/Chart.yaml b/archive/dmaap/components/message-router/Chart.yaml
new file mode 100644
index 0000000000..adc0599e94
--- /dev/null
+++ b/archive/dmaap/components/message-router/Chart.yaml
@@ -0,0 +1,35 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2022 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Message Router
+name: message-router
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ # local reference to common chart, as it is
+ # a part of this chart's package and will not
+ # be published independently to a repo (at this point)
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/dmaap/components/message-router/Makefile b/archive/dmaap/components/message-router/Makefile
new file mode 100644
index 0000000000..ef273d0e9b
--- /dev/null
+++ b/archive/dmaap/components/message-router/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/dmaap/components/message-router/resources/config/dmaap/MsgRtrApi.properties b/archive/dmaap/components/message-router/resources/config/dmaap/MsgRtrApi.properties
new file mode 100755
index 0000000000..2dea84d289
--- /dev/null
+++ b/archive/dmaap/components/message-router/resources/config/dmaap/MsgRtrApi.properties
@@ -0,0 +1,135 @@
+{{/*
+# LICENSE_START=======================================================
+# org.onap.dmaap
+# ================================================================================
+# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2021-2022 Nordix Foundation
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+###############################################################################
+###############################################################################
+*/}}
+##
+## Kafka Connection
+##
+## Items below are passed through to Kafka's producer and consumer
+## configurations (after removing "kafka.")
+## if you want to change request.required.acks it can take this one value
+#kafka.request.required.acks=-1
+kafka.metadata.broker.list={{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
+config.zk.servers=127.0.0.1:{{ .Values.zkTunnelService.internalPort }}
+consumer.timeout.ms=100
+zookeeper.connection.timeout.ms=6000
+zookeeper.session.timeout.ms=20000
+zookeeper.sync.time.ms=2000
+auto.commit.interval.ms=1000
+fetch.message.max.bytes =1000000
+auto.commit.enable=false
+
+#(backoff*retries > zksessiontimeout)
+kafka.rebalance.backoff.ms=10000
+kafka.rebalance.max.retries=6
+
+
+###############################################################################
+##
+## Secured Config
+##
+## Some data stored in the config system is sensitive -- API keys and secrets,
+## for example. to protect it, we use an encryption layer for this section
+## of the config.
+##
+## The key is a base64 encode AES key. This must be created/configured for
+## each installation.
+#cambria.secureConfig.key=
+##
+## The initialization vector is a 16 byte value specific to the secured store.
+## This must be created/configured for each installation.
+#cambria.secureConfig.iv=
+
+## Southfield Sandbox
+cambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q==
+cambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw==
+authentication.adminSecret=fe3cCompound
+#cambria.secureConfig.key[pc569h]=YT3XPyxEmKCTLI2NK+Sjbw==
+#cambria.secureConfig.iv[pc569h]=rMm2jhR3yVnU+u2V9Ugu3Q==
+
+
+###############################################################################
+##
+## Consumer Caching
+##
+## Kafka expects live connections from the consumer to the broker, which
+## obviously doesn't work over connectionless HTTP requests. The Cambria
+## server proxies HTTP requests into Kafka consumer sessions that are kept
+## around for later re-use. Not doing so is costly for setup per request,
+## which would substantially impact a high volume consumer's performance.
+##
+## This complicates Cambria server failover, because we often need server
+## A to close its connection before server B brings up the replacement.
+##
+
+## The consumer cache is normally enabled.
+#cambria.consumer.cache.enabled=true
+
+## Cached consumers are cleaned up after a period of disuse. The server inspects
+## consumers every sweepFreqSeconds and will clean up any connections that are
+## dormant for touchFreqMs.
+#cambria.consumer.cache.sweepFreqSeconds=15
+cambria.consumer.cache.touchFreqMs=120000
+##stickforallconsumerrequests=false
+## The cache is managed through ZK. The default value for the ZK connection
+## string is the same as config.zk.servers.
+#cambria.consumer.cache.zkConnect=${config.zk.servers}
+
+##
+## Shared cache information is associated with this node's name. The default
+## name is the hostname plus the HTTP service port this host runs on. (The
+## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(),
+## which is not always adequate.) You can set this value explicitly here.
+##
+#cambria.api.node.identifier=<use-something-unique-to-this-instance>
+
+#cambria.rateLimit.maxEmptyPollsPerMinute=30
+#cambria.rateLimitActual.delay.ms=10
+
+###############################################################################
+##
+## Metrics Reporting
+##
+## This server can report its metrics periodically on a topic.
+##
+#metrics.send.cambria.enabled=true
+#metrics.send.cambria.topic=cambria.apinode.metrics #msgrtr.apinode.metrics.dmaap
+#metrics.send.cambria.sendEverySeconds=60
+
+cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache
+consumer.timeout=17
+default.partitions=3
+default.replicas=3
+##############################################################################
+#100mb
+maxcontentlength=10000
+
+##############################################################################
+##AAF Properties
+forceAAF=false
+useCustomAcls=false
+
+kafka.max.poll.interval.ms=300000
+kafka.heartbeat.interval.ms=60000
+kafka.session.timeout.ms=240000
+kafka.max.poll.records=1000
diff --git a/archive/dmaap/components/message-router/resources/config/dmaap/logback.xml b/archive/dmaap/components/message-router/resources/config/dmaap/logback.xml
new file mode 100644
index 0000000000..949a893197
--- /dev/null
+++ b/archive/dmaap/components/message-router/resources/config/dmaap/logback.xml
@@ -0,0 +1,204 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+ Modifications Copyright © 2021-2022 Nordix Foundation
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <contextName>${module.ajsc.namespace.name}</contextName>
+ <jmxConfigurator />
+ <property name="logDirectory" value="${AJSC_HOME}/log" />
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+ </pattern>
+ </encoder>
+ </appender>
+
+ <appender name="INFO" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ </appender>
+
+ <appender name="DEBUG" class="ch.qos.logback.core.ConsoleAppender">
+
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="ERROR" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Msgrtr related loggers -->
+ <logger name="org.onap.dmaap.dmf.mr.service" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.service.impl" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.resources" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.resources.streamReaders" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.backends" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.backends.kafka" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.backends.memory" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.beans" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.constants" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.exception" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.listener" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.metabroker" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.metrics.publisher" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.metrics.publisher.impl" level="TRACE" />
+
+
+
+ <logger name="org.onap.dmaap.dmf.mr.security" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.security.impl" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.transaction" level="TRACE" />
+ <logger name="com.att.dmf.mr.transaction.impl" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.metabroker" level="TRACE" />
+ <logger name="org.onap.dmaap.dmf.mr.metabroker" level="TRACE" />
+
+ <logger name="org.onap.dmaap.dmf.mr.utils" level="TRACE" />
+ <logger name="org.onap.dmaap.mr.filter" level="TRACE" />
+
+ <!--<logger name="com.att.nsa.cambria.*" level="TRACE" />-->
+
+ <!-- Msgrtr loggers in ajsc -->
+ <logger name="org.onap.dmaap.service" level="TRACE" />
+ <logger name="org.onap.dmaap" level="TRACE" />
+
+
+ <!-- Spring related loggers -->
+ <logger name="org.springframework" level="TRACE" additivity="false"/>
+ <logger name="org.springframework.beans" level="TRACE" additivity="false"/>
+ <logger name="org.springframework.web" level="TRACE" additivity="false" />
+ <logger name="com.blog.spring.jms" level="TRACE" additivity="false" />
+
+ <!-- AJSC Services (bootstrap services) -->
+ <logger name="ajsc" level="TRACE" additivity="false"/>
+ <logger name="ajsc.RouteMgmtService" level="TRACE" additivity="false"/>
+ <logger name="ajsc.ComputeService" level="TRACE" additivity="false" />
+ <logger name="ajsc.VandelayService" level="TRACE" additivity="false"/>
+ <logger name="ajsc.FilePersistenceService" level="TRACE" additivity="false"/>
+ <logger name="ajsc.UserDefinedJarService" level="TRACE" additivity="false" />
+ <logger name="ajsc.UserDefinedBeansDefService" level="TRACE" additivity="false" />
+ <logger name="ajsc.LoggingConfigurationService" level="TRACE" additivity="false" />
+
+ <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+ logging) -->
+ <logger name="ajsc.utils" level="TRACE" additivity="false"/>
+ <logger name="ajsc.utils.DME2Helper" level="TRACE" additivity="false" />
+ <logger name="ajsc.filters" level="TRACE" additivity="false" />
+ <logger name="ajsc.beans.interceptors" level="TRACE" additivity="false" />
+ <logger name="ajsc.restlet" level="TRACE" additivity="false" />
+ <logger name="ajsc.servlet" level="TRACE" additivity="false" />
+ <logger name="com.att" level="TRACE" additivity="false" />
+ <logger name="com.att.ajsc.csi.logging" level="TRACE" additivity="false" />
+ <logger name="com.att.ajsc.filemonitor" level="TRACE" additivity="false"/>
+
+ <logger name="com.att.nsa.dmaap.util" level="TRACE" additivity="false"/>
+ <logger name="com.att.cadi.filter" level="TRACE" additivity="false" />
+
+
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger name="net.sf" level="TRACE" additivity="false" />
+ <logger name="org.apache.commons.httpclient" level="TRACE" additivity="false"/>
+ <logger name="org.apache.commons" level="TRACE" additivity="false" />
+ <logger name="org.apache.coyote" level="TRACE" additivity="false"/>
+ <logger name="org.apache.jasper" level="TRACE" additivity="false"/>
+
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+ May aid in troubleshooting) -->
+ <logger name="org.apache.camel" level="TRACE" additivity="false" />
+ <logger name="org.apache.cxf" level="TRACE" additivity="false" />
+ <logger name="org.apache.camel.processor.interceptor" level="TRACE" additivity="false"/>
+ <logger name="org.apache.cxf.jaxrs.interceptor" level="TRACE" additivity="false" />
+ <logger name="org.apache.cxf.service" level="TRACE" additivity="false" />
+ <logger name="org.restlet" level="TRACE" additivity="false" />
+ <logger name="org.apache.camel.component.restlet" level="TRACE" additivity="false" />
+ <logger name="org.apache.kafka" level="TRACE" additivity="false" />
+ <logger name="org.apache.zookeeper" level="TRACE" additivity="false" />
+ <logger name="org.I0Itec.zkclient" level="TRACE" additivity="false" />
+
+ <!-- logback internals logging -->
+ <logger name="ch.qos.logback.classic" level="TRACE" additivity="false"/>
+ <logger name="ch.qos.logback.core" level="TRACE" additivity="false" />
+
+ <!-- logback jms appenders & loggers definition starts here -->
+ <!-- logback jms appenders & loggers definition starts here -->
+ <appender name="auditLogs" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ </filter>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <appender name="perfLogs" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ </filter>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <appender name="ASYNC-audit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Audit-Record-Queue" />
+ </appender>
+
+ <logger name="AuditRecord" level="TRACE" additivity="FALSE">
+ <appender-ref ref="STDOUT" />
+ </logger>
+ <logger name="AuditRecord_DirectCall" level="TRACE" additivity="FALSE">
+ <appender-ref ref="STDOUT" />
+ </logger>
+ <appender name="ASYNC-perf" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Performance-Tracker-Queue" />
+ </appender>
+ <logger name="PerfTrackerRecord" level="TRACE" additivity="FALSE">
+ <appender-ref ref="ASYNC-perf" />
+ <appender-ref ref="perfLogs" />
+ </logger>
+ <!-- logback jms appenders & loggers definition ends here -->
+
+ <root level="TRACE">
+ <appender-ref ref="DEBUG" />
+ <appender-ref ref="ERROR" />
+ <appender-ref ref="INFO" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
diff --git a/archive/dmaap/components/message-router/templates/configmap.yaml b/archive/dmaap/components/message-router/templates/configmap.yaml
new file mode 100644
index 0000000000..3f786ad950
--- /dev/null
+++ b/archive/dmaap/components/message-router/templates/configmap.yaml
@@ -0,0 +1,43 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2021-2022 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/MsgRtrApi.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logback-xml-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/logback.xml").AsConfig . | indent 2 }}
+
diff --git a/archive/dmaap/components/message-router/templates/ingress.yaml b/archive/dmaap/components/message-router/templates/ingress.yaml
new file mode 100644
index 0000000000..a90bf83c07
--- /dev/null
+++ b/archive/dmaap/components/message-router/templates/ingress.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/dmaap/components/message-router/templates/service.yaml b/archive/dmaap/components/message-router/templates/service.yaml
new file mode 100644
index 0000000000..8d13879023
--- /dev/null
+++ b/archive/dmaap/components/message-router/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/dmaap/components/message-router/templates/statefulset.yaml b/archive/dmaap/components/message-router/templates/statefulset.yaml
new file mode 100644
index 0000000000..ede6cb025e
--- /dev/null
+++ b/archive/dmaap/components/message-router/templates/statefulset.yaml
@@ -0,0 +1,156 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2021-2022 Nordix Foundation
+# Modifications Copyright © 2023 DTAG
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: StatefulSet
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ serviceName: {{ include "common.servicename" . }}
+ replicas: 1
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.liveness.port }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ successThreshold: {{ .Values.liveness.successThreshold }}
+ failureThreshold: {{ .Values.liveness.failureThreshold }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.readiness.port }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
+ successThreshold: {{ .Values.readiness.successThreshold }}
+ failureThreshold: {{ .Values.readiness.failureThreshold }}
+ startupProbe:
+ tcpSocket:
+ port: {{ .Values.startup.port }}
+ initialDelaySeconds: {{ .Values.startup.initialDelaySeconds }}
+ periodSeconds: {{ .Values.startup.periodSeconds }}
+ timeoutSeconds: {{ .Values.startup.timeoutSeconds }}
+ successThreshold: {{ .Values.startup.successThreshold }}
+ failureThreshold: {{ .Values.startup.failureThreshold }}
+ env:
+ - name: JAASLOGIN
+ valueFrom:
+ secretKeyRef:
+ name: strimzi-kafka-admin
+ key: sasl.jaas.config
+ - name: SASLMECH
+ value: scram-sha-512
+ - name: enableCadi
+ value: "true"
+ - name: useZkTopicStore
+ value: "false"
+ volumeMounts:
+ - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+ subPath: MsgRtrApi.properties
+ name: appprops
+ - mountPath: /appl/dmaapMR1/bundleconfig/etc/logback.xml
+ subPath: logback.xml
+ name: logback
+ resources: {{ include "common.resources" . | nindent 12 }}
+ - name: {{ .Values.zkTunnelService.name }}
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.zkTunnelService.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /opt/stunnel/stunnel_run.sh
+ ports:
+ - containerPort: {{ .Values.zkTunnelService.internalPort }}
+ name: {{ .Values.zkTunnelService.portName }}
+ protocol: {{ .Values.zkTunnelService.protocol }}
+ env:
+ - name: LOG_LEVEL
+ value: {{ .Values.zkTunnelService.logLevel }}
+ - name: STRIMZI_ZOOKEEPER_CONNECT
+ value: '{{ include "common.release" . }}-strimzi-zookeeper-client:{{ .Values.zkTunnelService.internalPort }}'
+ livenessProbe:
+ exec:
+ command:
+ - /opt/stunnel/stunnel_healthcheck.sh
+ - '{{ .Values.zkTunnelService.internalPort }}'
+ failureThreshold: 3
+ initialDelaySeconds: 15
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ readinessProbe:
+ exec:
+ command:
+ - /opt/stunnel/stunnel_healthcheck.sh
+ - '{{ .Values.zkTunnelService.internalPort }}'
+ failureThreshold: 3
+ initialDelaySeconds: 15
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 5
+ volumeMounts:
+ - mountPath: /etc/cluster-operator-certs/
+ name: cluster-operator-certs
+ - mountPath: /etc/cluster-ca-certs/
+ name: cluster-ca-certs
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: appprops
+ configMap:
+ name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
+ - name: logback
+ configMap:
+ name: {{ include "common.fullname" . }}-logback-xml-configmap
+ - name: cluster-operator-certs
+ secret:
+ defaultMode: 288
+ secretName: {{ include "common.release" . }}-strimzi-cluster-operator-certs
+ - name: cluster-ca-certs
+ secret:
+ defaultMode: 288
+ secretName: {{ include "common.release" . }}-strimzi-cluster-ca-cert
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+---
+apiVersion: networking.k8s.io/v1
+kind: NetworkPolicy
+metadata:
+ name: {{ include "common.fullname" . }}-zk-network-policy
+ namespace: {{ include "common.namespace" . }}
+spec:
+ podSelector:
+ matchLabels:
+ strimzi.io/name: {{ include "common.release" . }}-strimzi-zookeeper
+ ingress:
+ - from:
+ - podSelector:
+ matchLabels:
+ app.kubernetes.io/name: {{ include "common.name" . }}
+ ports:
+ - port: {{ .Values.zkTunnelService.internalPort }}
+ protocol: {{ .Values.zkTunnelService.protocol }}
+ policyTypes:
+ - Ingress
diff --git a/archive/dmaap/components/message-router/values.yaml b/archive/dmaap/components/message-router/values.yaml
new file mode 100644
index 0000000000..ab6a31ee2e
--- /dev/null
+++ b/archive/dmaap/components/message-router/values.yaml
@@ -0,0 +1,117 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2021-2022 Nordix Foundation
+# Modifications Copyright © 2023 DTAG
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/dmaap/dmaap-mr:1.4.4
+pullPolicy: Always
+
+#Strimzi zookeeper_tunnel config
+zkTunnelService:
+ type: ClusterIP
+ name: zk-tunnel-svc
+ portName: tcp-zk-tunnel
+ protocol: TCP
+ internalPort: 2181
+ logLevel: debug
+ image: scholzj/zoo-entrance:latest
+
+nodeSelector: {}
+
+affinity: {}
+
+containerPort: &svc_port 3904
+
+service:
+ type: ClusterIP
+ name: message-router
+ ports:
+ - name: api
+ port: *svc_port
+ port_protocol: http
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "dmaap-mr-api"
+ name: "message-router"
+ port: *svc_port
+ config:
+ ssl: "redirect"
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 15
+ successThreshold: 1
+ failureThreshold: 3
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ port: *svc_port
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ timeoutSeconds: 1
+ successThreshold: 1
+ failureThreshold: 3
+ port: *svc_port
+
+# periodSeconds is set longer to avoid DMaaP 429 error
+startup:
+ initialDelaySeconds: 90
+ periodSeconds: 30
+ timeoutSeconds: 15
+ successThreshold: 1
+ failureThreshold: 70
+ port: *svc_port
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "4Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "8Gi"
+ requests:
+ cpu: "2"
+ memory: "4Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: message-router
+ roles:
+ - read
diff --git a/archive/dmaap/values.yaml b/archive/dmaap/values.yaml
new file mode 100644
index 0000000000..6faab9cdbc
--- /dev/null
+++ b/archive/dmaap/values.yaml
@@ -0,0 +1,34 @@
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs,Bell Canada
+# Modifications Copyright © 2021-2022 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ persistence: {}
+#Component overrides
+message-router:
+ enabled: true
+dmaap-dr-node:
+ enabled: true
+dmaap-dr-prov:
+ enabled: true
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: dmaap
+ roles:
+ - read
diff --git a/archive/holmes/.helmignore b/archive/holmes/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/holmes/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/holmes/Chart.yaml b/archive/holmes/Chart.yaml
new file mode 100644
index 0000000000..7a8a23a42f
--- /dev/null
+++ b/archive/holmes/Chart.yaml
@@ -0,0 +1,43 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP DCAE HOLMES
+name: holmes
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.postgres.localCluster
+ - name: postgres-init
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.postgres.globalCluster
+ - name: holmes-rule-mgmt
+ version: ~13.x-0
+ repository: 'file://components/holmes-rule-mgmt'
+ - name: holmes-engine-mgmt
+ version: ~13.x-0
+ repository: 'file://components/holmes-engine-mgmt'
diff --git a/archive/holmes/Makefile b/archive/holmes/Makefile
new file mode 100644
index 0000000000..08ed7cb9da
--- /dev/null
+++ b/archive/holmes/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/holmes/components/Makefile b/archive/holmes/components/Makefile
new file mode 100644
index 0000000000..9544d70f33
--- /dev/null
+++ b/archive/holmes/components/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/holmes/components/holmes-engine-mgmt/.helmignore b/archive/holmes/components/holmes-engine-mgmt/.helmignore
new file mode 100644
index 0000000000..50af031725
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/archive/holmes/components/holmes-engine-mgmt/Chart.yaml b/archive/holmes/components/holmes-engine-mgmt/Chart.yaml
new file mode 100644
index 0000000000..df7f2c0c72
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/Chart.yaml
@@ -0,0 +1,35 @@
+# Modifications Copyright © 2021 ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+appVersion: "2.0"
+description: Holmes Engine Management
+name: holmes-engine-mgmt
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local' \ No newline at end of file
diff --git a/archive/holmes/components/holmes-engine-mgmt/resources/config/application.yaml b/archive/holmes/components/holmes-engine-mgmt/resources/config/application.yaml
new file mode 100644
index 0000000000..34c4024059
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/resources/config/application.yaml
@@ -0,0 +1,18 @@
+server:
+ port: 9102
+ servlet:
+ context-path: /api/holmes-engine-mgmt/v1
+
+logging:
+ config: classpath:logback-spring.xml
+
+spring:
+ application:
+ name: Holmes Engine Management
+ datasource:
+ dirver-class-name: org.postgresql.Driver
+ url: jdbc:postgresql://${URL_JDBC}:${DB_PORT}/${DB_NAME}
+ username: ${JDBC_USERNAME}
+ password: ${JDBC_PASSWORD}
+ mvc:
+ throw-exception-if-no-handler-found: true \ No newline at end of file
diff --git a/archive/holmes/components/holmes-engine-mgmt/resources/config/cfy.json b/archive/holmes/components/holmes-engine-mgmt/resources/config/cfy.json
new file mode 100644
index 0000000000..dfa58b098f
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/resources/config/cfy.json
@@ -0,0 +1,19 @@
+{
+ "services_calls": {},
+ "streams_publishes": {
+ "dcae_cl_out": {
+ "dmaap_info": {
+ "topic_url": "http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT"
+ },
+ "type": "message_router"
+ }
+ },
+ "streams_subscribes": {
+ "ves_fault": {
+ "dmaap_info": {
+ "topic_url": "http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT"
+ },
+ "type": "message_router"
+ }
+ }
+}
diff --git a/archive/holmes/components/holmes-engine-mgmt/resources/config/engine-d.yml b/archive/holmes/components/holmes-engine-mgmt/resources/config/engine-d.yml
new file mode 100644
index 0000000000..9a16390856
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/resources/config/engine-d.yml
@@ -0,0 +1,72 @@
+#
+# Copyright 2017 ZTE Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+server:
+ type: simple
+ rootPath: '/api/holmes-engine-mgmt/v1/*'
+ applicationContextPath: /
+ adminContextPath: /admin
+ connector:
+ type: http
+ port: 9102
+ validateCerts: false
+ validatePeers: false
+
+
+# Logging settings.
+logging:
+
+ # The default level of all loggers. Can be OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL.
+ level: INFO
+
+ # Logger-specific levels.
+ loggers:
+
+ # Sets the level for 'com.example.app' to DEBUG.
+ org.onap.holmes.engine: ALL
+
+ appenders:
+ - type: console
+ threshold: INFO
+ timeZone: UTC
+ logFormat: "%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%c][%t] invocationID:{InvocationID} - %m%n"
+ - type: file
+ threshold: ERROR
+ logFormat: "%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%c][%t] invocationID:{InvocationID} - %m%n"
+ currentLogFilename: /var/log/ONAP/holmes/engine-d-error.log
+ archivedLogFilenamePattern: /var/log/ONAP/holmes/zip/engine-d-error-%d{yyyy-MM-dd}.log.gz
+ archivedFileCount: 7
+ - type: file
+ threshold: INFO
+ logFormat: "%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%c][%t] invocationID:{InvocationID} - %m%n"
+ currentLogFilename: /var/log/ONAP/holmes/engine-d-debug.log
+ archivedLogFilenamePattern: /var/log/ONAP/holmes/zip/engine-d-debug-%d{yyyy-MM-dd}.log.gz
+ archivedFileCount: 7
+
+
+database:
+ driverClass: org.postgresql.Driver
+ user: ${JDBC_USERNAME}
+ password: ${JDBC_PASSWORD}
+ url: jdbc:postgresql://${URL_JDBC}:${DB_PORT}/${DB_NAME}
+ properties:
+ charSet: UTF-8
+ maxWaitForConnection: 1s
+ validationQuery: "/* MyService Health Check */ SELECT 1"
+ minSize: 8
+ maxSize: 100
+ checkConnectionWhileIdle: false
+ evictionInterval: 10s
+ minIdleTime: 1s
diff --git a/archive/holmes/components/holmes-engine-mgmt/resources/config/onap-holmes_engine-createobj.sql b/archive/holmes/components/holmes-engine-mgmt/resources/config/onap-holmes_engine-createobj.sql
new file mode 100644
index 0000000000..e5eecb1a5a
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/resources/config/onap-holmes_engine-createobj.sql
@@ -0,0 +1,50 @@
+--
+-- Copyright 2017 ZTE Corporation.
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+\c postgres
+
+/******************CREATE NEW DATABASE AND USER***************************/
+CREATE DATABASE ${DB_NAME};
+
+CREATE ROLE ${JDBC_USERNAME} with PASSWORD '${JDBC_PASSWORD}' LOGIN;
+
+\encoding UTF8;
+
+/******************CREATE NEW TABLE***************************/
+\c ${DB_NAME};
+
+CREATE TABLE IF NOT EXISTS ALARM_INFO (
+ EVENTID VARCHAR(150) NOT NULL,
+ EVENTNAME VARCHAR(150) NOT NULL,
+ ALARMISCLEARED SMALLINT NOT NULL,
+ ROOTFLAG SMALLINT NOT NULL,
+ STARTEPOCHMICROSEC BIGINT NOT NULL,
+ LASTEPOCHMICROSEC BIGINT NOT NULL,
+ SOURCEID VARCHAR(150) NOT NULL,
+ SOURCENAME VARCHAR(150) NOT NULL,
+ SEQUENCE SMALLINT NOT NULL,
+ PRIMARY KEY (EVENTID, SEQUENCE, SOURCENAME)
+);
+
+CREATE TABLE IF NOT EXISTS ENGINE_ENTITY (
+ ID VARCHAR(150) NOT NULL,
+ IP VARCHAR(128) NOT NULL,
+ PORT SMALLINT NOT NULL,
+ LASTMODIFIED BIGINT NOT NULL,
+ PRIMARY KEY (ID)
+);
+
+GRANT ALL PRIVILEGES ON ALARM_INFO TO ${JDBC_USERNAME};
+GRANT ALL PRIVILEGES ON ENGINE_ENTITY TO ${JDBC_USERNAME};
diff --git a/archive/holmes/components/holmes-engine-mgmt/templates/configmap.yaml b/archive/holmes/components/holmes-engine-mgmt/templates/configmap.yaml
new file mode 100644
index 0000000000..76b339faea
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/templates/configmap.yaml
@@ -0,0 +1,21 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+data: {{ tpl (.Files.Glob "resources/config/*").AsConfig . | nindent 2 }}
diff --git a/archive/holmes/components/holmes-engine-mgmt/templates/deployment.yaml b/archive/holmes/components/holmes-engine-mgmt/templates/deployment.yaml
new file mode 100644
index 0000000000..641f032ce4
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/templates/deployment.yaml
@@ -0,0 +1,145 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 ZTE Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+{{- $sum := "" }}
+{{- range $path, $bytes := .Files.Glob "resources/config/*.json"}}
+{{- $sum = $.Files.Get $path | sha256sum | print $sum }}
+{{- end }}
+ annotations:
+ checksum/config: {{ $sum | sha256sum }}
+
+spec:
+ replicas: 1
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{- if .Values.global.postgres.localCluster }}
+ {{ include "common.readinessCheck.waitFor" (dict "dot" . "wait_for" .Values.readinessCheck.wait_for_local ) | indent 6 | trim }}
+ {{ else }}
+ {{ include "common.readinessCheck.waitFor" (dict "dot" . "wait_for" .Values.readinessCheck.wait_for_global ) | indent 6 | trim }}
+ {{- end }}
+ - name: {{ include "common.name" . }}-env-config
+ image: {{ include "repositoryGenerator.image.envsubst" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - sh
+ args:
+ - -c
+ - "cd /hemconfig && for PFILE in `find . -type f -not -name '*.json'`; do envsubst < ${PFILE} > /config/${PFILE##*/}; done"
+ env:
+ - name: JDBC_USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
+ - name: JDBC_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ - name: DB_NAME
+ value: {{ .Values.config.pgConfig.dbName }}
+ - name: URL_JDBC
+ value: {{ .Values.config.pgConfig.dbHost }}
+ - name: DB_PORT
+ value: "{{ .Values.config.pgConfig.dbPort }}"
+ - name: AAI_ADDR
+ value: aai
+ - name: AAI_PORT
+ value: "{{ .Values.config.aai.aaiPort }}"
+ - name: AAI_USERNAME
+ value: {{ .Values.config.aai.username }}
+ - name: AAI_PASSWORD
+ value: {{ .Values.config.aai.password }}
+ - name: NAMESPACE
+ value: {{ include "common.namespace" . }}
+ volumeMounts:
+ - mountPath: /hemconfig
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /config
+ name: {{ include "common.fullname" . }}-env-config
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {{ include "common.resources" . | nindent 10 }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-env-config
+ mountPath: /opt/hemconfig
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: /opt/hemtopics
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ httpGet:
+ path: {{ .Values.liveness.path }}
+ port: {{ .Values.liveness.port }}
+ scheme: {{ .Values.liveness.scheme }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{- end }}
+ readinessProbe:
+ httpGet:
+ path: {{ .Values.readiness.path }}
+ port: {{ .Values.readiness.port }}
+ scheme: {{ .Values.readiness.scheme }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ failureThreshold: 1
+ successThreshold: 1
+ timeoutSeconds: 1
+ env:
+ - name: CONSUL_HOST
+ value: consul-server.{{ include "common.namespace" . }}
+ - name: CONFIG_BINDING_SERVICE
+ value: config-binding-service
+ - name: MSB_IAG_SERVICE_PROTOCOL
+ value: {{ .Values.global.msbProtocol }}
+ - name: MSB_IAG_SERVICE_HOST
+ value: {{ .Values.global.msbServiceName }}.{{ include "common.namespace" . }}
+ - name: MSB_IAG_SERVICE_PORT
+ value: {{ .Values.global.msbPort | quote }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ - name: PGPASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ - name: JDBC_USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
+ - name: JDBC_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ - name: DB_NAME
+ value: {{ .Values.config.pgConfig.dbName }}
+ - name: URL_JDBC
+ value: {{ .Values.config.pgConfig.dbHost }}
+ - name: DB_PORT
+ value: "{{ .Values.config.pgConfig.dbPort }}"
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ defaultMode: 422
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-env-config
+ emptyDir:
+ medium: Memory
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/holmes/components/holmes-engine-mgmt/templates/secret.yaml b/archive/holmes/components/holmes-engine-mgmt/templates/secret.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/templates/secret.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/holmes/components/holmes-engine-mgmt/templates/service.yaml b/archive/holmes/components/holmes-engine-mgmt/templates/service.yaml
new file mode 100644
index 0000000000..70abf763e0
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/holmes/components/holmes-engine-mgmt/values.yaml b/archive/holmes/components/holmes-engine-mgmt/values.yaml
new file mode 100644
index 0000000000..bd06bcd1ee
--- /dev/null
+++ b/archive/holmes/components/holmes-engine-mgmt/values.yaml
@@ -0,0 +1,137 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 ZTE Corporation Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefixExt: 302
+ msbProtocol: http
+ msbServiceName: msb-iag
+ msbPort: 80
+ postgres:
+ localCluster: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/holmes/engine-management:12.0.1
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+- uid: pg-user-creds
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.pgConfig.dbUserCredsExternalSecret) . }}'
+ login: '{{ .Values.config.pgConfig.dbUser }}'
+ password: '{{ .Values.config.pgConfig.dbUserPassword }}'
+
+# application configuration
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+ # Addresses of other ONAP entities
+ address:
+ consul:
+ host: consul-server
+ port: 8500
+ pgConfig:
+ dbName: defaultName
+ dbHost: defaultHost
+ dbPort: 1234
+ dbUser: admin
+ dbUserPassword: admin
+ # dbUserCredsExternalSecret
+ msb:
+ serviceName: msb-iag
+ port: 80
+ aai:
+ aaiPort: 80
+ username: AAI
+ password: AAI
+
+service:
+ type: ClusterIP
+ name: holmes-engine-mgmt
+ ports:
+ - name: http-rest
+ port: &svc_port 9102
+ annotations:
+ msb.onap.org/service-info: |
+ {{ if .Values.global.msbEnabled -}}[
+ {
+ "serviceName": "holmes-engine-mgmt",
+ "version": "v1",
+ "url": "/api/holmes-engine-mgmt/v1",
+ "path":"/api/holmes-engine-mgmt/v1",
+ "protocol": "REST",
+ "visualRange":"0|1",
+ "port": "9102",
+ "enable_ssl": false
+ }
+ ]{{ end }}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ path: /api/holmes-engine-mgmt/v1/healthcheck
+ scheme: HTTP
+ port: *svc_port
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 30
+ periodSeconds: 30
+ path: /api/holmes-engine-mgmt/v1/healthcheck
+ scheme: HTTP
+ port: *svc_port
+
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+readinessCheck:
+ wait_for_global:
+ jobs:
+ - '{{ include "common.release" . }}-holmes-postgres-init-config-job'
+ wait_for_local:
+ services:
+ - '{{ .Values.global.postgres.service.name2 }}'
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: holmes-engine-mgmt
+ roles:
+ - read
diff --git a/archive/holmes/components/holmes-rule-mgmt/.helmignore b/archive/holmes/components/holmes-rule-mgmt/.helmignore
new file mode 100644
index 0000000000..50af031725
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/archive/holmes/components/holmes-rule-mgmt/Chart.yaml b/archive/holmes/components/holmes-rule-mgmt/Chart.yaml
new file mode 100644
index 0000000000..4263913b25
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/Chart.yaml
@@ -0,0 +1,35 @@
+# Modifications Copyright © 2021 ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+appVersion: "2.0"
+description: Holmes Rule Management
+name: holmes-rule-mgmt
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/holmes/components/holmes-rule-mgmt/resources/config/application.yaml b/archive/holmes/components/holmes-rule-mgmt/resources/config/application.yaml
new file mode 100644
index 0000000000..2ff0fa6d52
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/resources/config/application.yaml
@@ -0,0 +1,18 @@
+server:
+ port: 9101
+ servlet:
+ context-path: /api/holmes-rule-mgmt/v1
+
+logging:
+ config: classpath:logback-spring.xml
+
+spring:
+ application:
+ name: Holmes Rule Management
+ datasource:
+ dirver-class-name: org.postgresql.Driver
+ url: jdbc:postgresql://${URL_JDBC}:${DB_PORT}/${DB_NAME}
+ username: ${JDBC_USERNAME}
+ password: ${JDBC_PASSWORD}
+ mvc:
+ throw-exception-if-no-handler-found: true \ No newline at end of file
diff --git a/archive/holmes/components/holmes-rule-mgmt/resources/config/onap-holmes_rulemgt-createobj.sql b/archive/holmes/components/holmes-rule-mgmt/resources/config/onap-holmes_rulemgt-createobj.sql
new file mode 100644
index 0000000000..0464a5f8fd
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/resources/config/onap-holmes_rulemgt-createobj.sql
@@ -0,0 +1,57 @@
+--
+-- Copyright 2017 ZTE Corporation.
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+\c postgres
+
+/******************CREATE NEW DATABASE AND USER***************************/
+CREATE DATABASE ${DB_NAME};
+
+CREATE ROLE ${JDBC_USERNAME} with PASSWORD '${JDBC_PASSWORD}' LOGIN;
+
+\encoding UTF8;
+
+/******************DELETE OLD TABLE AND CREATE NEW***************************/
+\c ${DB_NAME};
+
+CREATE TABLE IF NOT EXISTS APLUS_RULE (
+ RID VARCHAR(30) NOT NULL,
+ NAME VARCHAR(150) NOT NULL,
+ CTRLLOOP VARCHAR(150) NOT NULL,
+ DESCRIPTION VARCHAR(4000) NULL,
+ ENABLE SMALLINT NOT NULL,
+ TEMPLATEID BIGINT NOT NULL,
+ ENGINEID VARCHAR(20) NOT NULL,
+ ENGINETYPE VARCHAR(20) NOT NULL,
+ CREATOR VARCHAR(20) NOT NULL,
+ CREATETIME TIMESTAMP NOT NULL,
+ UPDATOR VARCHAR(20) NULL,
+ UPDATETIME TIMESTAMP NULL,
+ PARAMS VARCHAR(4000) NULL,
+ CONTENT VARCHAR(20000) NOT NULL,
+ VENDOR VARCHAR(100) NOT NULL,
+ ENGINEINSTANCE VARCHAR(100) NOT NULL,
+ PACKAGE VARCHAR(255) NULL,
+ PRIMARY KEY (RID),
+ UNIQUE (NAME)
+);
+
+CREATE INDEX IDX_APLUS_RULE_NAME ON APLUS_RULE (NAME);
+CREATE INDEX IDX_APLUS_RULE_CTRLLOOP ON APLUS_RULE (CTRLLOOP);
+CREATE INDEX IDX_APLUS_RULE_ENABLE ON APLUS_RULE (ENABLE);
+CREATE INDEX IDX_APLUS_RULE_TEMPLATEID ON APLUS_RULE (TEMPLATEID);
+CREATE INDEX IDX_APLUS_RULE_ENGINEID ON APLUS_RULE (ENGINEID);
+CREATE INDEX IDX_APLUS_RULE_ENGINETYPE ON APLUS_RULE (ENGINETYPE);
+
+GRANT ALL PRIVILEGES ON APLUS_RULE TO ${JDBC_USERNAME};
diff --git a/archive/holmes/components/holmes-rule-mgmt/resources/config/rulemgt.yml b/archive/holmes/components/holmes-rule-mgmt/resources/config/rulemgt.yml
new file mode 100644
index 0000000000..3b7218855a
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/resources/config/rulemgt.yml
@@ -0,0 +1,66 @@
+apidescription: ZTE Holmes rule Management rest API
+
+# use the simple server factory if you only want to run on a single port
+#server:
+# type: simple
+# connector:
+# type: http
+# port: 12003
+
+server:
+ type: simple
+ rootPath: '/api/holmes-rule-mgmt/v1/*'
+ applicationContextPath: /
+ adminContextPath: /admin
+ connector:
+ type: http
+ port: 9101
+ validateCerts: false
+ validatePeers: false
+
+# Logging settings.
+logging:
+
+ # The default level of all loggers. Can be OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL.
+ level: INFO
+
+ # Logger-specific levels.
+ loggers:
+
+ # Sets the level for 'com.example.app' to DEBUG.
+ org.onap.holmes.rulemgt: ALL
+
+ appenders:
+ - type: console
+ threshold: INFO
+ timeZone: UTC
+ logFormat: "%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%c][%t] invocationID:{InvocationID} - %m%n"
+ - type: file
+ threshold: ERROR
+ #logFormat: "%nopexception%logger\n|%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX,UTC}\n|%level\n|%message\n|%X{InvocationID}\n|%rootException\n|%marker\n|%thread\n|%n \r\n"
+ logFormat: "%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%c][%t] invocationID:{InvocationID} - %m%n"
+ currentLogFilename: /var/log/ONAP/holmes/rulemgt-relation-error.log
+ archivedLogFilenamePattern: /var/log/ONAP/holmes/zip/rulemgt-relation-error-%d{yyyy-MM-dd}.log.gz
+ archivedFileCount: 7
+ - type: file
+ threshold: INFO
+ logFormat: "%d{yyyy-MM-dd HH:mm:ss SSS} %-5p [%c][%t] invocationID:{InvocationID} - %m%n"
+ currentLogFilename: /var/log/ONAP/holmes/rulemgt-relation-debug.log
+ archivedLogFilenamePattern: /var/log/ONAP/holmes/zip/rulemgt-relation-debug-%d{yyyy-MM-dd}.log.gz
+ archivedFileCount: 7
+
+#database
+database:
+ driverClass: org.postgresql.Driver
+ user: ${JDBC_USERNAME}
+ password: ${JDBC_PASSWORD}
+ url: jdbc:postgresql://${URL_JDBC}:${DB_PORT}/${DB_NAME}
+ properties:
+ charSet: UTF-8
+ maxWaitForConnection: 1s
+ validationQuery: "/* MyService Health Check */ SELECT 1"
+ minSize: 8
+ maxSize: 100
+ checkConnectionWhileIdle: false
+ evictionInterval: 10s
+ minIdleTime: 1s
diff --git a/archive/holmes/components/holmes-rule-mgmt/resources/rules/ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b.drl b/archive/holmes/components/holmes-rule-mgmt/resources/rules/ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b.drl
new file mode 100644
index 0000000000..814aeedf03
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/resources/rules/ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b.drl
@@ -0,0 +1,88 @@
+package org.onap.holmes.droolsRule;
+
+import org.onap.holmes.common.dmaap.DmaapService;
+import org.onap.holmes.common.api.stat.VesAlarm;
+import org.onap.holmes.common.aai.CorrelationUtil;
+import org.onap.holmes.common.dmaap.entity.PolicyMsg;
+import org.onap.holmes.common.utils.SpringContextUtil;
+import org.onap.holmes.common.utils.DroolsLog;
+
+rule "Relation_analysis_Rule"
+salience 200
+no-loop true
+ when
+ $root : VesAlarm(alarmIsCleared == 0,
+ $sourceId: sourceId, sourceId != null && !sourceId.equals(""),
+ $sourceName: sourceName, sourceName != null && !sourceName.equals(""),
+ $startEpochMicrosec: startEpochMicrosec,
+ eventName in ("Fault_MultiCloud_VMFailure"),
+ $eventId: eventId)
+ $child : VesAlarm( eventId != $eventId, parentId == null,
+ CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),
+ eventName in ("Fault_MME_eNodeB out of service alarm"),
+ startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000)
+ then
+ DroolsLog.printInfo("===========================================================");
+ DroolsLog.printInfo("Relation_analysis_Rule: rootId=" + $root.getEventId() + ", childId=" + $child.getEventId());
+ $child.setParentId($root.getEventId());
+ update($child);
+end
+
+rule "root_has_child_handle_Rule"
+salience 150
+no-loop true
+ when
+ $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)
+ $child : VesAlarm(eventId != $eventId, parentId == $eventId)
+ then
+ DroolsLog.printInfo("===========================================================");
+ DroolsLog.printInfo("root_has_child_handle_Rule: rootId=" + $root.getEventId() + ", childId=" + $child.getEventId());
+ DmaapService dmaapService = SpringContextUtil.getBean(DmaapService.class);
+ PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, "org.onap.holmes.droolsRule");
+ dmaapService.publishPolicyMsg(policyMsg, "dcae_cl_out");
+ $root.setRootFlag(1);
+ update($root);
+end
+
+rule "root_no_child_handle_Rule"
+salience 100
+no-loop true
+ when
+ $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,
+ sourceId != null && !sourceId.equals(""),
+ sourceName != null && !sourceName.equals(""),
+ eventName in ("Fault_MultiCloud_VMFailure"))
+ then
+ DroolsLog.printInfo("===========================================================");
+ DroolsLog.printInfo("root_no_child_handle_Rule: rootId=" + $root.getEventId());
+ DmaapService dmaapService = SpringContextUtil.getBean(DmaapService.class);
+ PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, "org.onap.holmes.droolsRule");
+ dmaapService.publishPolicyMsg(policyMsg, "dcae_cl_out");
+ $root.setRootFlag(1);
+ update($root);
+end
+
+rule "root_cleared_handle_Rule"
+salience 100
+no-loop true
+ when
+ $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)
+ then
+ DroolsLog.printInfo("===========================================================");
+ DroolsLog.printInfo("root_cleared_handle_Rule: rootId=" + $root.getEventId());
+ DmaapService dmaapService = SpringContextUtil.getBean(DmaapService.class);
+ PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, "org.onap.holmes.droolsRule");
+ dmaapService.publishPolicyMsg(policyMsg, "dcae_cl_out");
+ retract($root);
+end
+
+rule "child_handle_Rule"
+salience 100
+no-loop true
+ when
+ $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)
+ then
+ DroolsLog.printInfo("===========================================================");
+ DroolsLog.printInfo("child_handle_Rule: childId=" + $child.getEventId());
+ retract($child);
+end \ No newline at end of file
diff --git a/archive/holmes/components/holmes-rule-mgmt/resources/rules/index.json b/archive/holmes/components/holmes-rule-mgmt/resources/rules/index.json
new file mode 100644
index 0000000000..70f9dd09db
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/resources/rules/index.json
@@ -0,0 +1,6 @@
+[
+ {
+ "closedControlLoopName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
+ "file": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b.drl"
+ }
+]
diff --git a/archive/holmes/components/holmes-rule-mgmt/templates/configmap.yaml b/archive/holmes/components/holmes-rule-mgmt/templates/configmap.yaml
new file mode 100644
index 0000000000..3d54264723
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/templates/configmap.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-general-config
+data: {{ tpl (.Files.Glob "resources/config/*").AsConfig . | nindent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-rule-config
+data: {{ tpl (.Files.Glob "resources/rules/*").AsConfig . | nindent 2 }}
diff --git a/archive/holmes/components/holmes-rule-mgmt/templates/deployment.yaml b/archive/holmes/components/holmes-rule-mgmt/templates/deployment.yaml
new file mode 100644
index 0000000000..e71187c557
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/templates/deployment.yaml
@@ -0,0 +1,140 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 ZTE Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+{{- $sum := "" }}
+{{- range $path, $bytes := .Files.Glob "resources/rules/*"}}
+{{- $sum = $.Files.Get $path | sha256sum | print $sum }}
+{{- end }}
+ annotations:
+ checksum/rules: {{ $sum | sha256sum }}
+spec:
+ replicas: 1
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{- if .Values.global.postgres.localCluster }}
+ {{ include "common.readinessCheck.waitFor" (dict "dot" . "wait_for" .Values.readinessCheck.wait_for_local ) | indent 6 | trim }}
+ {{ else }}
+ {{ include "common.readinessCheck.waitFor" (dict "dot" . "wait_for" .Values.readinessCheck.wait_for_global ) | indent 6 | trim }}
+ {{- end }}
+ - name: {{ include "common.name" . }}-env-config
+ image: {{ include "repositoryGenerator.image.envsubst" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - sh
+ args:
+ - -c
+ - "cd /hrmconfig && for PFILE in `find . -type f -not -name '*.json'`; do envsubst < ${PFILE} > /config/${PFILE##*/}; done"
+ env:
+ - name: JDBC_USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
+ - name: JDBC_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ - name: DB_NAME
+ value: {{ .Values.config.pgConfig.dbName }}
+ - name: URL_JDBC
+ value: {{ .Values.config.pgConfig.dbHost }}
+ - name: DB_PORT
+ value: "{{ .Values.config.pgConfig.dbPort }}"
+ - name: NAMESPACE
+ value: {{ include "common.namespace" . }}
+ volumeMounts:
+ - mountPath: /hrmconfig
+ name: {{ include "common.fullname" . }}-general-config
+ - mountPath: /config
+ name: {{ include "common.fullname" . }}-env-config
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {{ include "common.resources" . | nindent 10 }}
+ ports: {{ include "common.containerPorts" . | nindent 8 }}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-env-config
+ mountPath: /opt/hrmconfig
+ - name: {{ include "common.fullname" . }}-rule-config
+ mountPath: /opt/hrmrules
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ httpGet:
+ path: {{ .Values.liveness.path }}
+ port: {{ .Values.liveness.port }}
+ scheme: {{ .Values.liveness.scheme }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{- end }}
+ readinessProbe:
+ httpGet:
+ path: {{ .Values.readiness.path }}
+ port: {{ .Values.readiness.port }}
+ scheme: {{ .Values.readiness.scheme }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ failureThreshold: 1
+ successThreshold: 1
+ timeoutSeconds: 1
+ env:
+ - name: CONSUL_HOST
+ value: consul-server.{{ include "common.namespace" . }}
+ - name: CONFIG_BINDING_SERVICE
+ value: config-binding-service
+ - name: MSB_IAG_SERVICE_PROTOCOL
+ value: {{ .Values.global.msbProtocol }}
+ - name: MSB_IAG_SERVICE_HOST
+ value: {{ .Values.global.msbServiceName }}.{{ include "common.namespace" . }}
+ - name: MSB_IAG_SERVICE_PORT
+ value: {{ .Values.global.msbPort | quote}}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ - name: PGPASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ - name: JDBC_USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
+ - name: JDBC_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ - name: DB_NAME
+ value: {{ .Values.config.pgConfig.dbName }}
+ - name: URL_JDBC
+ value: {{ .Values.config.pgConfig.dbHost }}
+ - name: DB_PORT
+ value: "{{ .Values.config.pgConfig.dbPort }}"
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-general-config
+ configMap:
+ defaultMode: 422
+ name: {{ include "common.fullname" . }}-general-config
+ - name: {{ include "common.fullname" . }}-rule-config
+ configMap:
+ defaultMode: 422
+ name: {{ include "common.fullname" . }}-rule-config
+ - name: {{ include "common.fullname" . }}-env-config
+ emptyDir:
+ medium: Memory
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/holmes/components/holmes-rule-mgmt/templates/ingress.yaml b/archive/holmes/components/holmes-rule-mgmt/templates/ingress.yaml
new file mode 100644
index 0000000000..bcc60a0953
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/holmes/components/holmes-rule-mgmt/templates/secret.yaml b/archive/holmes/components/holmes-rule-mgmt/templates/secret.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/templates/secret.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/holmes/components/holmes-rule-mgmt/templates/service.yaml b/archive/holmes/components/holmes-rule-mgmt/templates/service.yaml
new file mode 100644
index 0000000000..70abf763e0
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/templates/service.yaml
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/holmes/components/holmes-rule-mgmt/values.yaml b/archive/holmes/components/holmes-rule-mgmt/values.yaml
new file mode 100644
index 0000000000..a7e0e25a17
--- /dev/null
+++ b/archive/holmes/components/holmes-rule-mgmt/values.yaml
@@ -0,0 +1,149 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 ZTE Corporation Intellectual Property. All rights reserved.
+# Modifications 2023 Deutsche Telekom
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration.
+#################################################################
+global:
+ nodePortPrefixExt: 302
+ msbProtocol: http
+ msbServiceName: msb-iag
+ msbPort: 80
+ postgres:
+ localCluster: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/holmes/rule-management:12.0.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+- uid: pg-user-creds
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.pgConfig.dbUserCredsExternalSecret) . }}'
+ login: '{{ .Values.config.pgConfig.dbUser }}'
+ password: '{{ .Values.config.pgConfig.dbUserPassword }}'
+
+# application configuration
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+ # Addresses of other ONAP entities
+ address:
+ consul:
+ host: consul-server
+ port: 8500
+ pgConfig:
+ dbName: defaultName
+ dbHost: defaultHost
+ dbPort: 1234
+ dbUser: admin
+ dbUserPassword: admin
+ # dbUserCredsExternalSecret
+
+service:
+ type: NodePort
+ name: holmes-rule-mgmt
+ ports:
+ - name: http-rest
+ port: &svc_port 9101
+ nodePort: 92
+ - name: http-ui
+ port: &ui_port 9104
+ nodePort: 93
+ annotations:
+ msb.onap.org/service-info: |
+ {{ if .Values.global.msbEnabled -}}[
+ {
+ "serviceName": "holmes-rule-mgmt",
+ "version": "v1",
+ "url": "/api/holmes-rule-mgmt/v1",
+ "path":"/api/holmes-rule-mgmt/v1",
+ "protocol": "REST",
+ "visualRange":"0|1",
+ "port": "9101",
+ "enable_ssl": false
+ }
+ ]{{ end }}
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "holmes-rule-mgmt"
+ name: "holmes-rule-mgmt"
+ path: "/api/holmes-rule-mgmt/v1"
+ port: *svc_port
+ - baseaddr: "holmes-rule-mgmt-ui"
+ name: "holmes-rule-mgmt"
+ path: "/iui/holmes"
+ port: *ui_port
+ config:
+ ssl: "redirect"
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ port: *svc_port
+ periodSeconds: 10
+ path: /api/holmes-rule-mgmt/v1/healthcheck
+ enabled: true
+ scheme: HTTP
+
+readiness:
+ initialDelaySeconds: 30
+ port: *svc_port
+ periodSeconds: 30
+ path: /api/holmes-rule-mgmt/v1/healthcheck
+ scheme: HTTP
+
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ unlimited: {}
+
+readinessCheck:
+ wait_for_global:
+ jobs:
+ - '{{ include "common.release" . }}-holmes-postgres-init-config-job'
+ wait_for_local:
+ services:
+ - '{{ .Values.global.postgres.service.name2 }}'
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: holmes-rule-mgmt
+ roles:
+ - read
diff --git a/archive/holmes/templates/secrets.yaml b/archive/holmes/templates/secrets.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/holmes/templates/secrets.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/holmes/values.yaml b/archive/holmes/values.yaml
new file mode 100644
index 0000000000..4ede9a15fd
--- /dev/null
+++ b/archive/holmes/values.yaml
@@ -0,0 +1,112 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+ #Service Names of the postgres db to connect to.
+ #Override it to dbc-pg if localCluster is enabled.
+ postgres:
+ #This flag allows SO to instantiate its own mariadb-galera cluster
+ #When changing it to "true", also set "globalCluster: false"
+ #as the dependency check will not work otherwise (Chart.yaml)
+ localCluster: false
+ globalCluster: true
+ service:
+ name: pgset
+ name2: &postgres tcp-pgset-primary
+ name3: tcp-pgset-replica
+ container:
+ name: postgres
+secrets:
+- uid: pg-root-pass
+ name: &pgRootPassSecretName '{{ include "common.release" . }}-holmes-pg-root-pass'
+ type: password
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "holmes-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
+ password: '{{ .Values.postgres.config.pgRootPassword }}'
+- uid: pg-user-creds
+ name: &pgUserCredsSecretName '{{ include "common.release" . }}-holmes-pg-user-creds'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "holmes-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+ login: '{{ .Values.postgres.config.pgUserName }}'
+ password: '{{ .Values.postgres.config.pgUserPassword }}'
+ passwordPolicy: generate
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+pullPolicy: IfNotPresent
+
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+# application configuration override for postgres
+postgres:
+ nameOverride: holmes-pg
+ service:
+ name: holmes-postgres
+ name2: &dbHost holmes-postgres-primary
+ name3: holmes-postgres-replica
+ container:
+ name:
+ primary: holmes-postgres-primary
+ replica: holmes-postgres-replica
+ config:
+ pgUserName: holmes
+ pgDatabase: &dbName holmes
+ pgUserExternalSecret: *pgUserCredsSecretName
+ pgRootPasswordExternalSecret: *pgRootPassSecretName
+ pgPort: &dbPort "5432"
+ persistence:
+ mountSubPath: holmes/data
+ mountInitPath: holmes
+
+postgres-init:
+ nameOverride: holmes-postgres-init
+ config:
+ pgUserName: holmes
+ pgDatabase: *dbName
+ pgDataPath: data
+ pgUserExternalSecret: *pgUserCredsSecretName
+ # pgPrimaryPassword: password
+ # pgUserPassword: password
+ # pgRootPassword: password
+ serviceAccount:
+ nameOverride: holmes-postgres-init
+
+holmes-engine-mgmt:
+ config:
+ pgConfig:
+ dbName: *dbName
+ # dbHost: *dbHost
+ dbHost: *postgres
+ dbPort: *dbPort
+ dbUserCredsExternalSecret: *pgUserCredsSecretName
+
+holmes-rule-mgmt:
+ config:
+ pgConfig:
+ dbName: *dbName
+ # dbHost: *dbHost
+ dbHost: *postgres
+ dbPort: *dbPort
+ dbUserCredsExternalSecret: *pgUserCredsSecretName
+
+# Resource Limit flavor -By Default using small
+flavor: small
diff --git a/archive/modeling/.helmignore b/archive/modeling/.helmignore
new file mode 100644
index 0000000000..7ddbad7ef4
--- /dev/null
+++ b/archive/modeling/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+components/
diff --git a/archive/modeling/Chart.yaml b/archive/modeling/Chart.yaml
new file mode 100644
index 0000000000..72e6b880d2
--- /dev/null
+++ b/archive/modeling/Chart.yaml
@@ -0,0 +1,25 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Modeling (Modeling)
+name: modeling
+version: 13.0.0
+
+dependencies:
+ - name: modeling-etsicatalog
+ version: ~13.x-0
+ repository: 'file://components/modeling-etsicatalog'
diff --git a/archive/modeling/Makefile b/archive/modeling/Makefile
new file mode 100644
index 0000000000..08ed7cb9da
--- /dev/null
+++ b/archive/modeling/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/modeling/components/Makefile b/archive/modeling/components/Makefile
new file mode 100644
index 0000000000..9544d70f33
--- /dev/null
+++ b/archive/modeling/components/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/modeling/components/modeling-etsicatalog/.helmignore b/archive/modeling/components/modeling-etsicatalog/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/modeling/components/modeling-etsicatalog/Chart.yaml b/archive/modeling/components/modeling-etsicatalog/Chart.yaml
new file mode 100644
index 0000000000..80db5cc8b9
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/Chart.yaml
@@ -0,0 +1,42 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Modeling - Etsicatalog
+name: modeling-etsicatalog
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: mariadb-galera
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.mariadbGalera.localCluster
+ - name: mariadb-init
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.mariadbGalera.globalCluster
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/modeling/components/modeling-etsicatalog/resources/config/log/filebeat/filebeat.yml b/archive/modeling/components/modeling-etsicatalog/resources/config/log/filebeat/filebeat.yml
new file mode 100644
index 0000000000..0bc14ea908
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/resources/config/log/filebeat/filebeat.yml
@@ -0,0 +1,41 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.logstashServiceName}}:{{.Values.config.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/archive/modeling/components/modeling-etsicatalog/resources/config/log/server/log.yml b/archive/modeling/components/modeling-etsicatalog/resources/config/log/server/log.yml
new file mode 100644
index 0000000000..5ac5fefe92
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/resources/config/log/server/log.yml
@@ -0,0 +1,54 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ catalog:
+ handlers: [cataloglocal_handler, catalog_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+ tosca:
+ handlers: [cataloglocal_handler, catalog_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ cataloglocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_catalog.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ catalog_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/modeling/etsicatalog/runtime_catalog.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/modeling/components/modeling-etsicatalog/templates/configmap.yaml b/archive/modeling/components/modeling-etsicatalog/templates/configmap.yaml
new file mode 100644
index 0000000000..fc16d8c0a0
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/templates/configmap.yaml
@@ -0,0 +1,25 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/server/*").AsConfig . | indent 2 }}
+---
+{{ include "common.log.configMap" . }}
diff --git a/archive/modeling/components/modeling-etsicatalog/templates/deployment.yaml b/archive/modeling/components/modeling-etsicatalog/templates/deployment.yaml
new file mode 100644
index 0000000000..fbe3e0ca07
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/templates/deployment.yaml
@@ -0,0 +1,169 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+{{- if .Values.global.mariadbGalera.localCluster }}
+ - --service-name
+ - {{ index .Values "mariadb-galera" "service" "name" }}
+{{- else }}
+ - --job-name
+ - {{ include "common.release" . }}-etsicatalog-db-config-job
+{{- end }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-job-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ {{ if .Values.config.msb_enabled }}
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ {{ end }}
+ - command:
+ - /bin/sh
+ - -c
+ - chown -R 1000:1000 /service/modeling/etsicatalog/static
+ image: {{ include "repositoryGenerator.image.busybox" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-init
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-etsicatalog
+ mountPath: /service/modeling/etsicatalog/static
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ {{- if and (include "common.needTLS" .) (eq .Values.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: MSB_ENABLED
+ value: "{{ .Values.config.msb_enabled }}"
+ {{- if (include "common.needTLS" .) }}
+ - name: MSB_ADDR
+ value: "{{ .Values.config.msbProtocol }}s://{{ .Values.config.msbServiceName }}:{{ .Values.config.msbPort }}"
+ - name: SDC_ADDR
+ value: "{{ .Values.config.sdcProtocol }}s://{{ .Values.config.sdcServiceName }}:{{ .Values.config.sdcPort }}"
+ {{- else }}
+ - name: MSB_ADDR
+ value: "{{ .Values.config.msbProtocol }}://{{ .Values.config.msbServiceName }}:{{ .Values.config.msbPlainPort }}"
+ - name: SDC_ADDR
+ value: "{{ .Values.config.sdcProtocol }}://{{ .Values.config.sdcServiceName }}:{{ .Values.config.sdcPlainPort }}"
+ {{- end }}
+ - name: DMAAP_ENABLED
+ value: "{{ .Values.config.dmaap_enabled }}"
+ - name: DMAAP_ADDR
+ value: "{{ .Values.config.dmaapProtocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.config.dmaapServiceName }}:{{ .Values.config.dmaapPort }}"
+ - name: DB_IP
+ value: "{{ include "common.mariadbService" . }}"
+ - name: DB_PORT
+ value: "{{ include "common.mariadbPort" . }}"
+ - name: DB_USER
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "modeling-db-secret" "key" "login") | indent 12 }}
+ - name: DB_PASSWD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "modeling-db-secret" "key" "password") | indent 12 }}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-etsicatalog
+ mountPath: /service/modeling/etsicatalog/static
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: {{ .Values.log.path }}
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/modeling/etsicatalog/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-etsicatalog
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+
+ {{ include "common.log.volumes" . | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/modeling/components/modeling-etsicatalog/templates/pv.yaml b/archive/modeling/components/modeling-etsicatalog/templates/pv.yaml
new file mode 100644
index 0000000000..d672025068
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/templates/pv.yaml
@@ -0,0 +1,39 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- if eq "True" (include "common.needPV" .) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ storageClassName: "{{ include "common.fullname" . }}-data"
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
+{{- end -}}
diff --git a/archive/modeling/components/modeling-etsicatalog/templates/pvc.yaml b/archive/modeling/components/modeling-etsicatalog/templates/pvc.yaml
new file mode 100644
index 0000000000..e04a0b3ed3
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/templates/pvc.yaml
@@ -0,0 +1,38 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: {{ include "common.storageClass" . }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- end -}}
diff --git a/archive/modeling/components/modeling-etsicatalog/templates/secrets.yaml b/archive/modeling/components/modeling-etsicatalog/templates/secrets.yaml
new file mode 100644
index 0000000000..8bfebf1679
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/templates/secrets.yaml
@@ -0,0 +1,16 @@
+{{/*# Copyright (c) 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/modeling/components/modeling-etsicatalog/templates/service.yaml b/archive/modeling/components/modeling-etsicatalog/templates/service.yaml
new file mode 100644
index 0000000000..688c04b06c
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/templates/service.yaml
@@ -0,0 +1,81 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "parser",
+ "version": "v1",
+ "url": "/api/parser/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.config.ssl_enabled }},
+ "visualRange":"1"
+ },
+ {
+ "serviceName": "catalog",
+ "version": "v1",
+ "url": "/api/catalog/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.config.ssl_enabled }},
+ "visualRange":"1"
+ },
+ {
+ "serviceName": "nsd",
+ "version": "v1",
+ "url": "/api/nsd/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.config.ssl_enabled }},
+ "visualRange":"1"
+ },
+ {
+ "serviceName": "vnfpkgm",
+ "version": "v1",
+ "url": "/api/vnfpkgm/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/modeling/components/modeling-etsicatalog/values.yaml b/archive/modeling/components/modeling-etsicatalog/values.yaml
new file mode 100644
index 0000000000..83cfde8a7b
--- /dev/null
+++ b/archive/modeling/components/modeling-etsicatalog/values.yaml
@@ -0,0 +1,203 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+ persistence:
+ mountPath: /dockerdata-nfs
+
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ #This flag allows SO to instantiate its own mariadb-galera cluster
+ #When changing it to "true", also set "globalCluster: false"
+ #as the dependency check will not work otherwise (Chart.yaml)
+ localCluster: false
+ globalCluster: true
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+ centralizedLoggingEnabled: true
+
+readinessCheck:
+ wait_for:
+ services:
+ - msb-iag
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: modeling-db-secret
+ name: &dbSecretName '{{ include "common.release" . }}-modeling-db-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.db.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.db.userName }}'
+ password: '{{ .Values.config.db.userPassword }}'
+
+#################################################################
+# Dependencies configuration
+#################################################################
+
+mariadb-galera:
+ db:
+ user: &dbUser etsicatalog
+ externalSecret: *dbSecretName
+ name: &mysqlDbName etsicatalog
+ nameOverride: &modeling-db modeling-db
+ service:
+ name: *modeling-db
+ internalPort: 3306
+ nfsprovisionerPrefix: modeling
+ persistence:
+ mountSubPath: modeling/data
+ enabled: true
+ disableNfsProvisioner: true
+ serviceAccount:
+ nameOverride: *modeling-db
+ replicaCount: 1
+ mariadbOperator:
+ galera:
+ enabled: false
+
+mariadb-init:
+ config:
+ userCredentialsExternalSecret: *dbSecretName
+ mysqlDatabase: *mysqlDbName
+ # nameOverride should be the same with common.name
+ nameOverride: etsicatalog-db
+ serviceAccount:
+ nameOverride: etsicatalog-db
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+config:
+ #application configuration about msb
+ ssl_enabled: false
+ msb_enabled: false
+ msbProtocol: http
+ msbServiceName: msb-iag
+ msbPort: 443
+ msbPlainPort: 80
+ sdcProtocol: http
+ sdcServiceName: sdc-be
+ sdcPort: 8443
+ sdcPlainPort: 8080
+ dmaap_enabled: false
+ dmaapProtocol: http
+ dmaapServiceName: message-router-external
+ dmaapPort: 3905
+
+ #application configuration user password about mariadb
+ db:
+ userName: *dbUser
+ # userPassword: password
+ # userCredentialsExternalSecret: some-secret
+
+# application image
+flavor: small
+
+image: onap/modeling/etsicatalog:1.0.14
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+ enabled: true
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ # storageClass: "-"
+ accessMode: ReadWriteOnce
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: modeling/etsicatalog
+
+service:
+ type: ClusterIP
+ name: modeling-etsicatalog
+ portName: http
+ externalPort: 8806
+ internalPort: 8806
+# nodePort: 30806
+
+ingress:
+ enabled: false
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: modeling-etsicatalog
+ roles:
+ - read
+
+#Log configuration
+log:
+ path: /var/log/onap
diff --git a/archive/modeling/values.yaml b/archive/modeling/values.yaml
new file mode 100644
index 0000000000..0a1aec01cc
--- /dev/null
+++ b/archive/modeling/values.yaml
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global:
+ persistence:
+ mountPath: /dockerdata-nfs
+
+# application configuration
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/archive/msb/.helmignore b/archive/msb/.helmignore
new file mode 100644
index 0000000000..7ddbad7ef4
--- /dev/null
+++ b/archive/msb/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+components/
diff --git a/archive/msb/Chart.yaml b/archive/msb/Chart.yaml
new file mode 100644
index 0000000000..67db10be70
--- /dev/null
+++ b/archive/msb/Chart.yaml
@@ -0,0 +1,45 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP MicroServices Bus
+name: msb
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: kube2msb
+ version: ~13.x-0
+ repository: 'file://components/kube2msb'
+ - name: msb-consul
+ version: ~13.x-0
+ repository: 'file://components/msb-consul'
+ - name: msb-discovery
+ version: ~13.x-0
+ repository: 'file://components/msb-discovery'
+ - name: msb-eag
+ version: ~13.x-0
+ repository: 'file://components/msb-eag'
+ - name: msb-iag
+ version: ~13.x-0
+ repository: 'file://components/msb-iag'
+
diff --git a/archive/msb/Makefile b/archive/msb/Makefile
new file mode 100644
index 0000000000..08ed7cb9da
--- /dev/null
+++ b/archive/msb/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/msb/components/Makefile b/archive/msb/components/Makefile
new file mode 100644
index 0000000000..9544d70f33
--- /dev/null
+++ b/archive/msb/components/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/msb/components/kube2msb/.helmignore b/archive/msb/components/kube2msb/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/msb/components/kube2msb/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/msb/components/kube2msb/Chart.yaml b/archive/msb/components/kube2msb/Chart.yaml
new file mode 100644
index 0000000000..2e823e69b8
--- /dev/null
+++ b/archive/msb/components/kube2msb/Chart.yaml
@@ -0,0 +1,27 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v2
+description: ONAP MicroServices Bus Kube2MSB Registrator
+name: kube2msb
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/msb/components/kube2msb/templates/deployment.yaml b/archive/msb/components/kube2msb/templates/deployment.yaml
new file mode 100644
index 0000000000..b83d4c9d99
--- /dev/null
+++ b/archive/msb/components/kube2msb/templates/deployment.yaml
@@ -0,0 +1,80 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ serviceAccountName: msb
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - msb-discovery
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: KUBE_MASTER_URL
+ value: {{ .Values.config.kubeMasterUrl }}
+ - name: MSB_URL
+ value: {{tpl $.Values.config.discoveryUrl .}}
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/msb/components/kube2msb/values.yaml b/archive/msb/components/kube2msb/values.yaml
new file mode 100644
index 0000000000..bdc7c06b3b
--- /dev/null
+++ b/archive/msb/components/kube2msb/values.yaml
@@ -0,0 +1,70 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/oom/kube2msb:1.2.6
+pullPolicy: Always
+istioSidecar: true
+
+# application configuration
+config:
+ routeLabels: "visualRange:1"
+ kubeMasterUrl: https://kubernetes.default:443
+ discoveryUrl: http://msb-discovery.{{include "common.namespace" .}}:10081
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness: {}
+
+readiness: {}
+
+service: {}
+
+ingress:
+ enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "500Mi"
+ requests:
+ cpu: "0.5"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ unlimited: {}
diff --git a/archive/msb/components/msb-consul/.helmignore b/archive/msb/components/msb-consul/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/msb/components/msb-consul/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/msb/components/msb-consul/Chart.yaml b/archive/msb/components/msb-consul/Chart.yaml
new file mode 100644
index 0000000000..356ca84972
--- /dev/null
+++ b/archive/msb/components/msb-consul/Chart.yaml
@@ -0,0 +1,30 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v2
+description: ONAP MicroServices Bus Consul
+name: msb-consul
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/msb/components/msb-consul/resources/docker-entrypoint.sh b/archive/msb/components/msb-consul/resources/docker-entrypoint.sh
new file mode 100755
index 0000000000..18692d8afa
--- /dev/null
+++ b/archive/msb/components/msb-consul/resources/docker-entrypoint.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+#!/usr/bin/dumb-init /bin/sh
+# As of docker 1.13, using docker run --init achieves the same outcome than dumb-init.
+
+set -e
+set -x
+
+CONSUL_BIND=
+if [ -n "$CONSUL_BIND_INTERFACE" ]; then
+ CONSUL_BIND_ADDRESS=$(ip -o -4 addr list $CONSUL_BIND_INTERFACE | head -n1 | awk '{print $4}' | cut -d/ -f1)
+ if [ -z "$CONSUL_BIND_ADDRESS" ]; then
+ echo "Could not find IP for interface '$CONSUL_BIND_INTERFACE', exiting"
+ exit 1
+ fi
+
+ CONSUL_BIND="-bind=$CONSUL_BIND_ADDRESS"
+ echo "==> Found address '$CONSUL_BIND_ADDRESS' for interface '$CONSUL_BIND_INTERFACE', setting bind option..."
+fi
+
+# You can set CONSUL_CLIENT_INTERFACE to the name of the interface you'd like to
+# bind client intefaces (HTTP, DNS, and RPC) to and this will look up the IP and
+# pass the proper -client= option along to Consul.
+CONSUL_CLIENT=
+if [ -n "$CONSUL_CLIENT_INTERFACE" ]; then
+ CONSUL_CLIENT_ADDRESS=$(ip -o -4 addr list $CONSUL_CLIENT_INTERFACE | head -n1 | awk '{print $4}' | cut -d/ -f1)
+ if [ -z "$CONSUL_CLIENT_ADDRESS" ]; then
+ echo "Could not find IP for interface '$CONSUL_CLIENT_INTERFACE', exiting"
+ exit 1
+ fi
+
+ CONSUL_CLIENT="-client=$CONSUL_CLIENT_ADDRESS"
+ echo "==> Found address '$CONSUL_CLIENT_ADDRESS' for interface '$CONSUL_CLIENT_INTERFACE', setting client option..."
+fi
+
+# CONSUL_DATA_DIR is exposed as a volume for possible persistent storage. The
+# CONSUL_CONFIG_DIR isn't exposed as a volume but you can compose additional
+# config files in there if you use this image as a base, or use CONSUL_LOCAL_CONFIG
+# below.
+CONSUL_DATA_DIR=/consul/data
+CONSUL_CONFIG_DIR=/consul/config
+
+# You can also set the CONSUL_LOCAL_CONFIG environemnt variable to pass some
+# Consul configuration JSON without having to bind any volumes.
+if [ -n "$CONSUL_LOCAL_CONFIG" ]; then
+ echo "$CONSUL_LOCAL_CONFIG" > "$CONSUL_CONFIG_DIR/local.json"
+fi
+
+# If the user is trying to run Consul directly with some arguments, then
+# pass them to Consul.
+if echo "$1" | grep '^-' >/dev/null; then
+ set -- consul "$@"
+fi
+
+# Look for Consul subcommands.
+if [ "$1" = 'agent' ]; then
+ shift
+ set -- consul agent \
+ -data-dir="$CONSUL_DATA_DIR" \
+ -config-dir="$CONSUL_CONFIG_DIR" \
+ $CONSUL_BIND \
+ $CONSUL_CLIENT \
+ "$@"
+elif [ "$1" = 'version' ]; then
+ # This needs a special case because there's no help output.
+ set -- consul "$@"
+elif consul --help "$1" 2>&1 | grep -q "consul $1"; then
+ # We can't use the return code to check for the existence of a subcommand, so
+ # we have to use grep to look for a pattern in the help output.
+ set -- consul "$@"
+fi
+
+# If we are running Consul, make sure it executes as the proper user.
+if [ "$1" = 'consul' ]; then
+ # If the data or config dirs are bind mounted then chown them.
+ # Note: This checks for root ownership as that's the most common case.
+ if [ "$(stat -c %u /consul/data)" != "$(id -u consul)" ]; then
+ chown consul:consul /consul/data
+ fi
+ if [ "$(stat -c %u /consul/config)" != "$(id -u consul)" ]; then
+ chown consul:consul /consul/config
+ fi
+
+ # If requested, set the capability to bind to privileged ports before
+ # we drop to the non-root user. Note that this doesn't work with all
+ # storage drivers (it won't work with AUFS).
+ if [ ! -z ${CONSUL_ALLOW_PRIVILEGED_PORTS+x} ]; then
+ setcap "cap_net_bind_service=+ep" /bin/consul
+ fi
+
+# Instead of using this we run our pod as a non-root user.
+# set -- su-exec consul:consul "$@"
+fi
+
+exec "$@"
diff --git a/archive/msb/components/msb-consul/templates/NOTES.txt b/archive/msb/components/msb-consul/templates/NOTES.txt
new file mode 100644
index 0000000000..e0cea22074
--- /dev/null
+++ b/archive/msb/components/msb-consul/templates/NOTES.txt
@@ -0,0 +1,32 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/msb/components/msb-consul/templates/configmap.yaml b/archive/msb/components/msb-consul/templates/configmap.yaml
new file mode 100644
index 0000000000..32adcaec5f
--- /dev/null
+++ b/archive/msb/components/msb-consul/templates/configmap.yaml
@@ -0,0 +1,27 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-entrypoint
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }}
diff --git a/archive/msb/components/msb-consul/templates/deployment.yaml b/archive/msb/components/msb-consul/templates/deployment.yaml
new file mode 100644
index 0000000000..d229590da0
--- /dev/null
+++ b/archive/msb/components/msb-consul/templates/deployment.yaml
@@ -0,0 +1,89 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ securityContext:
+ runAsUser: {{ .Values.securityContext.runAsUser }}
+ runAsGroup: {{ .Values.securityContext.runAsGroup }}
+ command:
+ - docker-entrypoint.sh
+ args:
+ - "agent"
+ - "-dev"
+ - "-client"
+ - "0.0.0.0"
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ volumeMounts:
+ - mountPath: /usr/local/bin/docker-entrypoint.sh
+ name: entrypoint
+ subPath: docker-entrypoint.sh
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: entrypoint
+ configMap:
+ name: {{ include "common.fullname" . }}-entrypoint
+ defaultMode: 0777
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/msb/components/msb-consul/templates/ingress.yaml b/archive/msb/components/msb-consul/templates/ingress.yaml
new file mode 100644
index 0000000000..8f87c68f1e
--- /dev/null
+++ b/archive/msb/components/msb-consul/templates/ingress.yaml
@@ -0,0 +1 @@
+{{ include "common.ingress" . }}
diff --git a/archive/msb/components/msb-consul/templates/service.yaml b/archive/msb/components/msb-consul/templates/service.yaml
new file mode 100644
index 0000000000..af735b6e74
--- /dev/null
+++ b/archive/msb/components/msb-consul/templates/service.yaml
@@ -0,0 +1,41 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: http-{{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: http-{{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/msb/components/msb-consul/values.yaml b/archive/msb/components/msb-consul/values.yaml
new file mode 100644
index 0000000000..37ccf988d8
--- /dev/null
+++ b/archive/msb/components/msb-consul/values.yaml
@@ -0,0 +1,95 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: library/consul:1.4.3
+pullPolicy: Always
+istioSidecar: true
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: msb-consul
+ externalPort: 8500
+ internalPort: 8500
+ nodePort: 85
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "msb-consul-api"
+ name: "msb-consul"
+ port: 8500
+ config:
+ ssl: "none"
+
+flavor: small
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "500Mi"
+ requests:
+ cpu: "0.5"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ unlimited: {}
+
+securityContext:
+ fsGroup: 1000
+ runAsUser: 100
+ runAsGroup: 1000
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: msb-consul
+ roles:
+ - read
diff --git a/archive/msb/components/msb-discovery/.helmignore b/archive/msb/components/msb-discovery/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/msb/components/msb-discovery/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/msb/components/msb-discovery/Chart.yaml b/archive/msb/components/msb-discovery/Chart.yaml
new file mode 100644
index 0000000000..545bc0082a
--- /dev/null
+++ b/archive/msb/components/msb-discovery/Chart.yaml
@@ -0,0 +1,30 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v2
+description: ONAP MicroServices Bus Discovery
+name: msb-discovery
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/msb/components/msb-discovery/resources/config/logback.xml b/archive/msb/components/msb-discovery/resources/config/logback.xml
new file mode 100644
index 0000000000..174a6c5f9b
--- /dev/null
+++ b/archive/msb/components/msb-discovery/resources/config/logback.xml
@@ -0,0 +1,138 @@
+<!--# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License. -->
+<configuration scan="false" debug="true">
+ <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+ <property name="p_lvl" value="%level"/>
+ <property name="p_log" value="%logger"/>
+ <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+ <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_thr" value="%thread"/>
+ <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+
+ <property name="logDir" value="/var/log/onap" />
+ <property name="debugDir" value="/var/log/onap" />
+
+ <property name="componentName" value="msb"></property>
+ <property name="subComponentName" value="msb-discovery"></property>
+
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+
+ <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
+ <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
+
+ <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
+ <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${errorPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${auditPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+
+ <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${metricPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+ </appender>
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <encoder>
+ <pattern>${errorPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${debugLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${debugLogDirectory}/${debugLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${debugPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf.error" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
+
diff --git a/archive/msb/components/msb-discovery/templates/NOTES.txt b/archive/msb/components/msb-discovery/templates/NOTES.txt
new file mode 100644
index 0000000000..e0cea22074
--- /dev/null
+++ b/archive/msb/components/msb-discovery/templates/NOTES.txt
@@ -0,0 +1,32 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/msb/components/msb-discovery/templates/configmap.yaml b/archive/msb/components/msb-discovery/templates/configmap.yaml
new file mode 100644
index 0000000000..33c77e5eae
--- /dev/null
+++ b/archive/msb/components/msb-discovery/templates/configmap.yaml
@@ -0,0 +1,22 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
diff --git a/archive/msb/components/msb-discovery/templates/deployment.yaml b/archive/msb/components/msb-discovery/templates/deployment.yaml
new file mode 100644
index 0000000000..4f286535dc
--- /dev/null
+++ b/archive/msb/components/msb-discovery/templates/deployment.yaml
@@ -0,0 +1,107 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - msb-consul
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONSUL_IP
+ value: msb-consul.{{ include "common.namespace" . }}
+ volumeMounts:
+ - mountPath: /usr/local/discover-works/logs
+ name: {{ include "common.fullname" . }}-logs
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # Filebeat sidecar container
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/msb/components/msb-discovery/templates/ingress.yaml b/archive/msb/components/msb-discovery/templates/ingress.yaml
new file mode 100644
index 0000000000..8f87c68f1e
--- /dev/null
+++ b/archive/msb/components/msb-discovery/templates/ingress.yaml
@@ -0,0 +1 @@
+{{ include "common.ingress" . }}
diff --git a/archive/msb/components/msb-discovery/templates/service.yaml b/archive/msb/components/msb-discovery/templates/service.yaml
new file mode 100644
index 0000000000..af735b6e74
--- /dev/null
+++ b/archive/msb/components/msb-discovery/templates/service.yaml
@@ -0,0 +1,41 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: http-{{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: http-{{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/msb/components/msb-discovery/values.yaml b/archive/msb/components/msb-discovery/values.yaml
new file mode 100644
index 0000000000..b8c361a296
--- /dev/null
+++ b/archive/msb/components/msb-discovery/values.yaml
@@ -0,0 +1,95 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/msb/msb_discovery:1.3.0
+pullPolicy: Always
+istioSidecar: true
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: msb-discovery
+ externalPort: 10081
+ internalPort: 10081
+ nodePort: 81
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "msb-discovery-api"
+ name: "msb-discovery"
+ port: 10081
+ config:
+ ssl: "none"
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "500Mi"
+ requests:
+ cpu: "0.5"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: msb-discovery
+ roles:
+ - read
+
+#Logs configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/msb/components/msb-eag/.helmignore b/archive/msb/components/msb-eag/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/msb/components/msb-eag/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/msb/components/msb-eag/Chart.yaml b/archive/msb/components/msb-eag/Chart.yaml
new file mode 100644
index 0000000000..d42c99388d
--- /dev/null
+++ b/archive/msb/components/msb-eag/Chart.yaml
@@ -0,0 +1,30 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v2
+description: ONAP MicroServices Bus Internal API Gateway
+name: msb-eag
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/msb/components/msb-eag/resources/config/logback.xml b/archive/msb/components/msb-eag/resources/config/logback.xml
new file mode 100644
index 0000000000..472d8ce735
--- /dev/null
+++ b/archive/msb/components/msb-eag/resources/config/logback.xml
@@ -0,0 +1,138 @@
+<!--# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License. -->
+<configuration scan="false" debug="true">
+ <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+ <property name="p_lvl" value="%level"/>
+ <property name="p_log" value="%logger"/>
+ <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+ <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_thr" value="%thread"/>
+ <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+
+ <property name="logDir" value="/var/log/onap" />
+ <property name="debugDir" value="/var/log/onap" />
+
+ <property name="componentName" value="msb"></property>
+ <property name="subComponentName" value="msb-eag"></property>
+
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+
+ <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
+ <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
+
+ <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
+ <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${errorPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${auditPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+
+ <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${metricPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+ </appender>
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <encoder>
+ <pattern>${errorPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${debugLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${debugLogDirectory}/${debugLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${debugPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf.error" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
+
diff --git a/archive/msb/components/msb-eag/templates/NOTES.txt b/archive/msb/components/msb-eag/templates/NOTES.txt
new file mode 100644
index 0000000000..e0cea22074
--- /dev/null
+++ b/archive/msb/components/msb-eag/templates/NOTES.txt
@@ -0,0 +1,32 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/msb/components/msb-eag/templates/configmap.yaml b/archive/msb/components/msb-eag/templates/configmap.yaml
new file mode 100644
index 0000000000..62bbf4272a
--- /dev/null
+++ b/archive/msb/components/msb-eag/templates/configmap.yaml
@@ -0,0 +1,24 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
+
diff --git a/archive/msb/components/msb-eag/templates/deployment.yaml b/archive/msb/components/msb-eag/templates/deployment.yaml
new file mode 100644
index 0000000000..da2afc3bfc
--- /dev/null
+++ b/archive/msb/components/msb-eag/templates/deployment.yaml
@@ -0,0 +1,96 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - msb-discovery
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{- include "common.containerPorts" . | indent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONSUL_IP
+ value: msb-consul.{{ include "common.namespace" . }}
+ - name: SDCLIENT_IP
+ value: msb-discovery.{{ include "common.namespace" . }}
+ - name: ROUTE_LABELS
+ value: {{ .Values.config.routeLabels }}
+ volumeMounts:
+ - mountPath: /usr/local/apiroute-works/logs
+ name: {{ include "common.fullname" . }}-logs
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/msb/components/msb-eag/templates/ingress.yaml b/archive/msb/components/msb-eag/templates/ingress.yaml
new file mode 100644
index 0000000000..8f87c68f1e
--- /dev/null
+++ b/archive/msb/components/msb-eag/templates/ingress.yaml
@@ -0,0 +1 @@
+{{ include "common.ingress" . }}
diff --git a/archive/msb/components/msb-eag/templates/service.yaml b/archive/msb/components/msb-eag/templates/service.yaml
new file mode 100644
index 0000000000..eeeafc15fc
--- /dev/null
+++ b/archive/msb/components/msb-eag/templates/service.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/msb/components/msb-eag/values.yaml b/archive/msb/components/msb-eag/values.yaml
new file mode 100644
index 0000000000..49f0be78f5
--- /dev/null
+++ b/archive/msb/components/msb-eag/values.yaml
@@ -0,0 +1,102 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/msb/msb_apigateway:1.6.0
+pullPolicy: Always
+istioSidecar: true
+
+# application configuration
+config:
+ routeLabels: "visualRange:0"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: msb-eag
+ # for liveness and readiness probe only
+ # internalPort:
+ internalPort: 80
+ ports:
+ - name: msb-eag
+ port: 80
+ port_protocol: http
+ nodePort: '84'
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "msb-eag-ui"
+ name: "msb-eag"
+ port: 80
+ config:
+ ssl: "redirect"
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "500Mi"
+ requests:
+ cpu: "0.5"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: msb-eag
+ roles:
+ - read
+
+#Logs configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/msb/components/msb-iag/.helmignore b/archive/msb/components/msb-iag/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/msb/components/msb-iag/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/msb/components/msb-iag/Chart.yaml b/archive/msb/components/msb-iag/Chart.yaml
new file mode 100644
index 0000000000..50fa020c8b
--- /dev/null
+++ b/archive/msb/components/msb-iag/Chart.yaml
@@ -0,0 +1,30 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v2
+description: ONAP MicroServices Bus Internal API Gateway
+name: msb-iag
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/msb/components/msb-iag/resources/config/logback.xml b/archive/msb/components/msb-iag/resources/config/logback.xml
new file mode 100644
index 0000000000..a93d4ec56f
--- /dev/null
+++ b/archive/msb/components/msb-iag/resources/config/logback.xml
@@ -0,0 +1,138 @@
+<!--# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License. -->
+<configuration scan="false" debug="true">
+ <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+ <property name="p_lvl" value="%level"/>
+ <property name="p_log" value="%logger"/>
+ <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+ <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_thr" value="%thread"/>
+ <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+
+ <property name="logDir" value="/var/log/onap" />
+ <property name="debugDir" value="/var/log/onap" />
+
+ <property name="componentName" value="msb"></property>
+ <property name="subComponentName" value="msb-iag"></property>
+
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+
+ <property name="errorPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDesc}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
+ <property name="debugPattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}|%X{RequestId}|%msg%n\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n" />
+
+ <property name="auditPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||||||%msg%n" />
+ <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${errorPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${auditPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+
+ <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${metricPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+ </appender>
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <encoder>
+ <pattern>${errorPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${debugLogDirectory}/${debugLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${debugLogDirectory}/${debugLogName}.log.%d</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${debugPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf.error" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+
+ <root level="INFO">
+ <appender-ref ref="asyncEELFDebug" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
+
diff --git a/archive/msb/components/msb-iag/templates/NOTES.txt b/archive/msb/components/msb-iag/templates/NOTES.txt
new file mode 100644
index 0000000000..e0cea22074
--- /dev/null
+++ b/archive/msb/components/msb-iag/templates/NOTES.txt
@@ -0,0 +1,32 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/msb/components/msb-iag/templates/configmap.yaml b/archive/msb/components/msb-iag/templates/configmap.yaml
new file mode 100644
index 0000000000..7214c8a95f
--- /dev/null
+++ b/archive/msb/components/msb-iag/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
diff --git a/archive/msb/components/msb-iag/templates/deployment.yaml b/archive/msb/components/msb-iag/templates/deployment.yaml
new file mode 100644
index 0000000000..da2afc3bfc
--- /dev/null
+++ b/archive/msb/components/msb-iag/templates/deployment.yaml
@@ -0,0 +1,96 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - msb-discovery
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{- include "common.containerPorts" . | indent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONSUL_IP
+ value: msb-consul.{{ include "common.namespace" . }}
+ - name: SDCLIENT_IP
+ value: msb-discovery.{{ include "common.namespace" . }}
+ - name: ROUTE_LABELS
+ value: {{ .Values.config.routeLabels }}
+ volumeMounts:
+ - mountPath: /usr/local/apiroute-works/logs
+ name: {{ include "common.fullname" . }}-logs
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/msb/components/msb-iag/templates/ingress.yaml b/archive/msb/components/msb-iag/templates/ingress.yaml
new file mode 100644
index 0000000000..8f87c68f1e
--- /dev/null
+++ b/archive/msb/components/msb-iag/templates/ingress.yaml
@@ -0,0 +1 @@
+{{ include "common.ingress" . }}
diff --git a/archive/msb/components/msb-iag/templates/service.yaml b/archive/msb/components/msb-iag/templates/service.yaml
new file mode 100644
index 0000000000..eeeafc15fc
--- /dev/null
+++ b/archive/msb/components/msb-iag/templates/service.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/msb/components/msb-iag/values.yaml b/archive/msb/components/msb-iag/values.yaml
new file mode 100644
index 0000000000..19b500a62c
--- /dev/null
+++ b/archive/msb/components/msb-iag/values.yaml
@@ -0,0 +1,102 @@
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+# Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/msb/msb_apigateway:1.6.0
+pullPolicy: Always
+istioSidecar: true
+
+# application configuration
+config:
+ routeLabels: "visualRange:1"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: msb-iag
+ # for liveness and readiness probe only
+ # internalPort:
+ internalPort: 80
+ ports:
+ - name: msb-iag
+ port: 80
+ port_protocol: http
+ nodePort: '83'
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "msb-iag-ui"
+ name: "msb-iag"
+ port: 80
+ config:
+ ssl: "redirect"
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "500Mi"
+ requests:
+ cpu: "0.5"
+ memory: "500Mi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "1"
+ memory: "1Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: msb-iag
+ roles:
+ - read
+
+#Logs configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/msb/resources/config/log/discovery/logback.xml b/archive/msb/resources/config/log/discovery/logback.xml
new file mode 100644
index 0000000000..d590c3afbe
--- /dev/null
+++ b/archive/msb/resources/config/log/discovery/logback.xml
@@ -0,0 +1,40 @@
+<!--# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License. -->
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="msb" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="discovery" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- log file names -->
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
diff --git a/archive/msb/resources/config/log/eag/logback.xml b/archive/msb/resources/config/log/eag/logback.xml
new file mode 100644
index 0000000000..03d2b10fe1
--- /dev/null
+++ b/archive/msb/resources/config/log/eag/logback.xml
@@ -0,0 +1,40 @@
+<!--# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License. -->
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="msb" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="eag" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- log file names -->
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
diff --git a/archive/msb/resources/config/log/filebeat/filebeat.yml b/archive/msb/resources/config/log/filebeat/filebeat.yml
new file mode 100644
index 0000000000..2ba652719f
--- /dev/null
+++ b/archive/msb/resources/config/log/filebeat/filebeat.yml
@@ -0,0 +1,56 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/archive/msb/resources/config/log/iag/logback.xml b/archive/msb/resources/config/log/iag/logback.xml
new file mode 100644
index 0000000000..8c89320bd0
--- /dev/null
+++ b/archive/msb/resources/config/log/iag/logback.xml
@@ -0,0 +1,40 @@
+<!--# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License. -->
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="msb" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="iag" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- log file names -->
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
diff --git a/archive/msb/templates/configmap.yaml b/archive/msb/templates/configmap.yaml
new file mode 100644
index 0000000000..385a37f9ea
--- /dev/null
+++ b/archive/msb/templates/configmap.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2018 Amdocs, Bell Canada , ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{ include "common.log.configMap" . }}
diff --git a/archive/msb/templates/serviceaccount.yaml b/archive/msb/templates/serviceaccount.yaml
new file mode 100644
index 0000000000..50cbebf984
--- /dev/null
+++ b/archive/msb/templates/serviceaccount.yaml
@@ -0,0 +1,39 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada, ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: msb
+ namespace: {{ include "common.namespace" . }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "common.namespace" . }}-msb-binding
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+ - kind: ServiceAccount
+ name: msb
+ namespace: {{ include "common.namespace" . }}
diff --git a/archive/msb/values.yaml b/archive/msb/values.yaml
new file mode 100644
index 0000000000..4f1b659f1e
--- /dev/null
+++ b/archive/msb/values.yaml
@@ -0,0 +1,33 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ centralizedLoggingEnabled: true
+
+# application configuration
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+msb-discovery:
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-msb'
+msb-eag:
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-msb'
+msb-iag:
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-msb'
diff --git a/archive/multicloud/components/multicloud-pike/.helmignore b/archive/multicloud/components/multicloud-pike/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/multicloud/components/multicloud-pike/Chart.yaml b/archive/multicloud/components/multicloud-pike/Chart.yaml
new file mode 100644
index 0000000000..74d6b8ce29
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/Chart.yaml
@@ -0,0 +1,31 @@
+# Copyright (c) 2018 Intel Corporation.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP multicloud OpenStack Pike Plugin
+name: multicloud-pike
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/multicloud/components/multicloud-pike/resources/config/log/log.yml b/archive/multicloud/components/multicloud-pike/resources/config/log/log.yml
new file mode 100644
index 0000000000..9c82852f79
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/resources/config/log/log.yml
@@ -0,0 +1,48 @@
+{{/*
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ pike:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ newton_base:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ common:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+
+handlers:
+ console_handler:
+ level: "DEBUG"
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ file_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/openstack/pike/pike.log"
+ formatter: "standard"
+ maxBytes: 52428800
+ backupCount: 10
+
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
diff --git a/archive/multicloud/components/multicloud-pike/templates/NOTES.txt b/archive/multicloud/components/multicloud-pike/templates/NOTES.txt
new file mode 100644
index 0000000000..7adeb620b5
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/templates/NOTES.txt
@@ -0,0 +1,34 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/multicloud/components/multicloud-pike/templates/configmap.yaml b/archive/multicloud/components/multicloud-pike/templates/configmap.yaml
new file mode 100644
index 0000000000..df5f76a478
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/templates/configmap.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright (c) 2018 Intel Corporation.
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# # http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/archive/multicloud/components/multicloud-pike/templates/deployment.yaml b/archive/multicloud/components/multicloud-pike/templates/deployment.yaml
new file mode 100644
index 0000000000..1822695eab
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/templates/deployment.yaml
@@ -0,0 +1,87 @@
+{{/*
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ containers:
+ - env:
+ - name: MSB_PROTO
+ value: "http"
+ - name: MSB_ADDR
+ value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+ - name: MSB_PORT
+ value: "{{ .Values.config.msbPort }}"
+ - name: AAI_ADDR
+ value: "aai.{{ include "common.namespace" . }}"
+ - name: AAI_PORT
+ value: "{{ .Values.config.aai.aaiPort }}"
+ - name: AAI_SCHEMA_VERSION
+ value: "{{ .Values.config.aai.schemaVersion }}"
+ - name: AAI_USERNAME
+ value: "{{ .Values.config.aai.username }}"
+ - name: AAI_PASSWORD
+ value: "{{ .Values.config.aai.password }}"
+ - name: SSL_ENABLED
+ value: "false"
+ name: {{ include "common.name" . }}
+ volumeMounts:
+ - mountPath: "{{ .Values.log.path }}"
+ name: pike-log
+ - mountPath: /opt/pike/pike/pub/config/log.yml
+ name: pike-logconfig
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 10 }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command: ["/bin/sh"]
+ args: ["-c", "/bin/sh /opt/pike/run.sh"]
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ httpGet:
+ path: /api/multicloud-pike/v0/swagger.json
+ port: {{ .Values.service.internalPort }}
+ scheme: HTTP
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ successThreshold: {{ .Values.liveness.successThreshold }}
+ failureThreshold: {{ .Values.liveness.failureThreshold }}
+ {{ end }}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 6 }}
+ - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: memcached
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: pike-log
+ emptyDir: {}
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix .)) | nindent 6 }}
+ - name: pike-logconfig
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
diff --git a/archive/multicloud/components/multicloud-pike/templates/ingress.yaml b/archive/multicloud/components/multicloud-pike/templates/ingress.yaml
new file mode 100644
index 0000000000..bcc60a0953
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/multicloud/components/multicloud-pike/templates/service.yaml b/archive/multicloud/components/multicloud-pike/templates/service.yaml
new file mode 100644
index 0000000000..adbb87c70d
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright (c) 2018 Intel Corporation.
+# Modifications Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-pike/values.yaml b/archive/multicloud/components/multicloud-pike/values.yaml
new file mode 100644
index 0000000000..643daa7e3f
--- /dev/null
+++ b/archive/multicloud/components/multicloud-pike/values.yaml
@@ -0,0 +1,123 @@
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/multicloud/openstack-pike:1.5.7
+pullPolicy: Always
+
+# application configuration
+config:
+ msbgateway: msb-iag
+ msbPort: 80
+ aai:
+ aaiPort: 80
+ schemaVersion: v13
+ username: AAI
+ password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ failureThreshold: 5
+ enabled: true
+
+service:
+ type: NodePort
+ internalPort: 9007
+ ports:
+ - name: http
+ port: 9007
+ nodePort: '96'
+ annotations:
+ msb.onap.org/service-info: |
+ {{ if .Values.global.msbEnabled -}}[
+ {
+ "serviceName": "multicloud-pike",
+ "version": "v0",
+ "url": "/api/multicloud-pike/v0",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "multicloud-pike",
+ "version": "v1",
+ "url": "/api/multicloud-pike/v1",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ }
+ ]{{ end }}
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: 'multicloud-pike-api'
+ name: 'multicloud-pike'
+ port: 9007
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
+
+# memcached image resource
+memcached: memcached:alpine3.15
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: multicloud-pike
+ roles:
+ - read
+
+#Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/multicloud/components/multicloud-prometheus/Chart.yaml b/archive/multicloud/components/multicloud-prometheus/Chart.yaml
new file mode 100644
index 0000000000..2ed930aa65
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/Chart.yaml
@@ -0,0 +1,37 @@
+# Copyright 2018 Intel Corporation, Inc
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Multicloud Prometheus
+name: multicloud-prometheus
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: prometheus-alertmanager
+ version: ~13.x-0
+ repository: 'file://components/prometheus-alertmanager'
+ - name: prometheus-grafana
+ version: ~13.x-0
+ repository: 'file://components/prometheus-grafana'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/Chart.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/Chart.yaml
new file mode 100644
index 0000000000..b4643db800
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/Chart.yaml
@@ -0,0 +1,19 @@
+# Copyright 2018 Intel Corporation, Inc
+# Modifications Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Multicloud Prometheus Alert Manager
+name: prometheus-alertmanager
+version: 13.0.0
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/resources/config/alertmanager.yml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/resources/config/alertmanager.yml
new file mode 100644
index 0000000000..3dd1acb5b0
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/resources/config/alertmanager.yml
@@ -0,0 +1,14 @@
+global: {}
+ # slack_api_url: ''
+
+receivers:
+ - name: default-receiver
+ # slack_configs:
+ # - channel: '@you'
+ # send_resolved: true
+
+route:
+ group_wait: 10s
+ group_interval: 5m
+ receiver: default-receiver
+ repeat_interval: 3h \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/configmap.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/configmap.yaml
new file mode 100644
index 0000000000..2dafcc381e
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/configmap.yaml
@@ -0,0 +1,32 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.alertmanager.enabled -}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/deployment.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/deployment.yaml
new file mode 100644
index 0000000000..185aa1e47b
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/deployment.yaml
@@ -0,0 +1,98 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.alertmanager.enabled -}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}-configmap-reload
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.global.configmapReload.image.repository }}:{{ .Values.global.configmapReload.image.tag }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ args:
+ - --volume-dir=/etc/config
+ - --webhook-url=http://localhost:9093/-/reload
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: /etc/config
+ readOnly: true
+
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ args:
+ - --config.file=/etc/config/alertmanager.yml
+ - --storage.path={{ .Values.persistence.containerMountPath }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ {{- if .Values.readiness.enabled }}
+ readinessProbe:
+ httpGet:
+ path: /#/status
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
+ {{ end -}}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: /etc/config
+ - name: {{ include "common.fullname" . }}-storage
+ mountPath: {{ .Values.persistence.containerMountPath }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-storage
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pv.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pv.yaml
new file mode 100644
index 0000000000..aa1485da57
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pv.yaml
@@ -0,0 +1,42 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.alertmanager.enabled -}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- if eq "True" (include "common.needPV" .) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ storageClassName: "{{ include "common.fullname" . }}-data"
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pvc.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pvc.yaml
new file mode 100644
index 0000000000..918d002cdb
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/pvc.yaml
@@ -0,0 +1,43 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.alertmanager.enabled -}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: {{ include "common.storageClass" . }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- end -}}
+
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/service.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/service.yaml
new file mode 100644
index 0000000000..a21ec43d9b
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/templates/service.yaml
@@ -0,0 +1,52 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.alertmanager.enabled -}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ - name: {{ .Values.service.portName }}
+ {{if eq .Values.service.type "NodePort" -}}
+ port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+ {{- else -}}
+ port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ {{- end}}
+ protocol: TCP
+{{- if .Values.service.meshpeer.enabled }}
+ - name: {{ .Values.service.meshpeer.portName }}
+ port: {{ .Values.service.meshpeer.port }}
+ targetPort: {{ .Values.service.meshpeer.port }}
+ protocol: TCP
+{{- end }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+
+{{- end -}} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/values.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/values.yaml
new file mode 100644
index 0000000000..5b48f73a45
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-alertmanager/values.yaml
@@ -0,0 +1,87 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ persistence: {}
+
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#Alertmanager Configuration
+image:
+ repository: prom/alertmanager
+ tag: v0.15.2
+
+persistence:
+ enabled: true
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: multicloud/prometheus/alertmanager
+ containerMountPath: /alertmanager/data
+
+#Service configuration for this chart
+service:
+ type: ClusterIP
+ name: multicloud-prometheus-alertmanager
+ portName: prometheus-alertmanager
+ internalPort: 9093
+ externalPort: 9093
+
+ meshpeer:
+ enabled: false
+ portName: multicloud-prometheus-meshpeer
+ port: 6783
+
+# probe configuration parameters
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 30
+ enabled: true
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+ingress:
+ enabled: false
+
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/Chart.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/Chart.yaml
new file mode 100644
index 0000000000..cc89de3d26
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/Chart.yaml
@@ -0,0 +1,19 @@
+# Copyright 2018 Intel Corporation, Inc
+# Modifications Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Multicloud Grafana for Prometheus
+name: prometheus-grafana
+version: 13.0.0
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/resources/config/grafana.ini b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/resources/config/grafana.ini
new file mode 100644
index 0000000000..9dc0f09cd9
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/resources/config/grafana.ini
@@ -0,0 +1,11 @@
+paths:
+ data: /var/lib/grafana/data
+ logs: /var/log/grafana
+ plugins: /var/lib/grafana/plugins
+ provisioning: /etc/grafana/provisioning
+analytics:
+ check_for_updates: true
+log:
+ mode: console
+grafana_net:
+ url: https://grafana.net \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/configmap.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/configmap.yaml
new file mode 100644
index 0000000000..ab570896db
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/configmap.yaml
@@ -0,0 +1,96 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.grafana.enabled -}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+
+{{- if .Values.datasources }}
+ {{- range $key, $value := .Values.datasources }}
+ {{ $key }}: |
+{{ toYaml $value | indent 4 }}
+ {{- end -}}
+{{- end -}}
+
+{{- if .Values.dashboardProviders }}
+ {{- range $key, $value := .Values.dashboardProviders }}
+ {{ $key }}: |
+{{ toYaml $value | indent 4 }}
+ {{- end -}}
+{{- end -}}
+
+{{- if .Values.dashboards }}
+ download_dashboards.sh: |
+ #!/usr/bin/env sh
+ set -euf
+ {{- if .Values.dashboardProviders }}
+ {{- range $key, $value := .Values.dashboardProviders }}
+ {{- range $value.providers }}
+ mkdir -p {{ .options.path }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- range $provider, $dashboards := .Values.dashboards }}
+ {{- range $key, $value := $dashboards }}
+ {{- if (or (hasKey $value "gnetId") (hasKey $value "url")) }}
+ curl -sk \
+ --connect-timeout 60 \
+ --max-time 60 \
+ -H "Accept: application/json" \
+ -H "Content-Type: application/json;charset=UTF-8" \
+ {{- if $value.url -}}{{ $value.url }}{{- else -}} https://grafana.com/api/dashboards/{{ $value.gnetId }}/revisions/{{- if $value.revision -}}{{ $value.revision }}{{- else -}}1{{- end -}}/download{{- end -}}{{ if $value.datasource }}| sed 's|\"datasource\":[^,]*|\"datasource\": \"{{ $value.datasource }}\"|g'{{ end }} \
+ > /var/lib/grafana/dashboards/{{ $provider }}/{{ $key }}.json
+ {{- end }}
+ {{- end }}
+ {{- end }}
+{{- end }}
+
+{{- if .Values.dashboards }}
+ {{- range $provider, $dashboards := .Values.dashboards }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" $ }}-dashboards-{{ $provider }}
+ namespace: {{ include "common.namespace" $ }}
+ labels:
+ app: {{ include "common.name" $ }}
+ chart: {{ $.Chart.Name }}-{{ $.Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" $ }}
+ heritage: {{ $.Release.Service }}
+ dashboard-provider: {{ $provider }}
+data:
+ {{- range $key, $value := $dashboards }}
+ {{- if hasKey $value "json" }}
+ {{ $key }}.json: |
+{{ $value.json | indent 4 }}
+ {{- end }}
+ {{- end }}
+ {{- end }}
+
+{{- end }}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/deployment.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/deployment.yaml
new file mode 100644
index 0000000000..e578feb96d
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/deployment.yaml
@@ -0,0 +1,137 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.grafana.enabled -}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ name: {{ include "common.name" . }}
+ spec:
+ {{- if .Values.dashboards }}
+ initContainers:
+ - name: {{ include "common.name" . }}-download-dashboards
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.downloadDashboardsImage.repository }}:{{ .Values.downloadDashboardsImage.tag }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command: ["sh", "/etc/grafana/download_dashboards.sh"]
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: "/etc/grafana/download_dashboards.sh"
+ subPath: download_dashboards.sh
+ - name: {{ include "common.fullname" . }}-storage
+ mountPath: {{ .Values.persistence.containerMountPath }}
+ {{- end }}
+
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ protocol: TCP
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ httpGet:
+ path: /api/health
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ {{ end -}}
+ {{- if .Values.readiness.enabled }}
+ readinessProbe:
+ httpGet:
+ path: /api/health
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
+ {{ end -}}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: "/etc/grafana/grafana.ini"
+ subPath: grafana.ini
+ - name: {{ include "common.fullname" . }}-storage
+ mountPath: {{ .Values.persistence.containerMountPath }}
+ {{- if .Values.dashboards }}
+ {{- range $provider, $dashboards := .Values.dashboards }}
+ {{- range $key, $value := $dashboards }}
+ {{- if hasKey $value "json" }}
+ - name: {{ include "common.fullname" $ }}-dashboards-{{ $provider }}
+ mountPath: "/var/lib/grafana/dashboards/{{ $provider }}/{{ $key }}.json"
+ subPath: "{{ $key }}.json"
+ {{- end }}
+ {{- end }}
+ {{- end }}
+ {{- end -}}
+ {{- if .Values.datasources }}
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: "/etc/grafana/provisioning/datasources/datasources.yaml"
+ subPath: datasources.yaml
+ {{- end }}
+ {{- if .Values.dashboardProviders }}
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: "/etc/grafana/provisioning/dashboards/dashboardproviders.yaml"
+ subPath: dashboardproviders.yaml
+ {{- end }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-storage
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ {{- if .Values.dashboards }}
+ {{- range keys .Values.dashboards }}
+ - name: {{ include "common.fullname" $ }}-dashboards-{{ . }}
+ configMap:
+ name: {{ include "common.fullname" $ }}-dashboards-{{ . }}
+ {{- end }}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pv.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pv.yaml
new file mode 100644
index 0000000000..0c7ea4b560
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pv.yaml
@@ -0,0 +1,42 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.grafana.enabled -}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- if eq "True" (include "common.needPV" .) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: "{{ include "common.fullname" . }}-data"
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
+{{- end -}}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pvc.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pvc.yaml
new file mode 100644
index 0000000000..68ab6c487f
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/pvc.yaml
@@ -0,0 +1,43 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.grafana.enabled -}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: {{ include "common.storageClass" . }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- end -}}
+
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/service.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/service.yaml
new file mode 100644
index 0000000000..775af0afa7
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/templates/service.yaml
@@ -0,0 +1,46 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if .Values.global.grafana.enabled -}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ - name: {{ .Values.service.portName }}
+ {{if eq .Values.service.type "NodePort" -}}
+ port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+ {{- else -}}
+ port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ {{- end}}
+ protocol: TCP
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+
+{{- end -}} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/values.yaml b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/values.yaml
new file mode 100644
index 0000000000..0d066bbdc7
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/components/prometheus-grafana/values.yaml
@@ -0,0 +1,114 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ persistence: {}
+
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#Alertmanager Configuration
+image:
+ repository: grafana/grafana
+ tag: 5.2.4
+
+downloadDashboardsImage:
+ repository: appropriate/curl
+ tag: latest
+
+persistence:
+ enabled: true
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 10Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: multicloud/prometheus/grafana
+ containerMountPath: /grafana/data
+
+#Service configuration for this chart
+service:
+ type: ClusterIP
+ name: multicloud-prometheus-grafana
+ portName: prometheus-grafana
+ internalPort: 3000
+ externalPort: 3000
+
+#Grafana Datasources
+datasources:
+ datasources.yaml:
+ apiVersion: 1
+ datasources:
+ - name: Prometheus
+ type: prometheus
+ #Make sure the port number matches for the prometheus service
+ url: http://multicloud-prometheus:9090
+ access: proxy
+ isDefault: true
+
+
+#Grafana Dashboard providers
+dashboardProviders: {}
+
+#Grafana Dashboards for importing
+#This requires dashboardProviders to be enabled with some data
+#The dashboards will be downloaded from the URL provided in
+#dashboardProviders
+dashboards: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 30
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 30
+ enabled: true
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+ingress:
+ enabled: false
+
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
diff --git a/archive/multicloud/components/multicloud-prometheus/resources/config/prometheus.yml b/archive/multicloud/components/multicloud-prometheus/resources/config/prometheus.yml
new file mode 100644
index 0000000000..0355b48ab5
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/resources/config/prometheus.yml
@@ -0,0 +1,37 @@
+global:
+ scrape_interval: 1m
+ scrape_timeout: 10s
+ evaluation_interval: 1m
+
+rule_files:
+ - /etc/config/rules
+ - /etc/config/alerts
+
+scrape_configs:
+ - job_name: prometheus
+ static_configs:
+ - targets:
+ - localhost:9090
+ {{/*
+ #Add more jobs after this indent if needed
+ */}}
+
+{{- if .Values.global.alertmanager.enabled }}
+alerting:
+ alertmanagers:
+ - kubernetes_sd_configs:
+ - role: pod
+ relabel_configs:
+ - source_labels: [__meta_kubernetes_namespace]
+ regex: {{ include "common.namespace" . }}
+ action: keep
+ - source_labels: [__meta_kubernetes_pod_label_app]
+ regex: prometheus
+ action: keep
+ - source_labels: [__meta_kubernetes_pod_label_component]
+ regex: alertmanager
+ action: keep
+ - source_labels: [__meta_kubernetes_pod_container_port_number]
+ regex:
+ action: drop
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/templates/configmap.yaml b/archive/multicloud/components/multicloud-prometheus/templates/configmap.yaml
new file mode 100644
index 0000000000..471c9094aa
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/templates/configmap.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-prometheus/templates/deployment.yaml b/archive/multicloud/components/multicloud-prometheus/templates/deployment.yaml
new file mode 100644
index 0000000000..a75ac28b2d
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/templates/deployment.yaml
@@ -0,0 +1,107 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ - image: {{ include "repositoryGenerator.image.busybox" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-chown-init
+ command: ["chown", "-R", "65534:65534", "{{ .Values.persistence.containerMountPath }}"]
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-storage
+ mountPath: {{ .Values.persistence.containerMountPath }}
+ containers:
+ - name: {{ include "common.name" . }}-configmap-reload
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.global.configmapReload.image.repository }}:{{ .Values.global.configmapReload.image.tag }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ args:
+ - --volume-dir=/etc/config
+ - --webhook-url=http://localhost:9090/-/reload
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: /etc/config
+ readOnly: true
+
+ - name: {{ include "common.name" . }}-server
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ args:
+ - --config.file=/etc/config/prometheus.yml
+ - --storage.tsdb.path={{ .Values.persistence.containerMountPath }}
+ - --web.console.libraries=/etc/prometheus/console_libraries
+ - --web.console.templates=/etc/prometheus/consoles
+ - --web.enable-lifecycle
+ {{- if .Values.server.enableAdminApi }}
+ - --web.enable-admin-api
+ {{- end }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ httpGet:
+ path: /-/healthy
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ {{ end -}}
+ {{- if .Values.readiness.enabled }}
+ readinessProbe:
+ httpGet:
+ path: /-/ready
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
+ {{ end -}}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-config
+ mountPath: /etc/config
+ - name: {{ include "common.fullname" . }}-storage
+ mountPath: {{ .Values.persistence.containerMountPath }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-storage
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
diff --git a/archive/multicloud/components/multicloud-prometheus/templates/pv.yaml b/archive/multicloud/components/multicloud-prometheus/templates/pv.yaml
new file mode 100644
index 0000000000..1b67193e7a
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/templates/pv.yaml
@@ -0,0 +1,40 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- if eq "True" (include "common.needPV" .) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: "{{ include "common.fullname" . }}-data"
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/templates/pvc.yaml b/archive/multicloud/components/multicloud-prometheus/templates/pvc.yaml
new file mode 100644
index 0000000000..77cc681743
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/templates/pvc.yaml
@@ -0,0 +1,39 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: {{ include "common.storageClass" . }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-prometheus/templates/service.yaml b/archive/multicloud/components/multicloud-prometheus/templates/service.yaml
new file mode 100644
index 0000000000..ec4e1a7011
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+# Modifications Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-prometheus/values.yaml b/archive/multicloud/components/multicloud-prometheus/values.yaml
new file mode 100644
index 0000000000..20ab052169
--- /dev/null
+++ b/archive/multicloud/components/multicloud-prometheus/values.yaml
@@ -0,0 +1,108 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ alertmanager:
+ enabled: false
+ grafana:
+ enabled: false
+ configmapReload:
+ image:
+ repository: jimmidyson/configmap-reload
+ tag: v0.2.2
+ persistence: {}
+
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#Server Configuration
+image:
+ repository: prom/prometheus
+ tag: v2.4.0
+
+server:
+ enableAdminApi: false
+
+persistence:
+ enabled: true
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 8Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: multicloud/prometheus/server
+ containerMountPath: /prometheus/data
+
+#Service configuration for this chart
+service:
+ type: ClusterIP
+ internalPort: 9090
+ ports:
+ - name: http
+ port: 9090
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 30
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 30
+ timeoutSeconds: 30
+ enabled: true
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+ingress:
+ enabled: false
+
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: multicloud-prometheus
+ roles:
+ - read
diff --git a/archive/multicloud/components/multicloud-starlingx/.helmignore b/archive/multicloud/components/multicloud-starlingx/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/multicloud/components/multicloud-starlingx/Chart.yaml b/archive/multicloud/components/multicloud-starlingx/Chart.yaml
new file mode 100644
index 0000000000..dd0d9e5564
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/Chart.yaml
@@ -0,0 +1,31 @@
+# Copyright (c) 2019 Intel Corporation.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP multicloud OpenStack Starlingx Plugin
+name: multicloud-starlingx
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/multicloud/components/multicloud-starlingx/resources/config/log/config.json b/archive/multicloud/components/multicloud-starlingx/resources/config/log/config.json
new file mode 100644
index 0000000000..ebc53849d6
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/resources/config/log/config.json
@@ -0,0 +1,78 @@
+{
+ "name":"SDCDistributionGroup",
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":9014,
+ "userName":"healthcheck",
+ "password":"zb!XztG34",
+ "https":{{ (eq "true" (include "common.needTLS" .)) | ternary true false }}
+ },
+ "receptionHandlerParameters":{
+ "SDCReceptionHandler":{
+ "receptionHandlerType":"SDC",
+ "receptionHandlerClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandler",
+ "receptionHandlerConfigurationName":"sdcConfiguration",
+ "pluginHandlerParameters":{
+ "artifactForwarders":{
+ "DummyForwarder":{
+ "forwarderType":"DummyForwarder",
+ "forwarderClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarder",
+ "forwarderConfigurationParameters": "dummyConfiguration"
+ }
+ }
+ }
+ }
+ },
+ "receptionHandlerConfigurationParameters":{
+ "sdcConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandlerConfigurationParameterGroup",
+ "parameters":{
+ "asdcAddress": "sdc-be.{{ include "common.namespace" . }}:{{ (eq "true" (include "common.needTLS" .)) | ternary 8443 8080 }}",
+ "messageBusAddress": [
+ "message-router.{{ include "common.namespace" . }}"
+ ],
+ "user": "multicloud",
+ "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U",
+ "pollingInterval":20,
+ "pollingTimeout":30,
+ "consumerId": "multicloud-starlingx-id",
+ "artifactTypes": [
+ "TOSCA_CSAR",
+ "HEAT",
+ "HEAT_ARTIFACT",
+ "HEAT_ENV",
+ "HEAT_NESTED",
+ "HEAT_VOL",
+ "OTHER",
+ "VF_MODULES_METADATA",
+ "CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT"
+ ],
+ "consumerGroup": "multicloud-starlingx-group",
+ "environmentName": "AUTO",
+ "keystorePath": "null",
+ "keystorePassword": "null",
+ "activeserverTlsAuth": false,
+ "isFilterinEmptyResources": true,
+ "isUseHttpsWithDmaap": false,
+ "isUseHttpsWithSDC": {{ (eq "true" (include "common.needTLS" .)) | ternary true false }},
+ "httpsproxyHost": "null",
+ "httpproxyHost": "null",
+ "httpsproxyPort": 8181,
+ "httpproxyPort": 8080
+ }
+ }
+ },
+ "artifactForwarderConfigurationParameters":{
+ "dummyConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarderParameterGroup",
+ "parameters":{
+ "useHttps": false,
+ "hostname": "null",
+ "port": 8081,
+ "userName": "null",
+ "password": "null",
+ "isManaged": true
+ }
+ }
+ }
+}
diff --git a/archive/multicloud/components/multicloud-starlingx/resources/config/log/log.yml b/archive/multicloud/components/multicloud-starlingx/resources/config/log/log.yml
new file mode 100644
index 0000000000..243e51e665
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/resources/config/log/log.yml
@@ -0,0 +1,52 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ starlingx_base:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ starlingx:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ newton_base:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ common:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+
+handlers:
+ console_handler:
+ level: "DEBUG"
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ file_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/openstack/starlingx/starlingx.log"
+ formatter: "standard"
+ maxBytes: 52428800
+ backupCount: 10
+
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
diff --git a/archive/multicloud/components/multicloud-starlingx/templates/NOTES.txt b/archive/multicloud/components/multicloud-starlingx/templates/NOTES.txt
new file mode 100644
index 0000000000..746215b541
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/templates/NOTES.txt
@@ -0,0 +1,34 @@
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/multicloud/components/multicloud-starlingx/templates/configmap.yaml b/archive/multicloud/components/multicloud-starlingx/templates/configmap.yaml
new file mode 100644
index 0000000000..e271a4f233
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/templates/configmap.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# # http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/archive/multicloud/components/multicloud-starlingx/templates/deployment.yaml b/archive/multicloud/components/multicloud-starlingx/templates/deployment.yaml
new file mode 100644
index 0000000000..96942ddae5
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/templates/deployment.yaml
@@ -0,0 +1,102 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ containers:
+ - env:
+ - name: MSB_PROTO
+ value: "http"
+ - name: MSB_ADDR
+ value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+ - name: MSB_PORT
+ value: "{{ .Values.config.msbPort }}"
+ - name: AAI_ADDR
+ value: "aai.{{ include "common.namespace" . }}"
+ - name: AAI_PORT
+ value: "{{ .Values.config.aai.aaiPort }}"
+ - name: AAI_SCHEMA_VERSION
+ value: "{{ .Values.config.aai.schemaVersion }}"
+ - name: AAI_USERNAME
+ value: "{{ .Values.config.aai.username }}"
+ - name: AAI_PASSWORD
+ value: "{{ .Values.config.aai.password }}"
+ - name: SSL_ENABLED
+ value: "false"
+ name: {{ include "common.name" . }}
+ volumeMounts:
+ - mountPath: "{{ .Values.log.path }}"
+ name: starlingx-log
+ - mountPath: /opt/starlingx/starlingx/pub/config/log.yml
+ name: starlingx-logconfig
+ subPath: log.yml
+ - mountPath: /opt/artifacts/
+ name: artifact-data
+ resources: {{ include "common.resources" . | nindent 10 }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ httpGet:
+ path: /api/multicloud-starlingx/v0/swagger.json
+ port: {{ .Values.service.internalPort }}
+ scheme: HTTP
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ successThreshold: {{ .Values.liveness.successThreshold }}
+ failureThreshold: {{ .Values.liveness.failureThreshold }}
+ {{ end }}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 6 }}
+ - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: memcached
+ - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
+ name: framework-artifactbroker
+ command: ["/opt/app/distribution/bin/artifact-dist.sh"]
+ args: ["/opt/app/distribution/etc/mounted/config.json"]
+ ports:
+ - containerPort: 9014
+ protocol: TCP
+ volumeMounts:
+ - mountPath: /opt/app/distribution/etc/mounted/config.json
+ name: starlingx-logconfig
+ subPath: config.json
+ - mountPath: /data
+ name: artifact-data
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: starlingx-log
+ emptyDir: {}
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 6 }}
+ - name: starlingx-logconfig
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ - name: artifact-data
+ emptyDir: {}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
diff --git a/archive/multicloud/components/multicloud-starlingx/templates/ingress.yaml b/archive/multicloud/components/multicloud-starlingx/templates/ingress.yaml
new file mode 100644
index 0000000000..bcc60a0953
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/multicloud/components/multicloud-starlingx/templates/service.yaml b/archive/multicloud/components/multicloud-starlingx/templates/service.yaml
new file mode 100644
index 0000000000..6eb90e5630
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+# Modifications Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-starlingx/values.yaml b/archive/multicloud/components/multicloud-starlingx/values.yaml
new file mode 100644
index 0000000000..2f06b4b3d4
--- /dev/null
+++ b/archive/multicloud/components/multicloud-starlingx/values.yaml
@@ -0,0 +1,126 @@
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefixExt: 304
+ artifactImage: onap/multicloud/framework-artifactbroker:1.9.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/multicloud/openstack-starlingx:1.5.7
+pullPolicy: Always
+
+# application configuration
+config:
+ msbgateway: msb-iag
+ msbPort: 80
+ aai:
+ aaiPort: 80
+ schemaVersion: v13
+ username: AAI
+ password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ failureThreshold: 5
+ enabled: true
+
+service:
+ type: NodePort
+ internalPort: 9009
+ ports:
+ - name: http
+ port: 9009
+ nodePort: '85'
+ useNodePortExt: true
+ annotations:
+ msb.onap.org/service-info: |
+ {{ if .Values.global.msbEnabled -}}[
+ {
+ "serviceName": "multicloud-starlingx",
+ "version": "v0",
+ "url": "/api/multicloud-starlingx/v0",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "multicloud-starlingx",
+ "version": "v1",
+ "url": "/api/multicloud-starlingx/v1",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ }
+ ]{{ end }}
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: 'multicloud-starlingx-api'
+ name: 'multicloud-starlingx'
+ port: 9009
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
+
+# memcached image resource
+memcached: memcached:alpine3.15
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: multicloud-starlingx
+ roles:
+ - read
+
+#Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/multicloud/components/multicloud-vio/.helmignore b/archive/multicloud/components/multicloud-vio/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/multicloud/components/multicloud-vio/Chart.yaml b/archive/multicloud/components/multicloud-vio/Chart.yaml
new file mode 100644
index 0000000000..2efafe9267
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/Chart.yaml
@@ -0,0 +1,32 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP multicloud VIO plugin
+name: multicloud-vio
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/multicloud/components/multicloud-vio/resources/config/log/log.yml b/archive/multicloud/components/multicloud-vio/resources/config/log/log.yml
new file mode 100644
index 0000000000..137a6908f3
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/resources/config/log/log.yml
@@ -0,0 +1,39 @@
+{{/*
+# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ vio:
+ handlers: [vio_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ vio_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/vio/vio.log"
+ formatter: "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
+ mdcFormat:
+ format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/multicloud/components/multicloud-vio/templates/NOTES.txt b/archive/multicloud/components/multicloud-vio/templates/NOTES.txt
new file mode 100644
index 0000000000..befedf4578
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/templates/NOTES.txt
@@ -0,0 +1,34 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/multicloud/components/multicloud-vio/templates/configmap.yaml b/archive/multicloud/components/multicloud-vio/templates/configmap.yaml
new file mode 100644
index 0000000000..ed43b24c76
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/templates/configmap.yaml
@@ -0,0 +1,29 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# # http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/archive/multicloud/components/multicloud-vio/templates/deployment.yaml b/archive/multicloud/components/multicloud-vio/templates/deployment.yaml
new file mode 100644
index 0000000000..9e26cc3d14
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/templates/deployment.yaml
@@ -0,0 +1,81 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ containers:
+ - env:
+ - name: MSB_PROTO
+ value: "http"
+ - name: MSB_ADDR
+ value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+ - name: MSB_PORT
+ value: "{{ .Values.config.msbPort }}"
+ - name: AAI_ADDR
+ value: "aai.{{ include "common.namespace" . }}"
+ - name: AAI_PORT
+ value: "{{ .Values.config.aai.aaiPort }}"
+ - name: AAI_SCHEMA_VERSION
+ value: "{{ .Values.config.aai.schemaVersion }}"
+ - name: AAI_USERNAME
+ value: "{{ .Values.config.aai.username }}"
+ - name: AAI_PASSWORD
+ value: "{{ .Values.config.aai.password }}"
+ name: {{ include "common.name" . }}
+ volumeMounts:
+ - mountPath: "{{ .Values.log.path }}"
+ name: vio-log
+ - mountPath: /opt/vio/vio/pub/config/log.yml
+ name: vio-logconfig
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 10 }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ httpGet:
+ path: /api/multicloud-vio/v0/swagger.json
+ port: {{ .Values.service.internalPort }}
+ scheme: HTTP
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ successThreshold: {{ .Values.liveness.successThreshold }}
+ failureThreshold: {{ .Values.liveness.failureThreshold }}
+ {{ end -}}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 6 }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: vio-log
+ emptyDir: {}
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 6 }}
+ - name: vio-logconfig
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
diff --git a/archive/multicloud/components/multicloud-vio/templates/ingress.yaml b/archive/multicloud/components/multicloud-vio/templates/ingress.yaml
new file mode 100644
index 0000000000..bcc60a0953
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/multicloud/components/multicloud-vio/templates/service.yaml b/archive/multicloud/components/multicloud-vio/templates/service.yaml
new file mode 100644
index 0000000000..0cff91a68c
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-vio/values.yaml b/archive/multicloud/components/multicloud-vio/values.yaml
new file mode 100644
index 0000000000..1337362a34
--- /dev/null
+++ b/archive/multicloud/components/multicloud-vio/values.yaml
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/multicloud/vio:1.4.2
+pullPolicy: Always
+
+# application configuration
+config:
+ msbgateway: msb-iag
+ msbPort: 80
+ aai:
+ aaiPort: 80
+ schemaVersion: v13
+ username: AAI
+ password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ failureThreshold: 5
+ enabled: true
+
+service:
+ type: NodePort
+ internalPort: 9004
+ ports:
+ - name: http
+ port: 9004
+ nodePort: '92'
+ annotations:
+ msb.onap.org/service-info: |
+ {{ if .Values.global.msbEnabled -}}[
+ {
+ "serviceName": "multicloud-vio",
+ "version": "v0",
+ "url": "/api/multicloud-vio/v0",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "multicloud-vio",
+ "version": "v1",
+ "url": "/api/multicloud-vio/v1",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ }
+ ]{{ end }}
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: 'multicloud-vio-api'
+ name: 'multicloud-vio'
+ port: 9004
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: multicloud-vio
+ roles:
+ - read
+
+#Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/multicloud/components/multicloud-windriver/.helmignore b/archive/multicloud/components/multicloud-windriver/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/multicloud/components/multicloud-windriver/Chart.yaml b/archive/multicloud/components/multicloud-windriver/Chart.yaml
new file mode 100644
index 0000000000..110cba02c2
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/Chart.yaml
@@ -0,0 +1,32 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP multicloud OpenStack WindRiver Plugin
+name: multicloud-windriver
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/multicloud/components/multicloud-windriver/resources/config/log/config.json b/archive/multicloud/components/multicloud-windriver/resources/config/log/config.json
new file mode 100644
index 0000000000..e34637666f
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/resources/config/log/config.json
@@ -0,0 +1,78 @@
+{
+ "name":"SDCDistributionGroup",
+ "restServerParameters":{
+ "host":"0.0.0.0",
+ "port":9014,
+ "userName":"healthcheck",
+ "password":"zb!XztG34",
+ "https":{{ (eq "true" (include "common.needTLS" .)) | ternary true false }}
+ },
+ "receptionHandlerParameters":{
+ "SDCReceptionHandler":{
+ "receptionHandlerType":"SDC",
+ "receptionHandlerClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandler",
+ "receptionHandlerConfigurationName":"sdcConfiguration",
+ "pluginHandlerParameters":{
+ "artifactForwarders":{
+ "DummyForwarder":{
+ "forwarderType":"DummyForwarder",
+ "forwarderClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarder",
+ "forwarderConfigurationParameters": "dummyConfiguration"
+ }
+ }
+ }
+ }
+ },
+ "receptionHandlerConfigurationParameters":{
+ "sdcConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandlerConfigurationParameterGroup",
+ "parameters":{
+ "asdcAddress": "sdc-be.{{ include "common.namespace" . }}:{{ (eq "true" (include "common.needTLS" .)) | ternary 8443 8080 }}",
+ "messageBusAddress": [
+ "message-router.{{ include "common.namespace" . }}"
+ ],
+ "user": "multicloud",
+ "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U",
+ "pollingInterval":20,
+ "pollingTimeout":30,
+ "consumerId": "multicloud-windriver-id",
+ "artifactTypes": [
+ "TOSCA_CSAR",
+ "HEAT",
+ "HEAT_ARTIFACT",
+ "HEAT_ENV",
+ "HEAT_NESTED",
+ "HEAT_VOL",
+ "OTHER",
+ "VF_MODULES_METADATA",
+ "CLOUD_TECHNOLOGY_SPECIFIC_ARTIFACT"
+ ],
+ "consumerGroup": "multicloud-windriver-group",
+ "environmentName": "AUTO",
+ "keystorePath": "null",
+ "keystorePassword": "null",
+ "activeserverTlsAuth": false,
+ "isFilterinEmptyResources": true,
+ "isUseHttpsWithDmaap": false,
+ "isUseHttpsWithSDC": {{ (eq "true" (include "common.needTLS" .)) | ternary true false }},
+ "httpsproxyHost": "null",
+ "httpproxyHost": "null",
+ "httpsproxyPort": 8181,
+ "httpproxyPort": 8080
+ }
+ }
+ },
+ "artifactForwarderConfigurationParameters":{
+ "dummyConfiguration":{
+ "parameterClassName":"org.onap.policy.distribution.main.testclasses.DummyArtifactForwarderParameterGroup",
+ "parameters":{
+ "useHttps": false,
+ "hostname": "null",
+ "port": 8081,
+ "userName": "null",
+ "password": "null",
+ "isManaged": true
+ }
+ }
+ }
+}
diff --git a/archive/multicloud/components/multicloud-windriver/resources/config/log/log.yml b/archive/multicloud/components/multicloud-windriver/resources/config/log/log.yml
new file mode 100644
index 0000000000..80792c9c70
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/resources/config/log/log.yml
@@ -0,0 +1,48 @@
+{{/*
+# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ titanium_cloud:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ newton_base:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+ common:
+ handlers: [console_handler, file_handler]
+ level: "DEBUG"
+ propagate: False
+
+handlers:
+ console_handler:
+ level: "DEBUG"
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ file_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/openstack/windriver/titanium_cloud.log"
+ formatter: "standard"
+ maxBytes: 52428800
+ backupCount: 10
+
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
diff --git a/archive/multicloud/components/multicloud-windriver/resources/config/log/test.txt b/archive/multicloud/components/multicloud-windriver/resources/config/log/test.txt
new file mode 100644
index 0000000000..6c1e709b92
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/resources/config/log/test.txt
@@ -0,0 +1 @@
+resources: {{ include "common.resources" . | indent 12 | trim}} \ No newline at end of file
diff --git a/archive/multicloud/components/multicloud-windriver/templates/NOTES.txt b/archive/multicloud/components/multicloud-windriver/templates/NOTES.txt
new file mode 100644
index 0000000000..befedf4578
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/NOTES.txt
@@ -0,0 +1,34 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/multicloud/components/multicloud-windriver/templates/configmap.yaml b/archive/multicloud/components/multicloud-windriver/templates/configmap.yaml
new file mode 100644
index 0000000000..ed43b24c76
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/configmap.yaml
@@ -0,0 +1,29 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# # http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/archive/multicloud/components/multicloud-windriver/templates/deployment.yaml b/archive/multicloud/components/multicloud-windriver/templates/deployment.yaml
new file mode 100644
index 0000000000..434c0d156e
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/deployment.yaml
@@ -0,0 +1,116 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ - command: ["sh", "-c", "chown -R 100:101 /data"]
+ image: {{ include "repositoryGenerator.image.busybox" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-init
+ volumeMounts:
+ - mountPath: /data
+ name: artifact-data
+ containers:
+ - env:
+ - name: MSB_PROTO
+ value: "http"
+ - name: MSB_ADDR
+ value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+ - name: MSB_PORT
+ value: "{{ .Values.config.msbPort }}"
+ - name: AAI_ADDR
+ value: "aai.{{ include "common.namespace" . }}"
+ - name: AAI_PORT
+ value: "{{ .Values.config.aai.aaiPort }}"
+ - name: AAI_SCHEMA_VERSION
+ value: "{{ .Values.config.aai.schemaVersion }}"
+ - name: AAI_USERNAME
+ value: "{{ .Values.config.aai.username }}"
+ - name: AAI_PASSWORD
+ value: "{{ .Values.config.aai.password }}"
+ - name: SSL_ENABLED
+ value: "false"
+ name: {{ include "common.name" . }}
+ volumeMounts:
+ - mountPath: "{{ .Values.log.path }}"
+ name: windriver-log
+ - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
+ name: windriver-logconfig
+ subPath: log.yml
+ - mountPath: /opt/artifacts/
+ name: artifact-data
+ resources: {{ include "common.resources" . | nindent 10 }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ httpGet:
+ path: /api/multicloud-titaniumcloud/v1/swagger.json
+ port: {{ .Values.service.internalPort }}
+ scheme: HTTP
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ successThreshold: {{ .Values.liveness.successThreshold }}
+ failureThreshold: {{ .Values.liveness.failureThreshold }}
+ {{ end }}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 6 }}
+ - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: memcached
+ - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
+ name: framework-artifactbroker
+ command: ["/opt/app/distribution/bin/artifact-dist.sh"]
+ args: ["/opt/app/distribution/etc/mounted/config.json"]
+ ports:
+ - containerPort: 9014
+ protocol: TCP
+ volumeMounts:
+ - mountPath: /opt/app/distribution/etc/mounted/config.json
+ name: windriver-logconfig
+ subPath: config.json
+ - mountPath: /data
+ name: artifact-data
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: windriver-log
+ emptyDir: {}
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 6 }}
+ - name: windriver-logconfig
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ - name: artifact-data
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ restartPolicy: Always
diff --git a/archive/multicloud/components/multicloud-windriver/templates/ingress.yaml b/archive/multicloud/components/multicloud-windriver/templates/ingress.yaml
new file mode 100644
index 0000000000..bcc60a0953
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/multicloud/components/multicloud-windriver/templates/pv.yaml b/archive/multicloud/components/multicloud-windriver/templates/pv.yaml
new file mode 100644
index 0000000000..f798053f71
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/pv.yaml
@@ -0,0 +1,40 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- if eq "True" (include "common.needPV" .) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ storageClassName: "{{ include "common.fullname" . }}-data"
+ hostPath:
+ path: {{ default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-windriver/templates/pvc.yaml b/archive/multicloud/components/multicloud-windriver/templates/pvc.yaml
new file mode 100644
index 0000000000..3c4d646638
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/pvc.yaml
@@ -0,0 +1,39 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" .}}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ include "common.release" . }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ storageClassName: {{ include "common.storageClass" . }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- end -}}
diff --git a/archive/multicloud/components/multicloud-windriver/templates/service.yaml b/archive/multicloud/components/multicloud-windriver/templates/service.yaml
new file mode 100644
index 0000000000..578036bb8d
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/multicloud/components/multicloud-windriver/values.yaml b/archive/multicloud/components/multicloud-windriver/values.yaml
new file mode 100644
index 0000000000..0af9df856b
--- /dev/null
+++ b/archive/multicloud/components/multicloud-windriver/values.yaml
@@ -0,0 +1,144 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ artifactImage: onap/multicloud/framework-artifactbroker:1.9.0
+ persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/multicloud/openstack-windriver:1.5.7
+pullPolicy: Always
+
+# application configuration
+config:
+ ssl_enabled: true
+ msbgateway: msb-iag
+ msbPort: 80
+ aai:
+ aaiPort: 80
+ schemaVersion: v13
+ username: AAI
+ password: AAI
+
+service:
+ type: NodePort
+ internalPort: 9005
+ ports:
+ - name: http
+ port: 9005
+ nodePort: '94'
+ annotations:
+ msb.onap.org/service-info: |
+ {{ if .Values.global.msbEnabled -}}[
+ {
+ "serviceName": "multicloud-titanium_cloud",
+ "version": "v0",
+ "url": "/api/multicloud-titanium_cloud/v0",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "multicloud-titaniumcloud",
+ "version": "v0",
+ "url": "/api/multicloud-titaniumcloud/v0",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "multicloud-titaniumcloud",
+ "version": "v1",
+ "url": "/api/multicloud-titaniumcloud/v1",
+ "protocol": "REST",
+ "port": "{{ .Values.service.internalPort }}",
+ "enable_ssl": false,
+ "visualRange": "1"
+ }
+ ]{{ end }}
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: 'multicloud-titaniumcloud-api'
+ name: 'multicloud-titaniumcloud'
+ port: 9005
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 10
+ successThreshold: 1
+ failureThreshold: 5
+ enabled: true
+
+persistence:
+ enabled: true
+ mountPath: /dockerdata-nfs
+ mountSubPath: multicloud-windriver/data
+ volumeReclaimPolicy: Retain
+ accessMode: ReadWriteOnce
+ size: 5Gi
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "4Gi"
+ requests:
+ cpu: "10m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "8Gi"
+ requests:
+ cpu: "20m"
+ memory: "2Gi"
+ unlimited: {}
+
+# memcached image resource
+memcached: memcached:alpine3.15
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: multicloud-windriver
+ roles:
+ - read
+
+#Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/nbi/.helmignore b/archive/nbi/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/nbi/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/nbi/Chart.yaml b/archive/nbi/Chart.yaml
new file mode 100644
index 0000000000..3ffd2a1f81
--- /dev/null
+++ b/archive/nbi/Chart.yaml
@@ -0,0 +1,45 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018,2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Northbound Interface
+name: nbi
+version: 13.1.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ # local reference to common chart, as it is
+ # a part of this chart's package and will not
+ # be published independently to a repo (at this point)
+ repository: '@local'
+ - name: mongodb
+ version: ~14.12.x-0
+ repository: '@local'
+ - name: mariadb-galera
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.mariadbGalera.localCluster
+ - name: mariadb-init
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.mariadbGalera.globalCluster
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/nbi/README.md b/archive/nbi/README.md
new file mode 100644
index 0000000000..9d79efe618
--- /dev/null
+++ b/archive/nbi/README.md
@@ -0,0 +1,17 @@
+# NBI
+
+## Introduction
+
+NBI stands for NorthBound Interface. It brings to ONAP a set of API that can be
+used by external systems as BSS for example. These API are based on TMF API.
+
+Full description is on [ONAP Read the Doc](https://onap.readthedocs.io/en/latest/submodules/externalapi/nbi.git/docs/offeredapis/index.html).
+
+## Requirements
+
+NBI needs the following ONAP projects to work:
+
+- AAI
+- SO
+- SDC
+- MSB
diff --git a/archive/nbi/templates/deployment.yaml b/archive/nbi/templates/deployment.yaml
new file mode 100644
index 0000000000..863926a8ce
--- /dev/null
+++ b/archive/nbi/templates/deployment.yaml
@@ -0,0 +1,112 @@
+{{/*
+# Copyright © 2018 Orange
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+# Modifications Copyright © 2020 Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports: {{ include "common.containerPorts" . | nindent 12 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ httpGet:
+ port: {{ .Values.service.internalPort }}
+ path: {{ .Values.liveness.path }}
+ scheme: HTTP
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ httpGet:
+ port: {{ .Values.service.internalPort }}
+ path: {{ .Values.readiness.path }}
+ scheme: HTTP
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: SPRING_DATASOURCE_URL
+ value: jdbc:mariadb://{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}/{{ index .Values "mariadb-galera" "db" "name" }}
+ - name: SPRING_DATASOURCE_USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "nbi-db-secret" "key" "login") | indent 14 }}
+ - name: SPRING_DATASOURCE_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "nbi-db-secret" "key" "password") | indent 14 }}
+ - name: SPRING_DATA_MONGODB_HOST
+ value: {{ .Values.mongodb.service.nameOverride }}.{{ include "common.namespace" . }}
+ - name: SPRING_DATA_MONGODB_PORT
+ value: "{{ .Values.mongodb.service.port }}"
+ - name: SPRING_DATA_MONGODB_DATABASE
+ value: {{ .Values.mongodb.config.dbName }}
+ - name: ONAP_LCPCLOUDREGIONID
+ value: {{ .Values.config.openStackRegion }}
+ - name: ONAP_TENANTID
+ value: {{ .Values.config.openStackVNFTenantId | quote }}
+ - name: ONAP_CLOUDOWNER
+ value: {{ .Values.config.cloudOwner }}
+ - name: ONAP_K8SCLOUDREGIONID
+ value: {{ .Values.config.k8sCloudRegionId }}
+ - name: ONAP_K8SCLOUDOWNER
+ value: {{ .Values.config.k8sCloudOwner }}
+ - name: NBI_URL
+ value: "http://nbi.{{ include "common.namespace" . }}:{{ .Values.service.internalPort }}/nbi/api/v4"
+ - name: SDC_HOST
+ value: "http://sdc-be.{{ include "common.namespace" . }}:8080"
+ - name: SDC_HEADER_ECOMPINSTANCEID
+ value: {{ .Values.config.ecompInstanceId }}
+ - name: SDC_HEADER_AUTHORIZATION
+ value: {{ .Values.sdc_authorization }}
+ - name: AAI_HOST
+ value: "http://aai.{{ include "common.namespace" . }}:80"
+ - name: AAI_HEADER_AUTHORIZATION
+ value: {{ .Values.aai_authorization }}
+ - name: SO_HOST
+ value: http://so.{{ include "common.namespace" . }}:8080
+ {{- if .Values.so_authorization }}
+ - name: SO_HEADER_AUTHORIZATION
+ value: {{ .Values.so_authorization }}
+ {{- end }}
+ - name: DMAAP_HOST
+ value: "http://message-router.{{ include "common.namespace" . }}:3904"
+ - name: LOGGING_LEVEL_ORG_ONAP_NBI
+ value: {{ .Values.config.loglevel }}
+ - name: MSB_ENABLED
+ value: "{{ .Values.global.msbEnabled }}"
+ - name: MSB_DISCOVERY_HOST
+ value: "msb-discovery.{{ include "common.namespace" . }}"
+ - name: MSB_DISCOVERY_PORT
+ value: "10081"
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/nbi/templates/ingress.yaml b/archive/nbi/templates/ingress.yaml
new file mode 100644
index 0000000000..06e66ebbf1
--- /dev/null
+++ b/archive/nbi/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung, Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/nbi/templates/secret.yaml b/archive/nbi/templates/secret.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/nbi/templates/secret.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/nbi/templates/service.yaml b/archive/nbi/templates/service.yaml
new file mode 100644
index 0000000000..11fae18dc1
--- /dev/null
+++ b/archive/nbi/templates/service.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada, Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/nbi/tests/deployment_test.yaml b/archive/nbi/tests/deployment_test.yaml
new file mode 100644
index 0000000000..fe9d0d2977
--- /dev/null
+++ b/archive/nbi/tests/deployment_test.yaml
@@ -0,0 +1,205 @@
+---
+suite: test deployment behavior
+templates:
+ - deployment.yaml
+tests:
+ - it: "should render with default values (global)"
+ asserts:
+ - isKind:
+ of: Deployment
+ - equal:
+ path: metadata.name
+ value: RELEASE-NAME-nbi
+ - equal:
+ path: metadata.namespace
+ value: NAMESPACE
+ - matchRegex:
+ path: metadata.labels.app
+ pattern: nbi
+ - matchRegex:
+ path: spec.template.metadata.labels.app
+ pattern: nbi
+ - equal:
+ path: spec.template.metadata.name
+ value: RELEASE-NAME-nbi
+ - equal:
+ path: spec.replicas
+ value: 1
+ - isNull:
+ path: spec.template.spec.nodeSelector
+ - isNull:
+ path: spec.template.spec.affinity
+
+ - it: "should render with default value (container)"
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].name
+ value: nbi
+ - equal:
+ path: spec.template.spec.containers[0].image
+ value: nexus3.onap.org:10001/onap/externalapi/nbi:5.0.1
+ - equal:
+ path: spec.template.spec.containers[0].imagePullPolicy
+ value: IfNotPresent
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATASOURCE_URL
+ value: jdbc:mariadb://mariadb-galera:3306/nbi
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATASOURCE_USERNAME
+ value: rene
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATASOURCE_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: RELEASE-NAME-nbi-config
+ key: db-user-password
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATA_MONGODB_HOST
+ value: nbi-mongohost.NAMESPACE
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATA_MONGODB_PORT
+ value: "27017"
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATA_MONGODB_DATABASE
+ value: ServiceOrderDB
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: ONAP_LCPCLOUDREGIONID
+ value: RegionOne
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: ONAP_TENANTID
+ value: 31047205ce114b60833b23e400d6a535
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: ONAP_CLOUDOWNER
+ value: CloudOwner
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: NBI_URL
+ value: http://nbi.NAMESPACE:8080/nbi/api/v4
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SDC_HOST
+ value: http://sdc-be.NAMESPACE:8080
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SDC_HEADER_ECOMPINSTANCEID
+ value: OOM
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SDC_HEADER_AUTHORIZATION
+ value: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: AAI_HOST
+ value: http://aai.NAMESPACE:80
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: AAI_HEADER_AUTHORIZATION
+ value: Basic QUFJOkFBSQ==
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SO_HOST
+ value: http://so.NAMESPACE:8080
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: DMAAP_HOST
+ value: http://message-router.NAMESPACE:3904
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: LOGGING_LEVEL_ORG_ONAP_NBI
+ value: INFO
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: MSB_ENABLED
+ value: "true"
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: MSB_DISCOVERY_HOST
+ value: msb-discovery.NAMESPACE
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: MSB_DISCOVERY_PORT
+ value: "10081"
+ - equal:
+ path: spec.template.spec.containers[0].livenessProbe
+ value:
+ initialDelaySeconds: 180
+ periodSeconds: 30
+ tcpSocket:
+ port: 8080
+ - equal:
+ path: spec.template.spec.containers[0].readinessProbe
+ value:
+ initialDelaySeconds: 185
+ periodSeconds: 30
+ tcpSocket:
+ port: 8080
+ - contains:
+ path: spec.template.spec.containers[0].ports
+ content:
+ containerPort: 8080
+ - equal:
+ path: spec.template.spec.containers[0].resources.limits.cpu
+ value: 1
+ - equal:
+ path: spec.template.spec.containers[0].resources.limits.memory
+ value: 2Gi
+ - equal:
+ path: spec.template.spec.containers[0].resources.requests.cpu
+ value: 100m
+ - equal:
+ path: spec.template.spec.containers[0].resources.requests.memory
+ value: 1Gi
+ - it: "should render when deciding to use local cluster (container)"
+ set:
+ global:
+ mariadbGalera:
+ localCluster: true
+ asserts:
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATASOURCE_URL
+ value: jdbc:mariadb://nbi-galera:3306/nbi
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATASOURCE_USERNAME
+ value: rene
+ - contains:
+ path: spec.template.spec.containers[0].env
+ content:
+ name: SPRING_DATASOURCE_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: RELEASE-NAME-nbi-nbi-galera
+ key: user-password
diff --git a/archive/nbi/values.yaml b/archive/nbi/values.yaml
new file mode 100644
index 0000000000..0d143dc6c6
--- /dev/null
+++ b/archive/nbi/values.yaml
@@ -0,0 +1,193 @@
+# Copyright © 2018 Orange
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ mariadbGalera: &mariadbGalera
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ #This flag allows NBI to instantiate its own mariadb-galera cluster
+ #When changing it to "true", also set "globalCluster: false"
+ #as the dependency check will not work otherwise (Chart.yaml)
+ localCluster: false
+ globalCluster: true
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+ msbEnabled: false
+ # Docker Repository used by RepositoryGenerator
+ dockerHubRepository: docker.io
+ # Additions for MongoDB****************************
+ # If dockerHubRepository is changes the following entry needs
+ # to be changed as well
+ imageRegistry: docker.io
+ imagePullSecrets:
+ - '{{ include "common.names.namespace" . }}-docker-registry-key'
+ # *************************************************
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: nbi-db-secret
+ name: &dbUserSecretName '{{ include "common.release" . }}-nbi-db-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.db.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.db.userName }}'
+ password: '{{ .Values.config.db.userPassword }}'
+
+subChartsOnly:
+ enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/externalapi/nbi:10.0.0
+pullPolicy: IfNotPresent
+sdc_authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
+aai_authorization: Basic QUFJOkFBSQ==
+so_authorization:
+
+# application configuration
+config:
+ loglevel: INFO
+ logstashServiceName: log-ls
+ logstashPort: 5044
+ cloudOwner: CloudOwner
+ k8sCloudRegionId: k8sregionfour
+ k8sCloudOwner: k8scloudowner4
+ ecompInstanceId: OOM
+ openStackRegion: RegionOne
+ openStackVNFTenantId: 31047205ce114b60833b23e400d6a535
+ db:
+ userName: &dbuser rene
+ # userPassword: password
+ # userCredentialsExternalSecret: some-secret
+
+mariadb-galera:
+ db:
+ user: *dbuser
+ externalSecret: *dbUserSecretName
+ name: &mysqlDbName nbi
+ service:
+ name: nbi-galera
+ portName: nbi-galera
+ internalPort: 3306
+ nameOverride: &nbi-galera nbi-galera
+ replicaCount: 1
+ mariadbOperator:
+ galera:
+ enabled: false
+ persistence:
+ enabled: true
+ mountSubPath: nbi/maria/data
+ serviceAccount:
+ nameOverride: *nbi-galera
+
+mariadb-init:
+ config:
+ userCredentialsExternalSecret: *dbUserSecretName
+ mysqlDatabase: *mysqlDbName
+ nameOverride: nbi-config
+ serviceAccount:
+ nameOverride: nbi-config
+
+mongodb:
+ nameOverride: nbi-mongo
+ config:
+ dbName: &mongoDBName ServiceOrderDB
+ auth:
+ enabled: false
+ databases:
+ - *mongoDBName
+ usernames:
+ - "nbi"
+ service:
+ nameOverride: nbi-mongohost
+ internalPort: 27017
+ resources:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "500m"
+ memory: "1Gi"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ path: /nbi/api/v4/status
+ initialDelaySeconds: 180
+ periodSeconds: 30
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ path: /nbi/api/v4/status
+ initialDelaySeconds: 185
+ periodSeconds: 30
+
+service:
+ type: NodePort
+ portName: api
+ name: nbi
+ internalPort: 8080
+ ports:
+ - name: http
+ port: 8080
+ nodePort: '74'
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "nbi-api"
+ name: "nbi"
+ port: 8080
+ config:
+ ssl: "redirect"
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "4"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: nbi
+ roles:
+ - read
diff --git a/archive/oof/.helmignore b/archive/oof/.helmignore
new file mode 100644
index 0000000000..68ffb32406
--- /dev/null
+++ b/archive/oof/.helmignore
@@ -0,0 +1 @@
+components/
diff --git a/archive/oof/Chart.yaml b/archive/oof/Chart.yaml
new file mode 100755
index 0000000000..6be063fc4c
--- /dev/null
+++ b/archive/oof/Chart.yaml
@@ -0,0 +1,42 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Optimization Framework
+name: oof
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: oof-has
+ version: ~13.x-0
+ repository: 'file://components/oof-has'
+ condition: oof-has.enabled
+ - name: oof-templates
+ version: ~13.x-0
+ repository: 'file://components/oof-templates'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/oof/Makefile b/archive/oof/Makefile
new file mode 100644
index 0000000000..eea1b7aefb
--- /dev/null
+++ b/archive/oof/Makefile
@@ -0,0 +1,59 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}")
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/oof/components/Makefile b/archive/oof/components/Makefile
new file mode 100755
index 0000000000..f09e21e75c
--- /dev/null
+++ b/archive/oof/components/Makefile
@@ -0,0 +1,59 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}")
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/oof/components/oof-has/.helmignore b/archive/oof/components/oof-has/.helmignore
new file mode 100644
index 0000000000..68ffb32406
--- /dev/null
+++ b/archive/oof/components/oof-has/.helmignore
@@ -0,0 +1 @@
+components/
diff --git a/archive/oof/components/oof-has/Chart.yaml b/archive/oof/components/oof-has/Chart.yaml
new file mode 100755
index 0000000000..79f19c176c
--- /dev/null
+++ b/archive/oof/components/oof-has/Chart.yaml
@@ -0,0 +1,58 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Homing and Allocation Service
+name: oof-has
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: etcd
+ version: ~13.x-0
+ repository: '@local'
+ condition: etcd.enabled
+ - name: etcd-init
+ version: ~13.x-0
+ repository: '@local'
+ condition: etcd-init.enabled
+ - name: oof-has-api
+ version: ~13.x-0
+ repository: 'file://components/oof-has-api'
+ condition: oof-has-api.enabled
+ - name: oof-has-controller
+ version: ~13.x-0
+ repository: 'file://components/oof-has-controller'
+ condition: oof-has-controller.enabled
+ - name: oof-has-data
+ version: ~13.x-0
+ repository: 'file://components/oof-has-data'
+ condition: oof-has-data.enabled
+ - name: oof-has-reservation
+ version: ~13.x-0
+ repository: 'file://components/oof-has-reservation'
+ condition: oof-has-reservation.enabled
+ - name: oof-has-solver
+ version: ~13.x-0
+ repository: 'file://components/oof-has-solver'
+ condition: oof-has-solver.enabled
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+
diff --git a/archive/oof/components/oof-has/Makefile b/archive/oof/components/oof-has/Makefile
new file mode 100644
index 0000000000..2de7c19587
--- /dev/null
+++ b/archive/oof/components/oof-has/Makefile
@@ -0,0 +1,59 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}")
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/oof/components/oof-has/components/Makefile b/archive/oof/components/oof-has/components/Makefile
new file mode 100755
index 0000000000..6d0030d4cf
--- /dev/null
+++ b/archive/oof/components/oof-has/components/Makefile
@@ -0,0 +1,59 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}")
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/oof/components/oof-has/components/oof-has-api/Chart.yaml b/archive/oof/components/oof-has/components/oof-has-api/Chart.yaml
new file mode 100755
index 0000000000..c6c07bd8ef
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/Chart.yaml
@@ -0,0 +1,39 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Homing and Allocation Servicei - API
+name: oof-has-api
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: oof-templates
+ version: ~13.x-0
+ repository: 'file://../../../oof-templates'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
+
diff --git a/archive/oof/components/oof-has/components/oof-has-api/templates/NOTES.txt b/archive/oof/components/oof-has/components/oof-has-api/templates/NOTES.txt
new file mode 100755
index 0000000000..1ec56d38b3
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/templates/NOTES.txt
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.fullname" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml b/archive/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml
new file mode 100755
index 0000000000..703d8bb7c4
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/templates/deployment.yaml
@@ -0,0 +1,110 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Copyright (C) 2020 Wipro Limited.
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command: ["/bin/sh","-c"]
+ args: ["/usr/local/bin/uwsgi -s /run/conductor/uwsgi.sock --chmod-socket=777 --wsgi-file /etc/nginx/conductor.wsgi --callable application --set port={{ .Values.uwsgi.internalPort }} --die-on-term --exit-on-reload --pidfile /run/conductor/conductor-uwsgi.pid --enable-threads --workers 6 --master --vacuum --single-interpreter --socket-timeout 10 --max-worker-lifetime 300 --max-requests 100 --no-defer-accept --protocol=uwsgi --socket 0.0.0.0:{{ .Values.uwsgi.internalPort }}"]
+ ports:
+ - containerPort: {{ .Values.uwsgi.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.uwsgi.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.uwsgi.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env: {{ include "oof.etcd.env" . | nindent 10 }}
+ volumeMounts:
+ - mountPath: /usr/local/etc/conductor/conductor.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: conductor.conf
+ - mountPath: /usr/local/bin/log.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: log.conf
+ resources: {{ include "common.resources" . | nindent 12 }}
+ - name: {{ include "common.name" . }}-nginx
+ image: {{ include "repositoryGenerator.image.nginx" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /bin/sh
+ args:
+ - "-c"
+ - |
+ /opt/bitnami/scripts/nginx/entrypoint.sh /opt/bitnami/scripts/nginx/run.sh
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: http
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - mountPath: /opt/bitnami/nginx/conf/nginx.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: nginx.conf
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ .Values.global.commonConfigPrefix }}-config
+ configMap:
+ name: {{ .Values.global.commonConfigPrefix }}-configmap
+ items:
+ - key: nginx.conf
+ path: nginx.conf
+ - key: conductor.conf
+ path: conductor.conf
+ - key: log.conf
+ path: log.conf
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/oof/components/oof-has/components/oof-has-api/templates/ingress.yaml b/archive/oof/components/oof-has/components/oof-has-api/templates/ingress.yaml
new file mode 100644
index 0000000000..2afc5dad2a
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/templates/ingress.yaml
@@ -0,0 +1,16 @@
+{{/*# Copyright © 2020 Samsung, Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-api/templates/secret.yaml b/archive/oof/components/oof-has/components/oof-has-api/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-api/templates/service.yaml b/archive/oof/components/oof-has/components/oof-has-api/templates/service.yaml
new file mode 100755
index 0000000000..b77b592c08
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/templates/service.yaml
@@ -0,0 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-api/values.yaml b/archive/oof/components/oof-has/components/oof-has-api/values.yaml
new file mode 100755
index 0000000000..0d7bd7c995
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-api/values.yaml
@@ -0,0 +1,101 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global: # global defaults
+ nodePortPrefix: 302
+ image:
+ optf_has: onap/optf-has:2.3.1
+
+#################################################################
+# secrets metaconfig
+#################################################################
+secrets:
+ - uid: oof-has-etcd-secret
+ name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.etcd.appUser }}'
+ password: '{{ .Values.config.etcd.appPassword }}'
+ passwordPolicy: required
+
+config:
+ etcd:
+ appUser: user
+ appPassword: pass
+
+service:
+ type: NodePort
+ name: oof-has-api
+ internalPort: 8091
+ ports:
+ - name: http
+ port: 8091
+ nodePort: '75'
+
+#backend container info
+uwsgi:
+ internalPort: 8080
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "oof-has-api"
+ name: "oof-has-api"
+ port: 8091
+ config:
+ ssl: "redirect"
+
+readinessCheck:
+ wait_for:
+ apps:
+ - oof-has-controller
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: oof-has-api
+ roles:
+ - read
diff --git a/archive/oof/components/oof-has/components/oof-has-controller/Chart.yaml b/archive/oof/components/oof-has/components/oof-has-controller/Chart.yaml
new file mode 100755
index 0000000000..9c155e8525
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-controller/Chart.yaml
@@ -0,0 +1,38 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Homing and Allocation Sservice - Controller
+name: oof-has-controller
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: oof-templates
+ version: ~13.x-0
+ repository: 'file://../../../oof-templates'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml b/archive/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml
new file mode 100755
index 0000000000..2367da742e
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-controller/templates/deployment.yaml
@@ -0,0 +1,88 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - python
+ args:
+ - /usr/local/bin/conductor-controller
+ - --config-file=/usr/local/bin/conductor.conf
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env: {{ include "oof.etcd.env" . | nindent 10 }}
+ volumeMounts:
+ - mountPath: /usr/local/bin/conductor.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: conductor.conf
+ - mountPath: /usr/local/bin/log.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: log.conf
+ - mountPath: /usr/local/bin/healthy.sh
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: healthy.sh
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ .Values.global.commonConfigPrefix }}-config
+ configMap:
+ name: {{ .Values.global.commonConfigPrefix }}-configmap
+ items:
+ - key: conductor.conf
+ path: conductor.conf
+ - key: log.conf
+ path: log.conf
+ - key: healthy.sh
+ path: healthy.sh
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/oof/components/oof-has/components/oof-has-controller/templates/secret.yaml b/archive/oof/components/oof-has/components/oof-has-controller/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-controller/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-controller/values.yaml b/archive/oof/components/oof-has/components/oof-has-controller/values.yaml
new file mode 100755
index 0000000000..7cbfafbc76
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-controller/values.yaml
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global:
+ image:
+ optf_has: onap/optf-has:2.3.1
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: oof-has-etcd-secret
+ name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.etcd.appUser }}'
+ password: '{{ .Values.config.etcd.appPassword }}'
+ passwordPolicy: required
+
+config:
+ etcd:
+ appUser: user
+ appPassword: pass
+
+ingress:
+ enabled: false
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+readinessCheck:
+ wait_for:
+ jobs:
+ - '{{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job'
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: oof-has-controller
+ roles:
+ - read
diff --git a/archive/oof/components/oof-has/components/oof-has-data/Chart.yaml b/archive/oof/components/oof-has/components/oof-has-data/Chart.yaml
new file mode 100755
index 0000000000..142f6e563e
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-data/Chart.yaml
@@ -0,0 +1,38 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Homing and Allocation Service - Data Component
+name: oof-has-data
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: oof-templates
+ version: ~13.x-0
+ repository: 'file://../../../oof-templates'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml b/archive/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml
new file mode 100755
index 0000000000..765d3dbda4
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-data/templates/deployment.yaml
@@ -0,0 +1,88 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - python
+ args:
+ - /usr/local/bin/conductor-data
+ - --config-file=/usr/local/bin/conductor.conf
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env: {{ include "oof.etcd.env" . | nindent 10 }}
+ volumeMounts:
+ - mountPath: /usr/local/bin/conductor.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: conductor.conf
+ - mountPath: /usr/local/bin/log.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: log.conf
+ - mountPath: /usr/local/bin/healthy.sh
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: healthy.sh
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ .Values.global.commonConfigPrefix }}-config
+ configMap:
+ name: {{ .Values.global.commonConfigPrefix }}-configmap
+ items:
+ - key: conductor.conf
+ path: conductor.conf
+ - key: log.conf
+ path: log.conf
+ - key: healthy.sh
+ path: healthy.sh
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/oof/components/oof-has/components/oof-has-data/templates/secret.yaml b/archive/oof/components/oof-has/components/oof-has-data/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-data/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-data/values.yaml b/archive/oof/components/oof-has/components/oof-has-data/values.yaml
new file mode 100755
index 0000000000..37e131ba91
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-data/values.yaml
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global:
+ image:
+ optf_has: onap/optf-has:2.3.1
+
+#################################################################
+# secrets metaconfig
+#################################################################
+secrets:
+ - uid: oof-has-etcd-secret
+ name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.etcd.appUser }}'
+ password: '{{ .Values.config.etcd.appPassword }}'
+ passwordPolicy: required
+
+config:
+ etcd:
+ appUser: user
+ appPassword: pass
+
+ingress:
+ enabled: false
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+readinessCheck:
+ wait_for:
+ jobs:
+ - '{{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job'
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: oof-has-data
+ roles:
+ - read
diff --git a/archive/oof/components/oof-has/components/oof-has-reservation/Chart.yaml b/archive/oof/components/oof-has/components/oof-has-reservation/Chart.yaml
new file mode 100755
index 0000000000..2e7666ca06
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-reservation/Chart.yaml
@@ -0,0 +1,38 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Homing and Allocation Sevice - Reservation Component
+name: oof-has-reservation
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: oof-templates
+ version: ~13.x-0
+ repository: 'file://../../../oof-templates'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml b/archive/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml
new file mode 100755
index 0000000000..d7b53346e9
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-reservation/templates/deployment.yaml
@@ -0,0 +1,88 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - python
+ args:
+ - /usr/local/bin/conductor-reservation
+ - --config-file=/usr/local/bin/conductor.conf
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ readinessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ {{ end -}}
+ env: {{ include "oof.etcd.env" . | nindent 10 }}
+ volumeMounts:
+ - mountPath: /usr/local/bin/conductor.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: conductor.conf
+ - mountPath: /usr/local/bin/log.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: log.conf
+ - mountPath: /usr/local/bin/healthy.sh
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: healthy.sh
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ .Values.global.commonConfigPrefix }}-config
+ configMap:
+ name: {{ .Values.global.commonConfigPrefix }}-configmap
+ items:
+ - key: conductor.conf
+ path: conductor.conf
+ - key: log.conf
+ path: log.conf
+ - key: healthy.sh
+ path: healthy.sh
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/oof/components/oof-has/components/oof-has-reservation/templates/secret.yaml b/archive/oof/components/oof-has/components/oof-has-reservation/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-reservation/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-reservation/values.yaml b/archive/oof/components/oof-has/components/oof-has-reservation/values.yaml
new file mode 100755
index 0000000000..6a1bc53582
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-reservation/values.yaml
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global:
+ image:
+ optf_has: onap/optf-has:2.3.1
+
+#################################################################
+# secrets metaconfig
+#################################################################
+secrets:
+ - uid: oof-has-etcd-secret
+ name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.etcd.appUser }}'
+ password: '{{ .Values.config.etcd.appPassword }}'
+ passwordPolicy: required
+
+config:
+ etcd:
+ appUser: user
+ appPassword: pass
+
+ingress:
+ enabled: false
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+readinessCheck:
+ wait_for:
+ jobs:
+ - '{{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job'
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: oof-has-reservation
+ roles:
+ - read
diff --git a/archive/oof/components/oof-has/components/oof-has-solver/Chart.yaml b/archive/oof/components/oof-has/components/oof-has-solver/Chart.yaml
new file mode 100755
index 0000000000..7fe3d0c8ca
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-solver/Chart.yaml
@@ -0,0 +1,38 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Homing and Allocation Service - Solver Component
+name: oof-has-solver
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: oof-templates
+ version: ~13.x-0
+ repository: 'file://../../../oof-templates'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml b/archive/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml
new file mode 100755
index 0000000000..5d9c0763b5
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-solver/templates/deployment.yaml
@@ -0,0 +1,88 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.image.optf_has }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - python
+ args:
+ - /usr/local/bin/conductor-solver
+ - --config-file=/usr/local/bin/conductor.conf
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ exec:
+ command:
+ - cat
+ - /usr/local/bin/healthy.sh
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env: {{ include "oof.etcd.env" . | nindent 10 }}
+ volumeMounts:
+ - mountPath: /usr/local/bin/conductor.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: conductor.conf
+ - mountPath: /usr/local/bin/log.conf
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: log.conf
+ - mountPath: /usr/local/bin/healthy.sh
+ name: {{ .Values.global.commonConfigPrefix }}-config
+ subPath: healthy.sh
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ .Values.global.commonConfigPrefix }}-config
+ configMap:
+ name: {{ .Values.global.commonConfigPrefix }}-configmap
+ items:
+ - key: conductor.conf
+ path: conductor.conf
+ - key: log.conf
+ path: log.conf
+ - key: healthy.sh
+ path: healthy.sh
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/oof/components/oof-has/components/oof-has-solver/templates/secret.yaml b/archive/oof/components/oof-has/components/oof-has-solver/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-solver/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/components/oof-has/components/oof-has-solver/values.yaml b/archive/oof/components/oof-has/components/oof-has-solver/values.yaml
new file mode 100755
index 0000000000..e0a9b0cdd1
--- /dev/null
+++ b/archive/oof/components/oof-has/components/oof-has-solver/values.yaml
@@ -0,0 +1,80 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global:
+ image:
+ optf_has: onap/optf-has:2.3.1
+
+#################################################################
+# secrets metaconfig
+#################################################################
+secrets:
+ - uid: oof-has-etcd-secret
+ name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.etcd.appUser }}'
+ password: '{{ .Values.config.etcd.appPassword }}'
+ passwordPolicy: required
+
+config:
+ etcd:
+ appUser: user
+ appPassword: pass
+
+ingress:
+ enabled: false
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+readinessCheck:
+ wait_for:
+ jobs:
+ - '{{ include "common.release" . }}-{{ .Values.config.etcd.configJobNameOverride }}-job'
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: oof-has-solver
+ roles:
+ - read
diff --git a/archive/oof/components/oof-has/resources/config/conductor.conf b/archive/oof/components/oof-has/resources/config/conductor.conf
new file mode 100755
index 0000000000..511c0cd6de
--- /dev/null
+++ b/archive/oof/components/oof-has/resources/config/conductor.conf
@@ -0,0 +1,706 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware, Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+[DEFAULT]
+
+#
+# From conductor
+#
+
+# Configuration file for WSGI definition of API. (string value)
+api_paste_config = /usr/local/etc/conductor/api_paste.ini
+
+# Music keyspace for content (string value)
+#keyspace = conductor
+
+# Delay time (Seconds) for MUSIC requests. Set it to 2 seconds by default.
+# (integer value)
+#delay_time = 2
+
+# (boolean value)
+#HPA_enabled = true
+
+#
+# From oslo.log
+#
+
+# If set to true, the logging level will be set to DEBUG instead of the default
+# INFO level. (boolean value)
+# Note: This option can be changed without restarting.
+#debug = false
+debug = true
+
+# The name of a logging configuration file. This file is appended to any
+# existing logging configuration files. For details about logging configuration
+# files, see the Python logging module documentation. Note that when logging
+# configuration files are used then all logging configuration is set in the
+# configuration file and other logging configuration options are ignored (for
+# example, logging_context_format_string). (string value)
+# Note: This option can be changed without restarting.
+# Deprecated group/name - [DEFAULT]/log_config
+#log_config_append = <None>
+log_config_append = /usr/local/bin/log.conf
+
+# Defines the format string for %%(asctime)s in log records. Default:
+# %(default)s . This option is ignored if log_config_append is set. (string
+# value)
+#log_date_format = %Y-%m-%d %H:%M:%S
+
+# (Optional) Name of log file to send logging output to. If no default is set,
+# logging will go to stderr as defined by use_stderr. This option is ignored if
+# log_config_append is set. (string value)
+# Deprecated group/name - [DEFAULT]/logfile
+#log_file = <None>
+
+# (Optional) The base directory used for relative log_file paths. This option
+# is ignored if log_config_append is set. (string value)
+# Deprecated group/name - [DEFAULT]/logdir
+#log_dir = <None>
+
+# Uses logging handler designed to watch file system. When log file is moved or
+# removed this handler will open a new log file with specified path
+# instantaneously. It makes sense only if log_file option is specified and
+# Linux platform is used. This option is ignored if log_config_append is set.
+# (boolean value)
+#watch_log_file = false
+
+# Use syslog for logging. Existing syslog format is DEPRECATED and will be
+# changed later to honor RFC5424. This option is ignored if log_config_append
+# is set. (boolean value)
+#use_syslog = false
+
+# Enable journald for logging. If running in a systemd environment you may wish
+# to enable journal support. Doing so will use the journal native protocol
+# which includes structured metadata in addition to log messages.This option is
+# ignored if log_config_append is set. (boolean value)
+#use_journal = false
+
+# Syslog facility to receive log lines. This option is ignored if
+# log_config_append is set. (string value)
+#syslog_log_facility = LOG_USER
+
+# Use JSON formatting for logging. This option is ignored if log_config_append
+# is set. (boolean value)
+#use_json = false
+
+# Log output to standard error. This option is ignored if log_config_append is
+# set. (boolean value)
+#use_stderr = false
+
+# Format string to use for log messages with context. (string value)
+#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
+
+# Format string to use for log messages when context is undefined. (string
+# value)
+#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
+
+# Additional data to append to log message when logging level for the message
+# is DEBUG. (string value)
+#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
+
+# Prefix each line of exception output with this format. (string value)
+#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
+
+# Defines the format string for %(user_identity)s that is used in
+# logging_context_format_string. (string value)
+#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
+
+# List of package logging levels in logger=LEVEL pairs. This option is ignored
+# if log_config_append is set. (list value)
+#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
+
+# Enables or disables publication of error events. (boolean value)
+#publish_errors = false
+
+# The format for an instance that is passed with the log message. (string
+# value)
+#instance_format = "[instance: %(uuid)s] "
+
+# The format for an instance UUID that is passed with the log message. (string
+# value)
+#instance_uuid_format = "[instance: %(uuid)s] "
+
+# Interval, number of seconds, of log rate limiting. (integer value)
+#rate_limit_interval = 0
+
+# Maximum number of logged messages per rate_limit_interval. (integer value)
+#rate_limit_burst = 0
+
+# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
+# or empty string. Logs with level greater or equal to rate_limit_except_level
+# are not filtered. An empty string means that all levels are filtered. (string
+# value)
+#rate_limit_except_level = CRITICAL
+
+# Enables or disables fatal status of deprecations. (boolean value)
+#fatal_deprecations = false
+
+[auth]
+appkey = ""
+
+[aaf_api]
+
+#
+# From conductor
+#
+
+# is_aaf_enabled. (boolean value)
+is_aaf_enabled = false
+
+# aaf_cache_expiry_hrs. (integer value)
+aaf_cache_expiry_hrs = 3
+
+# aaf_url. (string value)
+aaf_url =
+
+# aaf_cert_file. (string value)
+#aaf_cert_file = <None>
+
+# aaf_cert_key_file. (string value)
+#aaf_cert_key_file = <None>
+
+# aaf_ca_bundle_file. (string value)
+#aaf_ca_bundle_file =
+aaf_ca_bundle_file =
+
+# aaf_retries. (integer value)
+#aaf_retries = 3
+
+# aaf_timeout. (integer value)
+#aaf_timeout = 100
+
+# aaf_user_roles. (list value)
+#aaf_permissions = {"type": "org.onap.oof.access","instance": "*","action": "*"}
+
+
+[aaf_sms]
+
+#
+# From conductor
+#
+
+# is_enabled. (boolean value)
+is_enabled = false
+
+# Base URL for SMS, up to and not including the version, and without a trailing
+# slash. (string value)
+aaf_sms_url =
+
+
+# Timeout for SMS API Call (integer value)
+#aaf_sms_timeout = 30
+
+# Path to the cacert that will be used to verify If this is None, verify will
+# be False and the server certis not verified by the client. (string value)
+#aaf_ca_certs = AAF_RootCA.cer
+aaf_ca_certs = /usr/local/bin/AAF_RootCA.cer
+
+# Domain UUID - A unique UUID generated when the domainfor HAS is created by
+# administrator during deployment (string value)
+#secret_domain = has
+
+
+[aai]
+
+#
+# From conductor
+#
+
+# Interval with which to refresh the local cache, in minutes. (integer value)
+#cache_refresh_interval = 1440
+cache_refresh_interval = 1
+
+# Interval with which to refresh the local complex cache, in minutes. (integer
+# value)
+#complex_cache_refresh_interval = 1440
+complex_cache_refresh_interval = 60
+
+# Data Store table prefix. (string value)
+#table_prefix = aai
+
+# Base URL for A&AI, up to and not including the version, and without a
+# trailing slash. (string value)
+server_url = http://{{.Values.config.aai.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.aai.port}}/aai
+
+# Timeout for A&AI Rest Call (string value)
+#aai_rest_timeout = 30
+
+# Number of retry for A&AI Rest Call (string value)
+#aai_retries = 3
+
+# The version of A&AI in v# format. (string value)
+server_url_version = v21
+
+# SSL/TLS certificate file in pem format. This certificate must be registered
+# with the A&AI endpoint. (string value)
+certificate_file =
+
+# Private Certificate Key file in pem format. (string value)
+certificate_key_file =
+
+# Certificate Authority Bundle file in pem format. Must contain the appropriate
+# trust chain for the Certificate file. (string value)
+#certificate_authority_bundle_file = certificate_authority_bundle.pem
+certificate_authority_bundle_file =
+
+# Username for AAI. (string value)
+username = OOF
+
+# Password for AAI. (string value)
+password = OOF
+
+
+[api]
+
+#
+# From conductor
+#
+
+# Toggle Pecan Debug Middleware. (boolean value)
+#pecan_debug = false
+
+# Default maximum number of items returned by API request. (integer value)
+# Minimum value: 1
+#default_api_return_limit = 100
+
+[conductor_api]
+
+#
+# From conductor
+#
+
+# Base URL for plans. (string value)
+#server_url =
+
+# username for plans. (string value)
+#username =
+username = admin1
+
+# password for plans. (string value)
+#password =
+password = plan.15
+
+# auth toggling. (boolean value)
+basic_auth_secure = true
+
+
+[controller]
+
+#
+# From conductor
+#
+
+# Timeout for planning requests. Default value is 10. (integer value)
+# Minimum value: 1
+#timeout = 10
+timeout = 200
+
+# Maximum number of result sets to return. Default value is 1. (integer value)
+# Minimum value: 1
+#limit = 1
+
+# Number of workers for controller service. Default value is 1. (integer value)
+# Minimum value: 1
+#workers = 1
+
+# Set to True when controller will run in active-active mode. When set to
+# False, controller will flush any abandoned messages at startup. The
+# controller always restarts abandoned template translations at startup.
+# (boolean value)
+#concurrent = false
+concurrent = true
+
+# Time between checking for new plans. Default value is 1. (integer value)
+# Minimum value: 1
+#polling_interval = 1
+
+# (integer value)
+# Minimum value: 1
+#max_translation_counter = 1
+
+# (string value)
+opt_schema_file = /opt/has/conductor/etc/conductor/opt_schema.json
+
+[data]
+
+#
+# From conductor
+#
+
+# Number of workers for data service. Default value is 1. (integer value)
+# Minimum value: 1
+#workers = 1
+
+# Set to True when data will run in active-active mode. When set to False, data
+# will flush any abandoned messages at startup. (boolean value)
+#concurrent = false
+concurrent = true
+
+# Default value is -8000, which is the diameter of the earth. The distance
+# cannot larger than this value (floating point value)
+#existing_placement_cost = -8000.0
+
+# (floating point value)
+#cloud_candidate_cost = 2.0
+
+# (floating point value)
+#service_candidate_cost = 1.0
+
+
+[inventory_provider]
+
+#
+# From conductor
+#
+
+# Extensions list to use (list value)
+extensions = aai,generator
+
+
+[messaging_server]
+
+#
+# From conductor
+#
+
+# Music keyspace for messages (string value)
+#keyspace = conductor_rpc
+
+# Wait interval while checking for a message response. Default value is 1
+# second. (integer value)
+# Minimum value: 1
+#check_interval = 1
+
+# Overall message response timeout. Default value is 120 seconds. (integer
+# value)
+# Minimum value: 1
+#response_timeout = 120
+
+# Timeout for detecting a VM is down, and other VMs can pick the plan up.
+# Default value is 5 minutes. (integer value) (integer value)
+# Minimum value: 1
+timeout = 300
+
+# Number of workers for messaging service. Default value is 1. (integer value)
+# Minimum value: 1
+#workers = 1
+
+# Time between checking for new messages. Default value is 1. (integer value)
+# Minimum value: 1
+#polling_interval = 1
+
+# Log debug messages. Default value is False. (boolean value)
+#debug = false
+
+
+[multicloud]
+
+#
+# From conductor
+#
+
+# Base URL for Multicloud without a trailing slash. (string value)
+#server_url = http://msb.onap.org/api/multicloud
+server_url = http://{{.Values.config.msb.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.msb.port}}/api/multicloud
+
+# Timeout for Multicloud Rest Call (string value)
+#multicloud_rest_timeout = 30
+
+# Number of retry for Multicloud Rest Call (string value)
+#multicloud_retries = 3
+
+# The version of Multicloud API. (string value)
+#server_url_version = v0
+
+
+[db_options]
+
+# db_backend to use
+db_backend = {{.Values.config.dbBackend}}
+
+# Use music mock api
+music_mock = False
+
+
+[etcd_api]
+
+# host/ip address of etcd server
+host = {{.Values.config.etcd.serviceName}}.{{ include "common.namespace" . }}
+
+# port of etcd server
+port = {{.Values.config.etcd.port}}
+
+# username for etcd authentication
+username =
+
+# password for etcd authentication
+password =
+
+
+[prometheus]
+
+#
+# From conductor
+#
+
+# Prometheus Metrics Endpoint (list value)
+#metrics_port = 8000,8001,8002,8003,8004
+
+
+[reservation]
+
+#
+# From conductor
+#
+
+# Number of workers for reservation service. Default value is 1. (integer
+# value)
+# Minimum value: 1
+#workers = 1
+
+# Number of times reservation/release should be attempted. (integer value)
+#reserve_retries = 1
+
+# Timeout for detecting a VM is down, and other VMs can pick the plan up and
+# resereve. Default value is 600 seconds. (integer value) (integer value)
+# Minimum value: 1
+#timeout = 600
+
+# Set to True when reservation will run in active-active mode. When set to
+# False, reservation will restart any orphaned reserving requests at startup.
+# (boolean value)
+#concurrent = false
+concurrent = true
+
+# (integer value)
+# Minimum value: 1
+#max_reservation_counter = 1
+
+
+[sdnc]
+
+#
+# From conductor
+#
+
+# Interval with which to refresh the local cache, in minutes. (integer value)
+#cache_refresh_interval = 1440
+
+# Data Store table prefix. (string value)
+#table_prefix = sdnc
+
+# Base URL for SDN-C, up to and including the version. (string value)
+server_url = https://controller:8443/restconf/
+
+# Basic Authentication Username (string value)
+#username = <None>
+username = admin
+
+# Basic Authentication Password (string value)
+#password = <None>
+password = Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+
+# Timeout for SDNC Rest Call (string value)
+#sdnc_rest_timeout = 30
+
+# Retry Numbers for SDNC Rest Call (string value)
+#sdnc_retries = 3
+
+[service_controller]
+
+#
+# From conductor
+#
+
+# Extensions list to use (list value)
+#extensions = sdnc
+
+
+[solver]
+
+#
+# From conductor
+#
+
+# Number of workers for solver service. Default value is 1. (integer value)
+# Minimum value: 1
+#workers = 1
+
+# The timeout value for solver service. Default value is 480 seconds. (integer
+# value)
+# Minimum value: 1
+#solver_timeout = 480
+
+# Set to True when solver will run in active-active mode. When set to False,
+# solver will restart any orphaned solving requests at startup. (boolean value)
+#concurrent = false
+concurrent = true
+
+# Timeout for detecting a VM is down, and other VMs can pick the plan up. This
+# value should be larger than solver_timeoutDefault value is 10 minutes.
+# (integer value) (integer value)
+# Minimum value: 1
+#timeout = 600
+
+# (integer value)
+# Minimum value: 1
+#max_solver_counter = 1
+
+
+[vim_controller]
+
+#
+# From conductor
+#
+
+# Extensions list to use (list value)
+#extensions = multicloud
+
+
+[sdc]
+
+#
+# From conductor
+#
+
+# Data Store table prefix. (string value)
+#table_prefix = sdc
+
+# Base URL for SDC, up to and not including the version, and without a
+# trailing slash. (string value)
+#server_url = https://controller:8443/sdc
+server_url = http://{{.Values.config.sdc.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.sdc.port}}/sdc
+
+# Timeout for SDC Rest Call (string value)
+#sdc_rest_timeout = 30
+
+# Number of retry for SDC Rest Call (string value)
+#sdc_retries = 3
+
+# The version of A&AI in v# format. (string value)
+server_url_version = v1
+
+# SSL/TLS certificate file in pem format. This certificate must be registered
+# with the SDC endpoint. (string value)
+#certificate_file = certificate.pem
+certificate_file =
+
+# Private Certificate Key file in pem format. (string value)
+#certificate_key_file = certificate_key.pem
+certificate_key_file =
+
+# Certificate Authority Bundle file in pem format. Must contain the appropriate
+# trust chain for the Certificate file. (string value)
+#certificate_authority_bundle_file = certificate_authority_bundle.pem
+certificate_authority_bundle_file =
+
+# Username for SDC. (string value)
+#username =
+
+# Password for SDC. (string value)
+#password =
+
+temp_path = "/tmp/nsttemplates"
+
+
+[cps]
+
+#
+# From conductor
+#
+
+# Data Store table prefix. (string value)
+#table_prefix = cps
+
+# Base URL for CPS, up to and not including the version, and without a
+# trailing slash. (string value)
+#yet to be finalized
+#server_url = https://cps.api.simpledemo.onap.org:8443/cps
+server_url=http://{{.Values.config.cps.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.cps.port}}/
+
+# Timeout for CPS Rest Call (string value)
+#cps_rest_timeout = 30
+
+# Number of retry for CPS Rest Call (string value)
+#cps_retries = 3
+
+
+# SSL/TLS certificate file in pem format. This certificate must be registered
+# with the CPS endpoint. (string value)
+#certificate_file = certificate.pem
+certificate_file =
+
+# Private Certificate Key file in pem format. (string value)
+#certificate_key_file = certificate_key.pem
+certificate_key_file =
+
+# Certificate Authority Bundle file in pem format. Must contain the appropriate
+# trust chain for the Certificate file. (string value)
+#certificate_authority_bundle_file = certificate_authority_bundle.pem
+certificate_authority_bundle_file =
+
+# Username for CPS. (string value)
+#username =
+
+# Password for CPS. (string value)
+#password =
+
+get_ta_list_url = "/api/v1/execute/ran-coverage-area/get_ta_list"
+
+[dcae]
+
+#
+# From conductor
+#
+#
+# Data Store table prefix. (string value)
+#table_prefix = dcae
+
+# Base URL for DCAE, up to and not including the version, and without a
+# trailing slash. (string value)
+server_url = http://{{.Values.config.dcae.serviceName}}.{{ include "common.namespace" . }}:{{.Values.config.dcae.port}}
+
+# Timeout for DCAE Rest Call (string value)
+#dcae_rest_timeout = 30
+
+# Number of retry for DCAE Rest Call (string value)
+#dcae_retries = 3
+
+# The version of A&AI in v# format. (string value)
+server_url_version = v1
+
+# SSL/TLS certificate file in pem format. This certificate must be registered
+# with the SDC endpoint. (string value)
+#certificate_file = certificate.pem
+certificate_file =
+
+# Private Certificate Key file in pem format. (string value)
+#certificate_key_file = certificate_key.pem
+certificate_key_file =
+
+# Certificate Authority Bundle file in pem format. Must contain the appropriate
+# trust chain for the Certificate file. (string value)
+#certificate_authority_bundle_file = certificate_authority_bundle.pem
+certificate_authority_bundle_file =
+
+# Username for DCAE. (string value)
+#username =
+
+# Password for DCAE. (string value)
+#password =
+
+get_slice_config_url = "/api/v1/slices-config"
diff --git a/archive/oof/components/oof-has/resources/config/healthy.sh b/archive/oof/components/oof-has/resources/config/healthy.sh
new file mode 100755
index 0000000000..5495e4271b
--- /dev/null
+++ b/archive/oof/components/oof-has/resources/config/healthy.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{/*
+# Controller is a process that reads from Music Q
+# It uses no ports (TCP or HTTP). The PROB will check
+# if the controller process exists or not. In case
+# it exists, it will send 0, else send 1 so k8s can i
+# restart the container
+*/}}
+
+pid="$(pgrep -f '/usr/local/bin/conductor')"
+if [ -z "$pid" ]
+then
+ echo 1
+else
+ echo 0
+fi
diff --git a/archive/oof/components/oof-has/resources/config/log.conf b/archive/oof/components/oof-has/resources/config/log.conf
new file mode 100755
index 0000000000..c9bf3fabc9
--- /dev/null
+++ b/archive/oof/components/oof-has/resources/config/log.conf
@@ -0,0 +1,82 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+[loggers]
+keys=root
+
+[handlers]
+keys=trfhand,consoleHandler,audithand,metrichand,errhand,debughand
+
+[logger_root]
+level=NOTSET
+handlers=trfhand,consoleHandler,audithand,metrichand,errhand,debughand
+
+[handler_consoleHandler]
+class=StreamHandler
+level=INFO
+formatter=generic
+args=(sys.stdout,)
+
+[handler_trfhand]
+class=handlers.TimedRotatingFileHandler
+level=NOTSET
+formatter=generic
+args=('/var/log/conductor/application.log','midnight', 1, 10)
+
+[handler_audithand]
+class=handlers.TimedRotatingFileHandler
+level=INFO
+formatter=audit
+args=('/var/log/conductor/audit.log', 'midnight', 1, 10)
+
+[handler_metrichand]
+class=handlers.TimedRotatingFileHandler
+level=INFO
+formatter=metric
+args=('/var/log/conductor/metric.log','midnight', 1, 10)
+
+[handler_errhand]
+class=handlers.TimedRotatingFileHandler
+level=ERROR
+formatter=error
+args=('/var/log/conductor/error.log','midnight', 1, 10)
+
+[handler_debughand]
+class=handlers.TimedRotatingFileHandler
+level=DEBUG
+formatter=generic
+args=('/var/log/conductor/debug.log','midnight', 1, 10)
+
+[formatters]
+keys=generic,audit,metric,error
+
+[formatter_audit]
+format=%(asctime)s|%(asctime)s|00000000-0000-0000-0000-000000000000||%(thread)d||Conductor|N/A|COMPLETE|200|sucessful||%(levelname)s|||0|%(module)s|||||||||%(name)s : [-] %(message)s
+datefmt=
+
+[formatter_metric]
+format=%(asctime)s|%(asctime)s|00000000-0000-0000-0000-000000000000||%(thread)d||Conductor|N/A|N/A|N/A|COMPLETE|200|sucessful||%(levelname)s|||0|%(module)s||||||||||%(name)s : [-] %(message)s
+datefmt=
+
+[formatter_error]
+format=%(asctime)s|00000000-0000-0000-0000-000000000000|%(thread)d|Conductor|N/A|N/A|N/A|ERROR|500|N/A|%(name)s : [-] %(message)s
+datefmt=
+
+[formatter_generic]
+format=%(asctime)s||%(thread)d|%(levelname)s|%(module)s|%(name)s: [-] %(message)s
+datefmt=
diff --git a/archive/oof/components/oof-has/resources/config/log/filebeat.yml b/archive/oof/components/oof-has/resources/config/log/filebeat.yml
new file mode 100755
index 0000000000..8b1e926e10
--- /dev/null
+++ b/archive/oof/components/oof-has/resources/config/log/filebeat.yml
@@ -0,0 +1,34 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
diff --git a/archive/oof/components/oof-has/resources/config/nginx.conf b/archive/oof/components/oof-has/resources/config/nginx.conf
new file mode 100644
index 0000000000..1c1094dacb
--- /dev/null
+++ b/archive/oof/components/oof-has/resources/config/nginx.conf
@@ -0,0 +1,27 @@
+events {
+ worker_connections 768;
+ # multi_accept on;
+}
+
+http {
+ # ...
+ upstream conductor_uwsgi {
+ server 127.0.0.1:8080;
+ }
+
+ server {
+
+ listen 8091;
+ server_name oof;
+
+ location / {
+ include /opt/bitnami/nginx/conf/uwsgi_params;
+ uwsgi_pass conductor_uwsgi;
+
+ uwsgi_param Host $host;
+ uwsgi_param X-Real-IP $remote_addr;
+ uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
+ uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto;
+ }
+ }
+}
diff --git a/archive/oof/components/oof-has/templates/configmap.yaml b/archive/oof/components/oof-has/templates/configmap.yaml
new file mode 100755
index 0000000000..35581366e6
--- /dev/null
+++ b/archive/oof/components/oof-has/templates/configmap.yaml
@@ -0,0 +1,29 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ .Values.global.commonConfigPrefix }}-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/archive/oof/components/oof-has/templates/secret.yaml b/archive/oof/components/oof-has/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/components/oof-has/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/components/oof-has/values.yaml b/archive/oof/components/oof-has/values.yaml
new file mode 100755
index 0000000000..33558c4567
--- /dev/null
+++ b/archive/oof/components/oof-has/values.yaml
@@ -0,0 +1,148 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+# Modifications Copyright © 2018 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ commonConfigPrefix: onap-oof-has
+ image:
+ optf_has: onap/optf-has:2.3.1
+ persistence:
+ enabled: true
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: oof-has-etcd-root-password
+ name: &root-password '{{ include "common.release" . }}-has-etcd-root-password'
+ type: password
+ password: '{{ .Values.config.etcd.rootPassword }}'
+ policy: generate
+ - uid: oof-has-etcd-secret
+ name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
+ login: '{{ .Values.config.etcd.appUser }}'
+ password: '{{ .Values.config.etcd.appPassword }}'
+ passwordPolicy: generate
+
+pullPolicy: Always
+nodePortPrefix: 302
+dataRootDir: /dockerdata-nfs
+config:
+ dbBackend: etcd
+ aai:
+ serviceName: aai
+ port: 80
+ msb:
+ serviceName: msb-iag
+ port: 80
+ sdc:
+ serviceName: sdc-be
+ port: 8080
+ cps:
+ serviceName: cps-tbdmt
+ port: 8080
+ dcae:
+ serviceName: dcae-slice-analysis-ms
+ port: 8080
+ etcd:
+ serviceName: &etcd-service oof-has-etcd
+ port: 2379
+ appUser: conductor
+# rootPassword:
+# appPassword:
+# userCredentialsExternalSecret:
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "2Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "4Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+#component overrides
+oof-has-api: &has-config
+ enabled: true
+ config:
+ etcd:
+ userCredentialsExternalSecret: *user-creds
+ configJobNameOverride: &job-name oof-has-etcd-config
+oof-has-controller: *has-config
+oof-has-data: *has-config
+oof-has-reservation: *has-config
+oof-has-solver: *has-config
+
+#etcd subchart configurations
+etcd:
+ enabled: true
+ replicaCount: 3
+ nameOverride: &etcd-container oof-has-etcd
+ service:
+ name: *etcd-service
+ persistence:
+ mountSubPath: oof/etcd/data
+ enabled: true
+ flavor: &etcd-flavor large
+ resources: &etcd-resources
+ small:
+ limits:
+ cpu: "100m"
+ memory: "300Mi"
+ requests:
+ cpu: "10m"
+ memory: "70Mi"
+ large:
+ limits:
+ cpu: "200m"
+ memory: "1Gi"
+ requests:
+ cpu: "50m"
+ memory: "300Mi"
+ unlimited: {}
+
+etcd-init:
+ enabled: true
+ nameOverride: *job-name
+ etcd:
+ serviceName: *etcd-service
+ port : 2379
+ containerName: *etcd-container
+ config:
+ userRootSecret: *root-password
+ userCredentialsExternalSecret: *user-creds
+ appRole: conductor
+ keyPrefix: conductor
+ flavor: *etcd-flavor
+ resources: *etcd-resources
+ serviceAccount:
+ nameOverride: *job-name
+
+# Python doesn't support well dollar sign in password
+passwordStrengthOverride: basic
diff --git a/archive/oof/components/oof-templates/Chart.yaml b/archive/oof/components/oof-templates/Chart.yaml
new file mode 100755
index 0000000000..946be1fd2d
--- /dev/null
+++ b/archive/oof/components/oof-templates/Chart.yaml
@@ -0,0 +1,27 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP OOF helm templates
+name: oof-templates
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+
diff --git a/archive/oof/components/oof-templates/templates/_secret.tpl b/archive/oof/components/oof-templates/templates/_secret.tpl
new file mode 100644
index 0000000000..0b04f7120b
--- /dev/null
+++ b/archive/oof/components/oof-templates/templates/_secret.tpl
@@ -0,0 +1,6 @@
+{{- define "oof.etcd.env" -}}
+- name: OS_ETCD_API__USERNAME
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "oof-has-etcd-secret" "key" "login") | indent 2 }}
+- name: OS_ETCD_API__PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "oof-has-etcd-secret" "key" "password") | indent 2 }}
+{{- end -}} \ No newline at end of file
diff --git a/archive/oof/components/oof-templates/values.yaml b/archive/oof/components/oof-templates/values.yaml
new file mode 100644
index 0000000000..a97238e9af
--- /dev/null
+++ b/archive/oof/components/oof-templates/values.yaml
@@ -0,0 +1,14 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
diff --git a/archive/oof/resources/config/conf/common_config.yaml b/archive/oof/resources/config/conf/common_config.yaml
new file mode 100644
index 0000000000..394bece9d9
--- /dev/null
+++ b/archive/oof/resources/config/conf/common_config.yaml
@@ -0,0 +1,175 @@
+osdf_system:
+ libpath: /opt/app/osdf/libs
+ osdf_ports:
+ internal: 8699 # inside the Docker container, the app listens to this port
+ external: 8698 # clients use this port on DockerHost
+ osdf_ip_default: 0.0.0.0
+
+osdf_temp: # special configuration required for "workarounds" or testing
+ local_policies:
+ global_disabled: True
+ local_placement_policies_enabled: True
+ local_slice_selection_policies_enabled: True
+ local_nst_selection_policies_enabled: True
+ placement_policy_dir_vcpe: "./test/policy-local-files/"
+ placement_policy_files_vcpe: # workaroud for policy platform glitches (or "work-arounds" for other components)
+ - Affinity_vCPE_1.json
+ - Attribute_vNS_1.json
+ #- Capacity_vGMuxInfra.json
+ #- Capacity_vG_1.json
+ - Distance_vG_1.json
+ - Distance_vGMuxInfra_1.json
+ - hpa_policy_vG_1.json
+ - hpa_policy_vGMuxInfra_1.json
+ - Placement_Optimization_1.json
+ - QueryPolicy_vCPE.json
+ - vnfPolicy_vG.json
+ - vnfPolicy_vGMuxInfra.json
+ placement_policy_dir_vfw: "./test/policy-local-files/"
+ placement_policy_files_vfw: # workaroud for policy platform glitches (or "work-arounds" for other components)
+ #- Capacity_vFW_1.json
+ - Distance_vFW_1.json
+ - hpa_policy_vFW_1.json
+ - Placement_Optimization_1.json
+ - QueryPolicy_vFW.json
+ - vnfPolicy_vFW.json
+ placement_policy_dir_vfw_td: "./test/policy-local-files/"
+ placement_policy_files_vfw_td:
+ - vnfPolicy_vFW_TD.json
+ - vnfPolicy_vPGN_TD.json
+ - affinity_vFW_TD.json
+ - QueryPolicy_vFW_TD.json
+ slice_selection_policy_dir_embb-nst: "./test/policy-local-files/slice-selection-files/"
+ slice_selection_policy_files_embb-nst:
+ - query_policy_nsi.json
+ - threshold_policy_nsi.json
+ - vnf_policy_nsi_shared_case.json
+ nst_selection_policy_dir_nst: "./test/policy-local-files/nst-selection-files/"
+ nst_selection_policy_files_nst:
+ - query_policy_nst.json
+ - attribute_policy_nst.json
+ - vnf_policy_nst.json
+ - optimization_policy_nst.json
+
+service_info:
+ vCPE:
+ vcpeHostName: requestParameters.vcpeHostName
+ e2eVpnKey: requestParameters.e2eVpnKey
+ vFW:
+ vcpeHostName: requestParameters.vcpeHostName
+ e2eVpnKey: requestParameters.e2eVpnKey
+
+references:
+ service_name:
+ source: request
+ value: serviceInfo.serviceName
+ resource:
+ source: request
+ value: placementInfo.placementDemands.resourceModuleName
+ subscriber_role:
+ source: onap.policies.optimization.SubscriberPolicy
+ value: properties.properties.subscriberRole
+ resource_sharing_level:
+ source: request
+ value: serviceProfile.resourceSharingLevel
+ slice_scope:
+ source: request
+ value: slice_scope
+ reuse_preference:
+ source: request
+ value: preferReuse
+
+policy_info:
+ prioritization_attributes:
+ policy_type:
+ - type
+ resources:
+ - properties.resources
+ - properties.objectiveParameter.parameterAttributes.resources
+ service_name:
+ - properties.services
+
+ slice_selection:
+ policy_fetch: by_scope
+ policy_scope:
+ -
+ scope:
+ - get_param: slice_scope
+ services:
+ - get_param: service_name
+ resources:
+ - get_param: service_name
+
+ nst_selection:
+ policy_fetch: by_scope
+ policy_scope:
+ -
+ scope:
+ - OSDF_GUILIN
+ services:
+ - nst
+ resources:
+ - nst
+
+ nsst_selection:
+ policy_fetch: by_scope
+ policy_scope:
+ -
+ scope:
+ - OSDF_GUILIN
+ services:
+ - nsst
+ resources:
+ - nsst
+
+ subnet_selection:
+ policy_fetch: by_scope
+ policy_scope:
+ - scope:
+ - OSDF_GUILIN
+ services:
+ - get_param: service_name
+ resources:
+ - get_param: service_name
+
+ placement:
+ policy_fetch: by_scope
+ policy_scope:
+ -
+ scope:
+ - OSDF_FRANKFURT
+ geography:
+ - US
+ services:
+ - get_param: service_name
+ resources:
+ - get_param: resource
+ # -
+ # - get_param: service_name
+ # - get_param: subscriber_role
+ default: # if no explicit service related information is needed
+ policy_fetch: by_name
+ policy_scope: none
+
+PCI:
+ ML:
+ average_ho_threshold: 10000
+ latest_ho_threshold: 500
+ DES:
+ service_id: ho_metric
+ filter:
+ interval: 10
+ ml_enabled: false
+
+nxi_termination:
+ query_templates:
+ nsi: "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}') > service-instance*('service-role','e2eserviceprofile-service')"
+ nsi_with_profile: "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}') > service-instance*('service-role','e2eserviceprofile-service')('service-instance-id','{{ printf "{{profile_id}}" }}')"
+ nssi:
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'CN') > service-instance*('service-role','nsi')"
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'TN_BH') > service-instance*('service-role','nsi')"
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'AN') > service-instance*('service-role','nsi')"
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'AN_NF') > service-instance*('workload-context','AN')"
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'TN_MH') > service-instance*('workload-context','AN')"
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'TN_FH') > service-instance*('workload-context','AN')"
+ - "service-instance*('service-instance-id','{{ printf "{{instance_id}}" }}')('workload-context', 'AN_NF') > service-instance*('workload-context','AN')"
diff --git a/archive/oof/resources/config/conf/log.yml b/archive/oof/resources/config/conf/log.yml
new file mode 100644
index 0000000000..3966ea28c0
--- /dev/null
+++ b/archive/oof/resources/config/conf/log.yml
@@ -0,0 +1,101 @@
+version: 1
+disable_existing_loggers: True
+
+loggers:
+ error:
+ handlers: [error_handler, console_handler]
+ level: "WARN"
+ propagate: True
+ debug:
+ handlers: [debug_handler, console_handler]
+ level: "DEBUG"
+ propagate: True
+ metrics:
+ handlers: [metrics_handler, console_handler]
+ level: "INFO"
+ propagate: True
+ audit:
+ handlers: [audit_handler, console_handler]
+ level: "INFO"
+ propagate: True
+handlers:
+ debug_handler:
+ level: "DEBUG"
+ class: "logging.handlers.TimedRotatingFileHandler"
+ filename: "logs/debug.log"
+ formatter: "debugFormat"
+ when: midnight
+ interval: 1
+ utc: True
+ delay: False
+ backupCount: 10
+ error_handler:
+ level: "WARN"
+ class: "logging.handlers.TimedRotatingFileHandler"
+ filename: "logs/error.log"
+ formatter: "errorFormat"
+ when: midnight
+ interval: 1
+ utc: True
+ delay: False
+ backupCount: 10
+ metrics_handler:
+ level: "INFO"
+ class: "logging.handlers.TimedRotatingFileHandler"
+ filename: "logs/metrics.log"
+ formatter: "metricsFormat"
+ when: midnight
+ interval: 1
+ utc: True
+ delay: False
+ backupCount: 10
+ audit_handler:
+ level: "INFO"
+ class: "logging.handlers.TimedRotatingFileHandler"
+ filename: "logs/audit.log"
+ formatter: "auditFormat"
+ when: midnight
+ interval: 1
+ utc: True
+ delay: False
+ backupCount: 10
+ console_handler:
+ level: "DEBUG"
+ class: "logging.StreamHandler"
+ formatter: "metricsFormat"
+
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
+ debugFormat:
+ format: "%(mdc)s"
+ datefmt: "%Y-%m-%dT%H:%M:%S"
+ mdcfmt: "%(asctime)s.%(msecs)03d+00:00|{requestID}|%(threadName)s|{server}|%(levelname)s|%(message)s"
+ (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter
+ errorFormat:
+ format: "%(mdc)s"
+ datefmt: "%Y-%m-%dT%H:%M:%S"
+ mdcfmt: "%(asctime)s.%(msecs)03d+00:00|{requestID}|%(threadName)s|{serviceName}|{partnerName}\
+ |{targetEntity}|{targetServiceName}|%(levelname)s|{errorCode}|{errorDescription}|%(message)s"
+ (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter
+ auditFormat:
+ format: "%(mdc)s"
+ datefmt: "%Y-%m-%dT%H:%M:%S"
+ mdcfmt: "{entryTimestamp}+00:00|%(asctime)s.%(msecs)03d+00:00|{requestID}|{serviceInstanceID}\
+ |%(threadName)s|{server}|{serviceName}|{partnerName}|{statusCode}|{responseCode}|{responseDescription}\
+ |{instanceUUID}|%(levelname)s|{severity}|{serverIPAddress}|{timer}|{server}|{IPAddress}||{unused}\
+ |{processKey}|{customField1}|{customField2}|{customField3}|{customField4}|%(message)s"
+ (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter
+ metricsFormat:
+ format: "%(mdc)s"
+ datefmt: "%Y-%m-%dT%H:%M:%S"
+ mdcfmt: "{entryTimestamp}+00:00|%(asctime)s.%(msecs)03d+00:00|{requestID}|{serviceInstanceID}\
+ |%(threadName)s|{server}|{serviceName}|{partnerName}|{targetEntity}|{targetServiceName}|{statusCode}|{responseCode}|{responseDescription}\
+ |{instanceUUID}|%(levelname)s|{severity}|{serverIPAddress}|{timer}|{server}|{IPAddress}||{unused}\
+ |{processKey}|{TargetVirtualEntity}|{customField1}|{customField2}|{customField3}|{customField4}|%(message)s"
+ (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter
+ mdcFormat:
+ format: "%(asctime)s.%(msecs)03d+00:00|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serverIPAddress}"
+ (): osdf.logging.oof_mdc_formatter.OOFMDCFormatter
+
diff --git a/archive/oof/resources/config/conf/osdf_config.yaml b/archive/oof/resources/config/conf/osdf_config.yaml
new file mode 100755
index 0000000000..818d4f340a
--- /dev/null
+++ b/archive/oof/resources/config/conf/osdf_config.yaml
@@ -0,0 +1,76 @@
+placementVersioningEnabled: {{ .Values.config.placementVersioningEnabled }}
+
+# Placement API latest version numbers to be set in HTTP header
+placementMajorVersion: {{ .Values.config.placementMajorVersion }}
+placementMinorVersion: {{ .Values.config.placementMinorVersion }}
+placementPatchVersion: {{ .Values.config.placementPatchVersion }}
+
+# Placement API default version numbers to be set in HTTP header
+placementDefaultMajorVersion: {{ .Values.config.placementDefaultMajorVersion }}
+placementDefaultMinorVersion: {{ .Values.config.placementDefaultMinorVersion }}
+placementDefaultPatchVersion: {{ .Values.config.placementDefaultPatchVersion }}
+
+# Credentials for Conductor
+conductorUrl: {{ .Values.config.conductorUrl.http }}
+conductorPingWaitTime: {{ .Values.config.conductorPingWaitTime }}
+conductorMaxRetries: {{ .Values.config.conductorMaxRetries }}
+# versions to be set in HTTP header
+conductorMinorVersion: {{ .Values.config.conductorMinorVersion }}
+
+# Policy Platform -- requires ClientAuth, Authorization, and Environment
+policyPlatformUrl: {{ .Values.config.policyPlatformUrl.http }}
+policyPlatformEnv: {{ .Values.config.policyPlatformEnv }}
+
+# Credentials for DMaaP
+messageReaderHosts: {{ .Values.config.messageReaderHosts }}
+messageReaderTopic: {{ .Values.config.messageReaderTopic }}
+
+# Credentials for SDC
+sdcUrl: {{ .Values.config.sdcUrl }}
+sdcONAPInstanceID: {{ .Values.config.sdcONAPInstanceID }}
+
+is_aaf_enabled: False
+aaf_cache_expiry_mins: 5
+aaf_url:
+aaf_user_roles:
+
+# Secret Management Service from AAF
+aaf_sms_url:
+aaf_sms_timeout: 30
+secret_domain: ''
+aaf_ca_certs: ''
+
+configClientType: {{ .Values.config.configClientType }}
+
+# config db api
+configDbUrl: {{ .Values.config.configDbUrl }}
+configDbGetCellListUrl: {{ .Values.config.configDbGetCellListUrl }}
+configDbGetNbrListUrl: {{ .Values.config.configDbGetNbrListUrl }}
+
+# cps api
+cpsUrl: {{ .Values.config.cps.Url }}
+cpsCellListUrl: {{ .Values.config.cps.cellListUrl }}
+cpsNbrListUrl: {{ .Values.config.cps.nbrListUrl }}
+
+# AAI api
+aaiUrl: {{ .Values.config.aaiUrl.http }}
+aaiGetLinksUrl: {{ .Values.config.aaiGetLinksUrl }}
+aaiServiceInstanceUrl : {{ .Values.config.aaiServiceInstanceUrl }}
+aaiGetControllersUrl: {{ .Values.config.aaiGetControllersUrl }}
+controllerQueryUrl: {{ .Values.config.controllerQueryUrl }}
+aaiGetInterDomainLinksUrl: {{ .Values.config.aaiGetInterDomainLinksUrl }}
+dslQueryPath: /aai/v23/dsl?format=
+
+#DES api
+desUrl: {{ .Values.config.desUrl.http }}
+desApiPath: {{ .Values.config.desApiPath }}
+desHeaders:
+ Accept: application/json
+ Content-Type: application/json
+desUsername: {{ .Values.config.desUsername }}
+desPassword: {{ .Values.config.desPassword }}
+
+#key
+appkey: ''
+
+activateConsulConfig: False
diff --git a/archive/oof/resources/config/conf/slicing_config.yaml b/archive/oof/resources/config/conf/slicing_config.yaml
new file mode 100644
index 0000000000..97ed73d524
--- /dev/null
+++ b/archive/oof/resources/config/conf/slicing_config.yaml
@@ -0,0 +1,98 @@
+app_info:
+ NSI:
+ app_name: slice_selection
+ requirements_field: serviceProfile
+ model_info: NSTInfo
+ NSSI:
+ app_name: subnet_selection
+ requirements_field: sliceProfile
+ model_info: NSSTInfo
+
+attribute_mapping:
+ camel_to_snake:
+ maxBandwidth: max_bandwidth
+ jitter: jitter
+ sST: sst
+ latency: latency
+ resourceSharingLevel: resource_sharing_level
+ uEMobilityLevel: ue_mobility_level
+ maxNumberofUEs: max_number_of_ues
+ dLThptPerUE: dl_thpt_per_ue
+ uLThptPerUE: ul_thpt_per_ue
+ sNSSAI: s_nssai
+ pLMNIdList: plmn_id_list
+ plmnIdList: plmn_id_List
+ activityFactor: activity_factor
+ coverageAreaTAList: coverage_area_ta_list
+ availability: availability
+ cSAvailabilityTarget: cs_availability_target
+ reliability: reliability
+ cSReliabilityMeanTime: cs_reliability_mean_time
+ dLThptPerSlice: dl_thpt_per_slice
+ expDataRateDL: exp_data_rate_dl
+ uLThptPerSlice: ul_thpt_per_slice
+ expDataRateUL: exp_data_rate_ul
+ maxPktSize: max_pkt_size
+ msgSizeByte: msg_size_byte
+ maxNumberofConns: max_number_of_conns
+ maxNumberofPDUSession: max_number_of_pdu_session
+ termDensity: terminal_density
+ survivalTime: survival_time
+ areaTrafficCapDL: area_traffic_cap_dl
+ areaTrafficCapUL: area_traffic_cap_ul
+ overallUserDensity: overall_user_density
+ transferIntervalTarget: transfer_interval_target
+ expDataRate: exp_data_rate
+ security: security
+ maxThroughput: max_throughput
+ sliceProfileId: slice_profile_id
+ snssaiList: s_nssai_list
+ domainType: domain_type
+ logicInterfaceId: logical_interface_id
+ ipAddress: ip_address
+ nextHopInfo: next_hop_info
+ perfReq: perf_req
+
+ snake_to_camel:
+ max_bandwidth: maxBandwidth
+ jitter: jitter
+ sst: sST
+ latency: latency
+ resource_sharing_level: resourceSharingLevel
+ ue_mobility_level: uEMobilityLevel
+ max_number_of_ues: maxNumberofUEs
+ dl_thpt_per_ue: dLThptPerUE
+ ul_thpt_per_ue: uLThptPerUE
+ s_nssai: sNSSAI
+ plmn_id_list: pLMNIdList
+ plmn_id_List: plmnIdList
+ activity_factor: activityFactor
+ coverage_area_ta_list: coverageAreaTAList
+ availability: availability
+ cs_availability_target: cSAvailabilityTarget
+ reliability: reliability
+ cs_reliability_mean_time: cSReliabilityMeanTime
+ dl_thpt_per_slice: dLThptPerSlice
+ exp_data_rate_dl: expDataRateDL
+ ul_thpt_per_slice: uLThptPerSlice
+ exp_data_rate_ul: expDataRateUL
+ max_pkt_size: maxPktSize
+ msg_size_byte: msgSizeByte
+ max_number_of_conns: maxNumberofConns
+ max_number_of_pdu_session: maxNumberofPDUSession
+ terminal_density: termDensity
+ survival_time: survivalTime
+ area_traffic_cap_dl: areaTrafficCapDL
+ area_traffic_cap_ul: areaTrafficCapUL
+ overall_user_density: overallUserDensity
+ transfer_interval_target: transferIntervalTarget
+ exp_data_rate: expDataRate
+ security: security
+ max_throughput: maxThroughput
+ slice_profile_id: sliceProfileId
+ s_nssai_list: snssaiList
+ domain_type: domainType
+ logical_interface_id: logicInterfaceId
+ ip_address: ipAddress
+ next_hop_info: nextHopInfo
+ perf_req: perfReq
diff --git a/archive/oof/templates/NOTES.txt b/archive/oof/templates/NOTES.txt
new file mode 100644
index 0000000000..acb7dd94b3
--- /dev/null
+++ b/archive/oof/templates/NOTES.txt
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/oof/templates/configmap.yaml b/archive/oof/templates/configmap.yaml
new file mode 100644
index 0000000000..59920a63bd
--- /dev/null
+++ b/archive/oof/templates/configmap.yaml
@@ -0,0 +1,29 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
diff --git a/archive/oof/templates/deployment.yaml b/archive/oof/templates/deployment.yaml
new file mode 100644
index 0000000000..5eb0fc0c6a
--- /dev/null
+++ b/archive/oof/templates/deployment.yaml
@@ -0,0 +1,94 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /bin/sh
+ args:
+ - "-c"
+ - |
+ python osdfapp.py
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: http
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ volumeMounts:
+ - mountPath: /opt/osdf/config/osdf_config.yaml
+ name: {{ include "common.fullname" . }}-config
+ subPath: osdf_config.yaml
+ - mountPath: /opt/osdf/config/common_config.yaml
+ name: {{ include "common.fullname" . }}-config
+ subPath: common_config.yaml
+ - mountPath: /opt/osdf/config/log.yml
+ name: {{ include "common.fullname" . }}-config
+ subPath: log.yml
+ - mountPath: /opt/osdf/config/slicing_config.yaml
+ name: {{ include "common.fullname" . }}-config
+ subPath: slicing_config.yaml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}-configmap
+ items:
+ - key: osdf_config.yaml
+ path: osdf_config.yaml
+ - key: common_config.yaml
+ path: common_config.yaml
+ - key: log.yml
+ path: log.yml
+ - key: slicing_config.yaml
+ path: slicing_config.yaml
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/oof/templates/ingress.yaml b/archive/oof/templates/ingress.yaml
new file mode 100644
index 0000000000..99c7f87970
--- /dev/null
+++ b/archive/oof/templates/ingress.yaml
@@ -0,0 +1,19 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+# Modifications Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/oof/templates/secret.yaml b/archive/oof/templates/secret.yaml
new file mode 100644
index 0000000000..c5fe2be5da
--- /dev/null
+++ b/archive/oof/templates/secret.yaml
@@ -0,0 +1,15 @@
+# Copyright (C) 2020 Wipro Limited.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+{{ include "common.secretFast" . }}
diff --git a/archive/oof/templates/service.yaml b/archive/oof/templates/service.yaml
new file mode 100644
index 0000000000..418f89ac93
--- /dev/null
+++ b/archive/oof/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T,VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/oof/values.yaml b/archive/oof/values.yaml
new file mode 100644
index 0000000000..738df14015
--- /dev/null
+++ b/archive/oof/values.yaml
@@ -0,0 +1,157 @@
+# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/optf-osdf:3.0.8
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ msbgateway: msb-iag
+ msbPort: 80
+ placementVersioningEnabled: True
+ # Placement API latest version numbers to be set in HTTP header
+ placementMajorVersion: "1"
+ placementMinorVersion: "0"
+ placementPatchVersion: "0"
+ # Placement API default version numbers to be set in HTTP header
+ placementDefaultMajorVersion: "1"
+ placementDefaultMinorVersion: "0"
+ placementDefaultPatchVersion: "0"
+
+ # Url and credentials for Conductor.
+ conductorUrl:
+ http: http://oof-has-api:8091/v1/plans/
+ conductorPingWaitTime: 10
+ conductorMaxRetries: 30
+ # versions to be set in HTTP header
+ conductorMinorVersion: 0
+ # Url and credentials for the Policy Platform
+ policyPlatformUrl:
+ http: http://policy-xacml-pdp:8080/policy/pdpx/v1/decision
+ policyPlatformEnv: TEST # Environment for policy platform
+ # Credentials for the message reader - A placeholder.
+ messageReaderHosts: NA
+ messageReaderTopic: NA
+ # Credentials for the SDC interface - A placeholder.
+ sdcUrl: NA
+ sdcONAPInstanceID: NA
+
+ configClientType: cps
+
+ # config db api
+ configDbUrl: http://configdb:8080
+ configDbGetCellListUrl: 'api/sdnc-config-db/v3/getCellList'
+ configDbGetNbrListUrl: 'api/sdnc-config-db/v3/getNbrList'
+
+ # cps api
+ cps:
+ url: cps-tbdmt:8080/execute
+ cellListUrl: 'ran-network/getCellList'
+ nbrListUrl: 'ran-network/getNbrList'
+
+ #aai api
+ aaiUrl:
+ http: http://aai:80
+ aaiGetLinksUrl: /aai/v16/network/logical-links
+ aaiServiceInstanceUrl : /aai/v20/nodes/service-instances/service-instance/
+ aaiGetControllersUrl: /aai/v19/external-system/esr-thirdparty-sdnc-list
+ controllerQueryUrl: /aai/v19/query?format=resource
+ aaiGetInterDomainLinksUrl: /aai/v19/network/logical-links?link-type=inter-domain&operational-status=up
+ #des api
+ desUrl:
+ http: http://des.url:8080
+ desApiPath: /datalake/v1/exposure/
+ desUsername: ''
+ desPassword: ''
+# default number of instances
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+
+ unlimited: {}
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+service:
+ type: NodePort
+ name: oof-osdf
+ internalPort: 8699
+ ports:
+ - name: http
+ port: 8698
+ nodePort: '48'
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "oof-osdf-api"
+ name: "oof-osdf"
+ port: 8698
+ config:
+ ssl: "redirect"
+
+#component overrides
+
+oof-has:
+ enabled: true
+
+readinessCheck:
+ wait_for:
+ services:
+ - policy-xacml-pdp
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: oof
+ roles:
+ - read
diff --git a/archive/sdnc/components/dmaap-listener/Chart.yaml b/archive/sdnc/components/dmaap-listener/Chart.yaml
new file mode 100644
index 0000000000..41c018ebc3
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/Chart.yaml
@@ -0,0 +1,30 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: SDNC DMaaP Listener
+name: dmaap-listener
+version: 14.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: serviceAccount
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/aai.properties b/archive/sdnc/components/dmaap-listener/resources/config/aai.properties
new file mode 100644
index 0000000000..6a4ca4ca16
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/aai.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName =dmaap-v1.dev.dmaap.dt.saat.acsi.openecomp.org/events
+Environment =TEST
+Partner = BOT_R
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =admin
+password =admin
+contenttype =application/json
+authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
+authDate=2016-02-18T13:57:37-0800
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=AAI-EVENT
+group=jmsgrp
+id=sdnc2
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations \ No newline at end of file
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/dblib.properties b/archive/sdnc/components/dmaap-listener/resources/config/dblib.properties
new file mode 100644
index 0000000000..846abc2381
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/dblib.properties
@@ -0,0 +1,33 @@
+{{/*
+###
+# ============LICENSE_START=======================================================
+# Copyright (C) 2018 ONAP Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+*/}}
+org.onap.ccsdk.sli.dbtype=jdbc
+org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{include "common.mariadbService" $}}:{{include "common.mariadbPort" $}}/{{index $.Values "mariadb-galera" "config" "mysqlDatabase"}}
+org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
+org.onap.ccsdk.sli.jdbc.database={{index $.Values "mariadb-galera" "config" "mysqlDatabase"}}
+org.onap.ccsdk.sli.jdbc.user=${SDNC_DB_USER}
+org.onap.ccsdk.sli.jdbc.password=${SDNC_DB_PASSWORD}
+org.onap.ccsdk.sli.jdbc.connection.name=sdnctldb01
+org.onap.ccsdk.sli.jdbc.connection.timeout=50
+org.onap.ccsdk.sli.jdbc.request.timeout=100
+org.onap.ccsdk.sli.jdbc.limit.init=10
+org.onap.ccsdk.sli.jdbc.limit.min=10
+org.onap.ccsdk.sli.jdbc.limit.max=20
+org.onap.dblib.connection.recovery=false
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/dhcpalert.properties b/archive/sdnc/components/dmaap-listener/resources/config/dhcpalert.properties
new file mode 100644
index 0000000000..d2b55fb131
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/dhcpalert.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName =message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events
+Environment =TEST
+Partner = BOT_R
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =admin
+password =admin
+contenttype =application/json
+authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
+authDate=2016-02-18T13:57:37-0800
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=VCPE-DHCP-EVENT
+group=jmsgrp
+id=sdnc1
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-CMNotify.properties b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-CMNotify.properties
new file mode 100644
index 0000000000..6d5afef190
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-CMNotify.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPNOAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events
+Environment =TEST
+Partner =
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =UNUSED
+password =UNUSED
+contenttype =application/json
+authKey=UNUSED
+authDate=UNUSED
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=CM-NOTIFICATION
+group=users
+id=sdnc1
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-RANSlice.properties b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-RANSlice.properties
new file mode 100644
index 0000000000..f114a9c65b
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-RANSlice.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPNOAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events
+Environment =TEST
+Partner =
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =UNUSED
+password =UNUSED
+contenttype =application/json
+authKey=UNUSED
+authDate=UNUSED
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=RAN-Slice-Mgmt
+group=users
+id=sdnc1
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-a1Adapter-policy.properties b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-a1Adapter-policy.properties
new file mode 100644
index 0000000000..fcb56e08c3
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-a1Adapter-policy.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPNOAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events
+Environment =TEST
+Partner =
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =UNUSED
+password =UNUSED
+contenttype =application/json
+authKey=UNUSED
+authDate=UNUSED
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=A1-P
+group=users
+id=sdnc1
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-oofpcipoc.properties b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-oofpcipoc.properties
new file mode 100644
index 0000000000..a03871d428
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/dmaap-consumer-oofpcipoc.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPNOAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events
+Environment =TEST
+Partner =
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =UNUSED
+password =UNUSED
+contenttype =application/json
+authKey=UNUSED
+authDate=UNUSED
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=SDNR-CL
+group=users
+id=sdnc1
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
diff --git a/archive/sdnc/components/dmaap-listener/resources/config/lcm.properties b/archive/sdnc/components/dmaap-listener/resources/config/lcm.properties
new file mode 100644
index 0000000000..15f32c4248
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/resources/config/lcm.properties
@@ -0,0 +1,35 @@
+TransportType=HTTPAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName =message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events
+Environment =TEST
+Partner = BOT_R
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =admin
+password =admin
+contenttype =application/json
+authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
+authDate=2016-02-18T13:57:37-0800
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=SDNC-LCM-READ
+group=jmsgrp
+id=sdnc2
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=${ODL_USER}
+sdnc.odl.password=${ODL_PASSWORD}
+sdnc.odl.url-base=http://sdnc-oam.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations \ No newline at end of file
diff --git a/archive/sdnc/components/dmaap-listener/templates/authorizationpolicy.yaml b/archive/sdnc/components/dmaap-listener/templates/authorizationpolicy.yaml
new file mode 100644
index 0000000000..7158c0263f
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/templates/authorizationpolicy.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.authorizationPolicy" . }} \ No newline at end of file
diff --git a/archive/sdnc/components/dmaap-listener/templates/configmap.yaml b/archive/sdnc/components/dmaap-listener/templates/configmap.yaml
new file mode 100644
index 0000000000..c41c3ef0d6
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/templates/configmap.yaml
@@ -0,0 +1,28 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/archive/sdnc/components/dmaap-listener/templates/deployment.yaml b/archive/sdnc/components/dmaap-listener/templates/deployment.yaml
new file mode 100644
index 0000000000..110001a6a6
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/templates/deployment.yaml
@@ -0,0 +1,130 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ - command:
+ - sh
+ args:
+ - -c
+ - "cd /config-input && for PFILE in `ls -1 .`; do envsubst <${PFILE} >/config/${PFILE}; done"
+ env:
+ - name: SDNC_DB_USER
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
+ - name: SDNC_DB_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 10 }}
+ - name: ODL_USER
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "odl-creds" "key" "login") | indent 10 }}
+ - name: ODL_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "odl-creds" "key" "password") | indent 10 }}
+ volumeMounts:
+ - mountPath: /config-input
+ name: config-input
+ - mountPath: /config
+ name: properties
+ image: {{ include "repositoryGenerator.image.envsubst" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-update-config
+
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - {{ include "common.mariadbService" . }}
+ - --service-name
+ - {{ .Values.config.sdncChartName }}
+ - --service-name
+ - {{ .Values.config.msgRouterContainerName }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - command:
+ - /opt/onap/sdnc/dmaap-listener/bin/start-dmaap-listener.sh
+ name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: PROPERTY_DIR
+ value: "{{ .Values.config.configDir }}"
+ - name: SDNC_CONFIG_DIR
+ value: "{{ .Values.config.configDir }}"
+ - name: LOG4J_FORMAT_MSG_NO_LOOKUPS
+ value: "true"
+ volumeMounts:
+ - mountPath: {{ .Values.config.configDir }}/dblib.properties
+ name: properties
+ subPath: dblib.properties
+ - mountPath: {{ .Values.config.configDir }}/dhcpalert.properties
+ name: properties
+ subPath: dhcpalert.properties
+ - mountPath: {{ .Values.config.configDir }}/lcm.properties
+ name: properties
+ subPath: lcm.properties
+ - mountPath: {{ .Values.config.configDir }}/aai.properties
+ name: properties
+ subPath: aai.properties
+ - mountPath: {{ .Values.config.configDir }}/dmaap-consumer-CMNotify.properties
+ name: properties
+ subPath: dmaap-consumer-CMNotify.properties
+ - mountPath: {{ .Values.config.configDir }}/dmaap-consumer-a1Adapter-policy.properties
+ name: properties
+ subPath: dmaap-consumer-a1Adapter-policy.properties
+ - mountPath: {{ .Values.config.configDir }}/dmaap-consumer-oofpcipoc.properties
+ name: properties
+ subPath: dmaap-consumer-oofpcipoc.properties
+ - mountPath: {{ .Values.config.configDir }}/dmaap-consumer-RANSlice.properties
+ name: properties
+ subPath: dmaap-consumer-RANSlice.properties
+ resources: {{ include "common.resources" . | nindent 10 }}
+ ports: {{ include "common.containerPorts" . | nindent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
+ {{- end }}
+ {{- if .Values.affinity }}
+ affinity: {{ toYaml .Values.affinity | nindent 8 }}
+ {{- end }}
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
+ volumes:
+ - name: config-input
+ configMap:
+ name: {{ include "common.fullname" . }}
+ defaultMode: 0644
+ - name: properties
+ emptyDir:
+ medium: Memory
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/sdnc/components/dmaap-listener/templates/secret.yaml b/archive/sdnc/components/dmaap-listener/templates/secret.yaml
new file mode 100644
index 0000000000..34932b713d
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/templates/secret.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/sdnc/components/dmaap-listener/templates/service.yaml b/archive/sdnc/components/dmaap-listener/templates/service.yaml
new file mode 100644
index 0000000000..77b0d878c1
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/templates/service.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/sdnc/components/dmaap-listener/values.yaml b/archive/sdnc/components/dmaap-listener/values.yaml
new file mode 100644
index 0000000000..f6363c6903
--- /dev/null
+++ b/archive/sdnc/components/dmaap-listener/values.yaml
@@ -0,0 +1,150 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ #This flag allows SO to instantiate its own mariadb-galera cluster
+ #If shared instance is used, this chart assumes that DB already exists
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: db-secret
+ name: &dbSecretName '{{ include "common.release" . }}-sdnc-dmaap-listener-db-secret'
+ type: basicAuth
+ # This is a nasty trick that allows you override this secret using external one
+ # with the same field that is used to pass this to subchart
+ externalSecret: '{{ ternary "" (tpl (default "" (index .Values "mariadb-galera" "config" "userCredentialsExternalSecret")) .) (hasSuffix "sdnc-dmaap-listener-db-secret" (index .Values "mariadb-galera" "config" "userCredentialsExternalSecret"))}}'
+ login: '{{ index .Values "mariadb-galera" "config" "userName" }}'
+ password: '{{ index .Values "mariadb-galera" "config" "userPassword" }}'
+ passwordPolicy: required
+ - uid: odl-creds
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.odlCredsExternalSecret) . }}'
+ login: '{{ .Values.config.odlUser }}'
+ password: '{{ .Values.config.odlPassword }}'
+ passwordPolicy: required
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/sdnc-dmaap-listener-image:2.6.1
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ dmaapPort: 3904
+ sdncChartName: sdnc
+ sdncPort: 8282
+ msgRouterContainerName: message-router
+ configDir: /opt/onap/sdnc/data/properties
+ odlUser: admin
+ odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+ # odlCredsExternalSecret: some secret
+
+mariadb-galera:
+ config:
+ userCredentialsExternalSecret: *dbSecretName
+ userName: sdnctl
+ userPassword: gamma
+ mysqlDatabase: sdnctl
+ nameOverride: dmaap-listener-galera
+ service:
+ name: dmaap-listener-galera
+ portName: dmaap-listener-galera
+ internalPort: 3306
+ replicaCount: 1
+ persistence:
+ enabled: true
+ mountSubPath: dmaap-listener/maria/data
+ mariadbOperator:
+ galera:
+ enabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+ingress:
+ enabled: false
+
+service:
+ type: ClusterIP
+ name: sdnc-dmaap-listener
+ internalPort: 80
+ ports:
+ - name: http
+ port: 80
+
+serviceMesh:
+ authorizationPolicy:
+ authorizedPrincipals:
+ - serviceAccount: message-router-read
+
+#Resource limit flavor -By default using small
+flavor: small
+#Segregation for different environment (small and large)
+
+resources:
+ small:
+ limits:
+ cpu: "1"
+ memory: "1Gi"
+ requests:
+ cpu: "0.5"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "2"
+ memory: "2Gi"
+ requests:
+ cpu: "1"
+ memory: "2Gi"
+ unlimited: {}
+
+#Pods Service Account
+serviceAccount:
+ nameOverride: sdnc-dmaap-listener
+ roles:
+ - read
diff --git a/archive/vfc/.helmignore b/archive/vfc/.helmignore
new file mode 100644
index 0000000000..7ddbad7ef4
--- /dev/null
+++ b/archive/vfc/.helmignore
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+components/
diff --git a/archive/vfc/Chart.yaml b/archive/vfc/Chart.yaml
new file mode 100644
index 0000000000..0965d00905
--- /dev/null
+++ b/archive/vfc/Chart.yaml
@@ -0,0 +1,64 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP Virtual Function Controller (VF-C)
+name: vfc
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: mariadb-galera
+ version: ~13.x-0
+ repository: '@local'
+ condition: global.mariadbGalera.localCluster
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: vfc-generic-vnfm-driver
+ version: ~13.x-0
+ repository: 'file://components/vfc-generic-vnfm-driver'
+ condition: vfc-generic-vnfm-driver.enabled
+ - name: vfc-huawei-vnfm-driver
+ version: ~13.x-0
+ repository: 'file://components/vfc-huawei-vnfm-driver'
+ condition: vfc-huawei-vnfm-driver.enabled
+ - name: vfc-nslcm
+ version: ~13.x-0
+ repository: 'file://components/vfc-nslcm'
+ condition: vfc-nslcm.enabled
+ - name: vfc-redis
+ version: ~13.x-0
+ repository: 'file://components/vfc-redis'
+ condition: vfc-redis.enabled
+ - name: vfc-vnflcm
+ version: ~13.x-0
+ repository: 'file://components/vfc-vnflcm'
+ condition: vfc-vnflcm.enabled
+ - name: vfc-vnfmgr
+ version: ~13.x-0
+ repository: 'file://components/vfc-vnfmgr'
+ condition: vfc-vnfmgr.enabled
+ - name: vfc-vnfres
+ version: ~13.x-0
+ repository: 'file://components/vfc-vnfres'
+ condition: vfc-vnfres.enabled
+ - name: vfc-zte-vnfm-driver
+ version: ~13.x-0
+ repository: 'file://components/vfc-zte-vnfm-driver'
+ condition: vfc-zte-vnfm-driver.enabled
diff --git a/archive/vfc/Makefile b/archive/vfc/Makefile
new file mode 100644
index 0000000000..08ed7cb9da
--- /dev/null
+++ b/archive/vfc/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/vfc/components/Makefile b/archive/vfc/components/Makefile
new file mode 100644
index 0000000000..9544d70f33
--- /dev/null
+++ b/archive/vfc/components/Makefile
@@ -0,0 +1,58 @@
+# Copyright © 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+ifneq ($(SKIP_LINT),TRUE)
+ HELM_LINT_CMD := $(HELM_BIN) lint
+else
+ HELM_LINT_CMD := echo "Skipping linting of"
+endif
+
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
+
+make-%:
+ @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+ @if [ -f $*/Chart.yaml ]; then $(HELM_LINT_CMD) $*; fi
+
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) cm-push -f $$PACKAGE_NAME local; fi
+ @sleep 3
+ #@$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+ @rm -f */Chart.lock
+ @rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
+%:
+ @:
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/.helmignore b/archive/vfc/components/vfc-generic-vnfm-driver/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/Chart.yaml b/archive/vfc/components/vfc-generic-vnfm-driver/Chart.yaml
new file mode 100644
index 0000000000..a8f441dce4
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - Generic VNFM Driver
+name: vfc-generic-vnfm-driver
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/resources/config/logging/log.yml b/archive/vfc/components/vfc-generic-vnfm-driver/resources/config/logging/log.yml
new file mode 100644
index 0000000000..844f993df1
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/resources/config/logging/log.yml
@@ -0,0 +1,53 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ driver:
+ handlers: [gvnfmdriverlocal_handler, gvnfmdriver_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ console:
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ gvnfmdriverlocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_gvnfmdriver.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ gvnfmdriver_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/vfc/gvnfmdriver/runtime_gvnfmdriver.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/templates/configmap.yaml b/archive/vfc/components/vfc-generic-vnfm-driver/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/templates/deployment.yaml b/archive/vfc/components/vfc-generic-vnfm-driver/templates/deployment.yaml
new file mode 100644
index 0000000000..4cd1100988
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/templates/deployment.yaml
@@ -0,0 +1,97 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_HOST
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: "{{ .Values.log.path }}"
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/gvnfmdriver/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/templates/service.yaml b/archive/vfc/components/vfc-generic-vnfm-driver/templates/service.yaml
new file mode 100644
index 0000000000..85498aeca8
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/templates/service.yaml
@@ -0,0 +1,54 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "gvnfmdriver",
+ "version": "v1",
+ "url": "/api/gvnfmdriver/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-generic-vnfm-driver/values.yaml b/archive/vfc/components/vfc-generic-vnfm-driver/values.yaml
new file mode 100644
index 0000000000..c96712be4f
--- /dev/null
+++ b/archive/vfc/components/vfc-generic-vnfm-driver/values.yaml
@@ -0,0 +1,92 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/gvnfmdriver:1.4.4
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-generic-vnfm-driver
+ portName: http
+ externalPort: 8484
+ internalPort: 8484
+# nodePort: 30484
+
+ingress:
+ enabled: false
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/.helmignore b/archive/vfc/components/vfc-huawei-vnfm-driver/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/Chart.yaml b/archive/vfc/components/vfc-huawei-vnfm-driver/Chart.yaml
new file mode 100644
index 0000000000..37158d942d
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - Huawei VNFM Driver
+name: vfc-huawei-vnfm-driver
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties b/archive/vfc/components/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties
new file mode 100644
index 0000000000..e2036398fe
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/resources/config/logging/log4j.properties
@@ -0,0 +1,31 @@
+{{/*
+###############################################################################
+# Copyright 2016, Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+###############################################################################
+*/}}
+log4j.rootLogger=INFO,root
+log4j.appender.root.Append=true
+
+#Log Directory
+logDir=/var/log/onap
+componentName=vfc
+subComponentName=huaweivnfmdriver
+log4j.appender.root.File=${logDir}/${componentName}/${subComponentName}/vnfmadapterservice.log
+
+log4j.appender.root.layout.ConversionPattern=%d %-5p [%t][%X{moduleID}][%C %L] %m%n
+log4j.appender.root.layout=org.apache.log4j.PatternLayout
+log4j.appender.root.MaxBackupIndex=50
+log4j.appender.root.MaxFileSize=20MB
+log4j.appender.root=org.apache.log4j.RollingFileAppender \ No newline at end of file
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/templates/configmap.yaml b/archive/vfc/components/vfc-huawei-vnfm-driver/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/templates/deployment.yaml b/archive/vfc/components/vfc-huawei-vnfm-driver/templates/deployment.yaml
new file mode 100644
index 0000000000..ff22976b17
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/templates/deployment.yaml
@@ -0,0 +1,100 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_PROTO
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: MSB_ADDR
+ value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: {{ .Values.log.path }}
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/hwvnfmdriver/config/log4j.properties
+ subPath: log4j.properties
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/templates/service.yaml b/archive/vfc/components/vfc-huawei-vnfm-driver/templates/service.yaml
new file mode 100644
index 0000000000..def3fa2a54
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/templates/service.yaml
@@ -0,0 +1,61 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "huaweivnfmdriver",
+ "version": "v1",
+ "url": "/api/huaweivnfmdriver/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - name: {{ .Values.service.portName }}
+ port: {{ .Values.service.internalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ - name: {{ .Values.service.portName }}s
+ port: {{ .Values.service.internalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}
+ - port: {{ .Values.service.externalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.portName }}s
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-huawei-vnfm-driver/values.yaml b/archive/vfc/components/vfc-huawei-vnfm-driver/values.yaml
new file mode 100644
index 0000000000..040ad08694
--- /dev/null
+++ b/archive/vfc/components/vfc-huawei-vnfm-driver/values.yaml
@@ -0,0 +1,94 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/nfvo/svnfm/huawei:1.3.9
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-huawei-vnfm-driver
+ portName: http
+ externalPort: 8482
+ internalPort: 8482
+ externalPort2: 8483
+ internalPort2: 8483
+# nodePort: 30482
+
+ingress:
+ enabled: false
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "2Gi"
+ requests:
+ cpu: "100m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "4Gi"
+ requests:
+ cpu: "200m"
+ memory: "2Gi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/components/vfc-nslcm/.helmignore b/archive/vfc/components/vfc-nslcm/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-nslcm/Chart.yaml b/archive/vfc/components/vfc-nslcm/Chart.yaml
new file mode 100644
index 0000000000..3bef3a8743
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - NS Life Cycle Management
+name: vfc-nslcm
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-nslcm/resources/config/logging/log.yml b/archive/vfc/components/vfc-nslcm/resources/config/logging/log.yml
new file mode 100644
index 0000000000..c88606239e
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/resources/config/logging/log.yml
@@ -0,0 +1,53 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ nslcm:
+ handlers: [nslcmlocal_handler, nslcm_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ console:
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ nslcmlocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_nslcm.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ nslcm_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/vfc/nslcm/runtime_nslcm.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/vfc/components/vfc-nslcm/templates/configmap.yaml b/archive/vfc/components/vfc-nslcm/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-nslcm/templates/deployment.yaml b/archive/vfc/components/vfc-nslcm/templates/deployment.yaml
new file mode 100644
index 0000000000..88c322fef7
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/templates/deployment.yaml
@@ -0,0 +1,134 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - {{ include "common.mariadbService" . }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ command:
+ - sh
+ args:
+ - -c
+ - 'MYSQL_AUTH=${MYSQL_ROOT_USER}:${MYSQL_ROOT_PASSWORD} ./docker-entrypoint.sh'
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_HOST
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: MYSQL_ADDR
+ value: '{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}'
+ - name: MYSQL_ROOT_USER
+ value: "{{ .Values.global.config.mariadb_admin }}"
+ - name: MYSQL_ROOT_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 14}}
+ - name: REDIS_HOST
+ value: "{{ .Values.global.config.redisServiceName }}"
+ - name: REDIS_PORT
+ value: "{{ .Values.global.config.redisPort }}"
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: /var/log/onap
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/nslcm/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-nslcm/templates/secrets.yaml b/archive/vfc/components/vfc-nslcm/templates/secrets.yaml
new file mode 100644
index 0000000000..246928825e
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/templates/secrets.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (c) 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/vfc/components/vfc-nslcm/templates/service.yaml b/archive/vfc/components/vfc-nslcm/templates/service.yaml
new file mode 100644
index 0000000000..4ca1cb891c
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/templates/service.yaml
@@ -0,0 +1,63 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "nslcm",
+ "version": "v1",
+ "url": "/api/nslcm/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ },
+ {
+ "serviceName": "nslcm",
+ "version": "v2",
+ "url": "/api/nslcm/v2",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-nslcm/values.yaml b/archive/vfc/components/vfc-nslcm/values.yaml
new file mode 100644
index 0000000000..48cce40822
--- /dev/null
+++ b/archive/vfc/components/vfc-nslcm/values.yaml
@@ -0,0 +1,113 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: db-root-pass
+ externalSecret: '{{ ternary (index .Values "mariadb-galera" "rootUser" "externalSecret") (include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" (default "mariadb-galera" .Values.global.mariadbGalera.nameOverride))) .Values.global.mariadbGalera.localCluster }}'
+ type: password
+ password: '{{ index .Values "mariadb-galera" "rootUser" "password" }}'
+ policy: required
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/nslcm:1.4.7
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# Local mariadb galera instance default name
+mariadb-galera:
+ rootUser:
+ externalSecret: '{{ include "common.release" . }}-vfc-db-root-pass'
+ nameOverride: vfc-mariadb
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-nslcm
+ portName: http
+ externalPort: 8403
+ internalPort: 8403
+# nodePort: 30403
+
+ingress:
+ enabled: false
+
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/components/vfc-redis/.helmignore b/archive/vfc/components/vfc-redis/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-redis/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-redis/Chart.yaml b/archive/vfc/components/vfc-redis/Chart.yaml
new file mode 100644
index 0000000000..84736f364b
--- /dev/null
+++ b/archive/vfc/components/vfc-redis/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright (C) 2018 Verizon. All Rights Reserved.
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - REDIS
+name: vfc-redis
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-redis/templates/deployment.yaml b/archive/vfc/components/vfc-redis/templates/deployment.yaml
new file mode 100644
index 0000000000..02fc994599
--- /dev/null
+++ b/archive/vfc/components/vfc-redis/templates/deployment.yaml
@@ -0,0 +1,67 @@
+{{/*
+# Copyright (C) 2018 Verizon. All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-redis/templates/service.yaml b/archive/vfc/components/vfc-redis/templates/service.yaml
new file mode 100644
index 0000000000..23518e95f1
--- /dev/null
+++ b/archive/vfc/components/vfc-redis/templates/service.yaml
@@ -0,0 +1,42 @@
+{{/*
+# Copyright (C) 2018 Verizon. All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-redis/values.yaml b/archive/vfc/components/vfc-redis/values.yaml
new file mode 100644
index 0000000000..60c95b9b7c
--- /dev/null
+++ b/archive/vfc/components/vfc-redis/values.yaml
@@ -0,0 +1,81 @@
+# Copyright (C) 2018 Verizon. All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/db:1.3.5
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-redis
+ portName: http
+ externalPort: 6379
+ internalPort: 6379
+
+ingress:
+ enabled: false
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-vnflcm/.helmignore b/archive/vfc/components/vfc-vnflcm/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-vnflcm/Chart.yaml b/archive/vfc/components/vfc-vnflcm/Chart.yaml
new file mode 100644
index 0000000000..fe0ce9b4f9
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - VNF Life Cycle Management
+name: vfc-vnflcm
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-vnflcm/resources/config/logging/log.yml b/archive/vfc/components/vfc-vnflcm/resources/config/logging/log.yml
new file mode 100644
index 0000000000..9dbf475beb
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/resources/config/logging/log.yml
@@ -0,0 +1,53 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ mgr:
+ handlers: [vnfmgrlocal_handler, vnfmgr_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ console:
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ vnfmgrlocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_mgr.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ vnfmgr_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/vfc/gvnfm-vnfmgr/runtime_mgr.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/vfc/components/vfc-vnflcm/templates/configmap.yaml b/archive/vfc/components/vfc-vnflcm/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-vnflcm/templates/deployment.yaml b/archive/vfc/components/vfc-vnflcm/templates/deployment.yaml
new file mode 100644
index 0000000000..e915587a4f
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/templates/deployment.yaml
@@ -0,0 +1,134 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - {{ include "common.mariadbService" . }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ command:
+ - sh
+ args:
+ - -c
+ - 'MYSQL_AUTH=${MYSQL_ROOT_USER}:${MYSQL_ROOT_PASSWORD} ./docker-entrypoint.sh'
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_HOST
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: MYSQL_ADDR
+ value: '{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}'
+ - name: MYSQL_ROOT_USER
+ value: "{{ .Values.global.config.mariadb_admin }}"
+ - name: MYSQL_ROOT_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 14}}
+ - name: REDIS_HOST
+ value: "{{ .Values.global.config.redisServiceName }}"
+ - name: REDIS_PORT
+ value: "{{ .Values.global.config.redisPort }}"
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: {{ .Values.log.path }}
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/gvnfm-vnflcm/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-vnflcm/templates/secrets.yaml b/archive/vfc/components/vfc-vnflcm/templates/secrets.yaml
new file mode 100644
index 0000000000..246928825e
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/templates/secrets.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (c) 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/vfc/components/vfc-vnflcm/templates/service.yaml b/archive/vfc/components/vfc-vnflcm/templates/service.yaml
new file mode 100644
index 0000000000..7970e8a9b1
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/templates/service.yaml
@@ -0,0 +1,54 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "vnflcm",
+ "version": "v1",
+ "url": "/api/vnflcm/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-vnflcm/values.yaml b/archive/vfc/components/vfc-vnflcm/values.yaml
new file mode 100644
index 0000000000..bc22a32206
--- /dev/null
+++ b/archive/vfc/components/vfc-vnflcm/values.yaml
@@ -0,0 +1,113 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: db-root-pass
+ externalSecret: '{{ ternary (index .Values "mariadb-galera" "rootUser" "externalSecret") (include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" (default "mariadb-galera" .Values.global.mariadbGalera.nameOverride))) .Values.global.mariadbGalera.localCluster }}'
+ type: password
+ password: '{{ index .Values "mariadb-galera" "rootUser" "password" }}'
+ policy: required
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/vnflcm:1.4.3
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# Local mariadb galera instance default name
+mariadb-galera:
+ rootUser:
+ externalSecret: '{{ include "common.release" . }}-vfc-db-root-pass'
+ nameOverride: vfc-mariadb
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-vnflcm
+ portName: http
+ externalPort: 8801
+ internalPort: 8801
+# nodePort: 30801
+
+ingress:
+ enabled: false
+
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/components/vfc-vnfmgr/.helmignore b/archive/vfc/components/vfc-vnfmgr/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-vnfmgr/Chart.yaml b/archive/vfc/components/vfc-vnfmgr/Chart.yaml
new file mode 100644
index 0000000000..d5ec0cfc80
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - VNF Manager
+name: vfc-vnfmgr
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-vnfmgr/resources/config/logging/log.yml b/archive/vfc/components/vfc-vnfmgr/resources/config/logging/log.yml
new file mode 100644
index 0000000000..9dbf475beb
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/resources/config/logging/log.yml
@@ -0,0 +1,53 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ mgr:
+ handlers: [vnfmgrlocal_handler, vnfmgr_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ console:
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ vnfmgrlocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_mgr.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ vnfmgr_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/vfc/gvnfm-vnfmgr/runtime_mgr.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/vfc/components/vfc-vnfmgr/templates/configmap.yaml b/archive/vfc/components/vfc-vnfmgr/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-vnfmgr/templates/deployment.yaml b/archive/vfc/components/vfc-vnfmgr/templates/deployment.yaml
new file mode 100644
index 0000000000..8dd9f57921
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/templates/deployment.yaml
@@ -0,0 +1,135 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - {{ include "common.mariadbService" . }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ command:
+ - sh
+ args:
+ - -c
+ - 'MYSQL_AUTH=${MYSQL_ROOT_USER}:${MYSQL_ROOT_PASSWORD} ./docker-entrypoint.sh'
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_HOST
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: MYSQL_ADDR
+ value: '{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}'
+ - name: REDIS_HOST
+ value: "{{ .Values.global.config.redisServiceName }}"
+ - name: REDIS_PORT
+ value: "{{ .Values.global.config.redisPort }}"
+ - name: MYSQL_ROOT_USER
+ value: "{{ .Values.global.config.mariadb_admin }}"
+ - name: MYSQL_ROOT_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 14}}
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: {{ .Values.log.path }}
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/gvnfm-vnfmgr/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-vnfmgr/templates/secrets.yaml b/archive/vfc/components/vfc-vnfmgr/templates/secrets.yaml
new file mode 100644
index 0000000000..246928825e
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/templates/secrets.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (c) 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/vfc/components/vfc-vnfmgr/templates/service.yaml b/archive/vfc/components/vfc-vnfmgr/templates/service.yaml
new file mode 100644
index 0000000000..9daf4e0e26
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/templates/service.yaml
@@ -0,0 +1,54 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "vnfmgr",
+ "version": "v1",
+ "url": "/api/vnfmgr/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-vnfmgr/values.yaml b/archive/vfc/components/vfc-vnfmgr/values.yaml
new file mode 100644
index 0000000000..31b5a66fd0
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfmgr/values.yaml
@@ -0,0 +1,112 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: db-root-pass
+ externalSecret: '{{ ternary (index .Values "mariadb-galera" "rootUser" "externalSecret") (include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" (default "mariadb-galera" .Values.global.mariadbGalera.nameOverride))) .Values.global.mariadbGalera.localCluster }}'
+ type: password
+ password: '{{ index .Values "mariadb-galera" "rootUser" "password" }}'
+ policy: required
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/vnfmgr:1.4.1
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# Local mariadb galera instance default name
+mariadb-galera:
+ rootUser:
+ externalSecret: '{{ include "common.release" . }}-vfc-db-root-pass'
+ nameOverride: vfc-mariadb
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-vnfmgr
+ portName: http
+ externalPort: 8803
+ internalPort: 8803
+# nodePort: 30803
+
+ingress:
+ enabled: false
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/components/vfc-vnfres/.helmignore b/archive/vfc/components/vfc-vnfres/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-vnfres/Chart.yaml b/archive/vfc/components/vfc-vnfres/Chart.yaml
new file mode 100644
index 0000000000..be05a88d7a
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - VNF Resource Manager
+name: vfc-vnfres
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-vnfres/resources/config/logging/log.yml b/archive/vfc/components/vfc-vnfres/resources/config/logging/log.yml
new file mode 100644
index 0000000000..7644af1e1b
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/resources/config/logging/log.yml
@@ -0,0 +1,53 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ lcm:
+ handlers: [vnflcmlocal_handler, vnflcm_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ console:
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ vnflcmlocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_lcm.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ vnflcm_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/vfc/gvnfm-vnflcm/runtime_lcm.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/vfc/components/vfc-vnfres/templates/configmap.yaml b/archive/vfc/components/vfc-vnfres/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-vnfres/templates/deployment.yaml b/archive/vfc/components/vfc-vnfres/templates/deployment.yaml
new file mode 100644
index 0000000000..f4138d256f
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/templates/deployment.yaml
@@ -0,0 +1,133 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - {{ include "common.mariadbService" . }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}
+ command:
+ - sh
+ args:
+ - -c
+ - 'MYSQL_AUTH=${MYSQL_ROOT_USER}:${MYSQL_ROOT_PASSWORD} ./docker-entrypoint.sh'
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_HOST
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: MYSQL_ADDR
+ value: '{{ include "common.mariadbService" . }}:{{ include "common.mariadbPort" . }}'
+ - name: REDIS_HOST
+ value: "{{ .Values.global.config.redisServiceName }}"
+ - name: REDIS_PORT
+ value: "{{ .Values.global.config.redisPort }}"
+ - name: MYSQL_ROOT_USER
+ value: "{{ .Values.global.config.mariadb_admin }}"
+ - name: MYSQL_ROOT_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 14}}
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: /var/log/onap
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/gvnfm-vnfres/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-vnfres/templates/secrets.yaml b/archive/vfc/components/vfc-vnfres/templates/secrets.yaml
new file mode 100644
index 0000000000..246928825e
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/templates/secrets.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (c) 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/vfc/components/vfc-vnfres/templates/service.yaml b/archive/vfc/components/vfc-vnfres/templates/service.yaml
new file mode 100644
index 0000000000..4f583f2181
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/templates/service.yaml
@@ -0,0 +1,54 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "vnfres",
+ "version": "v1",
+ "url": "/api/vnfres/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.externalPort}}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-vnfres/values.yaml b/archive/vfc/components/vfc-vnfres/values.yaml
new file mode 100644
index 0000000000..2c54249de4
--- /dev/null
+++ b/archive/vfc/components/vfc-vnfres/values.yaml
@@ -0,0 +1,113 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+ mariadbGalera:
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: db-root-pass
+ externalSecret: '{{ ternary (index .Values "mariadb-galera" "rootUser" "externalSecret") (include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" (default "mariadb-galera" .Values.global.mariadbGalera.nameOverride))) .Values.global.mariadbGalera.localCluster }}'
+ type: password
+ password: '{{ index .Values "mariadb-galera" "rootUser" "password" }}'
+ policy: required
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/vnfres:1.4.1
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# Local mariadb galera instance default name
+mariadb-galera:
+ rootUser:
+ externalSecret: '{{ include "common.release" . }}-vfc-db-root-pass'
+ nameOverride: vfc-mariadb
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-vnfres
+ portName: http
+ externalPort: 8802
+ internalPort: 8802
+# nodePort: 30802
+
+ingress:
+ enabled: false
+
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "200m"
+ memory: "500Mi"
+ requests:
+ cpu: "100m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "400m"
+ memory: "1Gi"
+ requests:
+ cpu: "200m"
+ memory: "500Mi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/.helmignore b/archive/vfc/components/vfc-zte-vnfm-driver/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/Chart.yaml b/archive/vfc/components/vfc-zte-vnfm-driver/Chart.yaml
new file mode 100644
index 0000000000..2511b5e587
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/Chart.yaml
@@ -0,0 +1,28 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VFC - ZTE VNFM Driver
+name: vfc-zte-vnfm-driver
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/resources/config/logging/log.yml b/archive/vfc/components/vfc-zte-vnfm-driver/resources/config/logging/log.yml
new file mode 100644
index 0000000000..6c00048ff7
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/resources/config/logging/log.yml
@@ -0,0 +1,53 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ ztevnfmdriver:
+ handlers: [ztevnfmdriverlocal_handler, ztevnfmdriver_handler]
+ level: "DEBUG"
+ propagate: False
+ django:
+ handlers: [django_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ console:
+ class: "logging.StreamHandler"
+ formatter: "standard"
+ ztevnfmdriverlocal_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/runtime_ztevnfmdriver.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+ ztevnfmdriver_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/vfc/ztevnfmdriver/runtime_ztevnfmdriver.log"
+ formatter:
+ "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+ django_handler:
+ level: "DEBUG"
+ class:
+ "logging.handlers.RotatingFileHandler"
+ filename: "logs/django.log"
+ formatter:
+ "standard"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format:
+ "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format:
+ "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/templates/configmap.yaml b/archive/vfc/components/vfc-zte-vnfm-driver/templates/configmap.yaml
new file mode 100644
index 0000000000..83f658f751
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/templates/configmap.yaml
@@ -0,0 +1,23 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/templates/deployment.yaml b/archive/vfc/components/vfc-zte-vnfm-driver/templates/deployment.yaml
new file mode 100644
index 0000000000..c58957c2a2
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/templates/deployment.yaml
@@ -0,0 +1,97 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
+ annotations:
+ sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_HOST
+ value: "{{ .Values.global.config.msbprotocol }}{{ (eq "true" (include "common.needTLS" .)) | ternary "s" "" }}://{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+ {{- if and (include "common.needTLS" .) (eq .Values.global.config.ssl_enabled true) }}
+ - name: SSL_ENABLED
+ value: "true"
+ {{- else }}
+ - name: SSL_ENABLED
+ value: "false"
+ {{- end }}
+ - name: REG_TO_MSB_WHEN_START
+ value: "{{ .Values.global.config.reg_to_msb_when_start }}"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: {{ .Values.log.path }}
+ - name: {{ include "common.fullname" . }}-logconfig
+ mountPath: /opt/vfc/ztevnfmdriver/config/log.yml
+ subPath: log.yml
+ resources: {{ include "common.resources" . | nindent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+
+ # side car containers
+ {{ include "common.log.sidecar" . | nindent 8 }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logconfig
+ configMap:
+ name : {{ include "common.fullname" . }}-logging-configmap
+ {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix . )) | nindent 8 }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/templates/service.yaml b/archive/vfc/components/vfc-zte-vnfm-driver/templates/service.yaml
new file mode 100644
index 0000000000..8a80a87062
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/templates/service.yaml
@@ -0,0 +1,54 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "ztevnfmdriver",
+ "version": "v1",
+ "url": "/api/ztevnfmdriver/v1",
+ "protocol": "REST",
+ "port": "{{ .Values.service.externalPort }}",
+ "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}{{ if (include "common.needTLS" .) }}s{{ end }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ include "common.release" . }}
diff --git a/archive/vfc/components/vfc-zte-vnfm-driver/values.yaml b/archive/vfc/components/vfc-zte-vnfm-driver/values.yaml
new file mode 100644
index 0000000000..3588ba548e
--- /dev/null
+++ b/archive/vfc/components/vfc-zte-vnfm-driver/values.yaml
@@ -0,0 +1,92 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ config:
+ ssl_enabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+flavor: small
+
+image: onap/vfc/ztevnfmdriver:1.4.1
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: true
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: vfc-zte-vnfm-driver
+ portName: http
+ externalPort: 8410
+ internalPort: 8410
+
+ingress:
+ enabled: false
+
+
+# Configure resource requests and limits
+resources:
+ small:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "50m"
+ memory: "200Mi"
+ large:
+ limits:
+ cpu: "200m"
+ memory: "1Gi"
+ requests:
+ cpu: "100m"
+ memory: "500Mi"
+ unlimited: {}
+
+# Log configuration
+log:
+ path: /var/log/onap
+logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
diff --git a/archive/vfc/resources/config/log/filebeat/filebeat.yml b/archive/vfc/resources/config/log/filebeat/filebeat.yml
new file mode 100644
index 0000000000..0bc14ea908
--- /dev/null
+++ b/archive/vfc/resources/config/log/filebeat/filebeat.yml
@@ -0,0 +1,41 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.logstashServiceName}}:{{.Values.config.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/archive/vfc/templates/configmap.yaml b/archive/vfc/templates/configmap.yaml
new file mode 100644
index 0000000000..e890b8d957
--- /dev/null
+++ b/archive/vfc/templates/configmap.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.log.configMap" . }}
diff --git a/archive/vfc/templates/secrets.yaml b/archive/vfc/templates/secrets.yaml
new file mode 100644
index 0000000000..246928825e
--- /dev/null
+++ b/archive/vfc/templates/secrets.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright (c) 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.secretFast" . }}
diff --git a/archive/vfc/values.yaml b/archive/vfc/values.yaml
new file mode 100644
index 0000000000..05b7eb1fa3
--- /dev/null
+++ b/archive/vfc/values.yaml
@@ -0,0 +1,122 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+global:
+ config:
+ ssl_enabled: false
+ msbprotocol: http
+ msbServiceName: msb-iag
+ msbPort: 443
+ redisServiceName: vfc-redis
+ redisPort: 6379
+# Becaue now oom can register the microservice to msb automatically,
+# If it is set to false, vfc contanier will not register again, if it is
+# set to true, vfc will register by itself.
+# we use this flag to determine who is responbile for serice registeration
+# and it can reduce duplicate registration.
+ reg_to_msb_when_start: False
+ mariadb_admin: &mariadbAdmin root
+ persistence:
+ mountPath: /dockerdata-nfs
+ mariadbGalera: &mariadbGalera
+ # flag to enable the DB creation via mariadb-operator
+ useOperator: true
+ #This flag allows VFC to instantiate its own mariadb-galera cluster
+ localCluster: false
+ service: mariadb-galera
+ internalPort: 3306
+ nameOverride: mariadb-galera
+ centralizedLoggingEnabled: true
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+ - uid: db-root-pass
+ name: &dbRootPassSecret '{{ include "common.release" . }}-vfc-db-root-pass'
+ externalSecret: '{{ ternary "" (tpl (default "" (index .Values "mariadb-galera" "rootUser" "externalSecret")) .) (hasSuffix "db-root-pass" (index .Values "mariadb-galera" "rootUser" "externalSecret"))}}'
+ login: '{{ index .Values "mariadb-galera" "rootUser" "user" }}'
+ password: '{{ index .Values "mariadb-galera" "rootUser" "password" }}'
+ type: password
+
+# application configuration
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+mariadb-galera: &localMariadb
+ rootUser:
+ user: *mariadbAdmin
+ # password:
+ externalSecret: *dbRootPassSecret
+ nameOverride: &dbServer vfc-mariadb
+ service:
+ name: *dbServer
+ portName: *dbServer
+ internalPort: 3306
+ nfsprovisionerPrefix: vfc
+ persistence:
+ mountSubPath: vfc/data
+ enabled: true
+ disableNfsProvisioner: true
+ serviceAccount:
+ nameOverride: *dbServer
+ replicaCount: 1
+ mariadbOperator:
+ galera:
+ enabled: false
+
+vfc-generic-vnfm-driver:
+ enabled: true
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
+
+vfc-huawei-vnfm-driver:
+ enabled: true
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
+
+vfc-nslcm:
+ enabled: true
+ mariadb-galera: *localMariadb
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
+
+vfc-redis:
+ enabled: true
+
+vfc-vnflcm:
+ enabled: true
+ mariadb-galera: *localMariadb
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
+
+vfc-vnfmgr:
+ enabled: true
+ mariadb-galera: *localMariadb
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
+
+vfc-vnfres:
+ enabled: true
+ mariadb-galera: *localMariadb
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
+
+# sub-chart configuration
+vfc-workflow:
+ service:
+ externalPort: 10550
+
+vfc-workflow-engine:
+ config:
+ workflowPort: 10550
+
+vfc-zte-vnfm-driver:
+ enabled: true
+ logConfigMapNamePrefix: '{{ include "common.release" . }}-vfc'
diff --git a/archive/vnfsdk/Chart.yaml b/archive/vnfsdk/Chart.yaml
new file mode 100644
index 0000000000..bf0dbe6640
--- /dev/null
+++ b/archive/vnfsdk/Chart.yaml
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2021 Orange
+# Modifications Copyright © 2021 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v2
+description: ONAP VNF SDK
+name: vnfsdk
+version: 13.0.0
+
+dependencies:
+ - name: common
+ version: ~13.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~13.x-0
+ repository: '@local'
+ - name: repositoryGenerator
+ version: ~13.x-0
+ repository: '@local'
+ - name: readinessCheck
+ version: ~13.x-0
+ repository: '@local'
diff --git a/archive/vnfsdk/resources/config/configuration.xml b/archive/vnfsdk/resources/config/configuration.xml
new file mode 100644
index 0000000000..09b6551c00
--- /dev/null
+++ b/archive/vnfsdk/resources/config/configuration.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2017 Huawei Technologies Co., Ltd.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE configuration
+PUBLIC "//mybatis.org//DTD Config 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-config.dtd">
+<configuration>
+ <environments default="development">
+ <environment id="development">
+ <transactionManager type="JDBC" />
+ <dataSource type="UNPOOLED">
+ <property name="driver" value="org.postgresql.Driver" />
+ <property name="url" value="jdbc:postgresql://{{.Values.postgres.service.name2}}:{{.Values.postgres.service.externalPort}}/marketplaceDB" />
+ <property name="username" value="${PG_USER}" />
+ <property name="password" value="${PG_PASSWORD}" />
+ </dataSource>
+ </environment>
+ </environments>
+ <mappers>
+ <mapper resource="mybatis/sql/MarketplaceMapper.xml" />
+ </mappers>
+</configuration>
diff --git a/archive/vnfsdk/resources/config/marketplace_tables_postgres.sql b/archive/vnfsdk/resources/config/marketplace_tables_postgres.sql
new file mode 100644
index 0000000000..c05d7f2d00
--- /dev/null
+++ b/archive/vnfsdk/resources/config/marketplace_tables_postgres.sql
@@ -0,0 +1,25 @@
+CREATE DATABASE "marketplaceDB";
+
+\c marketplaceDB;
+
+DROP TABLE IF EXISTS CSAR_PACKAGE_TABLE;
+
+CREATE TABLE CSAR_PACKAGE_TABLE (
+ CSARID VARCHAR(200) NOT NULL,
+ DOWNLOADURI VARCHAR(200) NULL,
+ REPORT VARCHAR(200) NULL,
+ SIZE VARCHAR(100) NULL,
+ FORMAT VARCHAR(100) NULL,
+ CREATETIME VARCHAR(100) NULL,
+ DELETIONPENDING VARCHAR(100) NULL,
+ MODIFYTIME VARCHAR(100) NULL,
+ SHORTDESC TEXT NULL,
+ NAME VARCHAR(100) NULL,
+ VERSION VARCHAR(20) NULL,
+ PROVIDER VARCHAR(300) NULL,
+ TYPE VARCHAR(300) NULL,
+ DETAILS TEXT NULL,
+ REMARKS TEXT NULL,
+ DOWNLOADCOUNT INT NULL,
+ CONSTRAINT csar_package_table_pkey PRIMARY KEY (CSARID)
+);
diff --git a/archive/vnfsdk/resources/nginx/nginx.conf b/archive/vnfsdk/resources/nginx/nginx.conf
new file mode 100644
index 0000000000..9d7aa78b36
--- /dev/null
+++ b/archive/vnfsdk/resources/nginx/nginx.conf
@@ -0,0 +1,55 @@
+# Copyright 2020 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+daemon off;
+
+#pid /run/nginx.pid;
+
+events {
+ worker_connections 500;
+ # multi_accept on;
+}
+http {
+
+ ##
+ # Basic Settings
+ ##
+
+ sendfile on;
+ tcp_nopush on;
+ tcp_nodelay on;
+ keepalive_timeout 65;
+ types_hash_max_size 2048;
+
+ #Comment or disable the access_log once tested to avoid runtime logs
+# access_log /var/log/nginx/access.log format gzip;
+ access_log off;
+ error_log /var/log/nginx/error.log;
+
+ server {
+ listen {{ .Values.service.internalPort }};
+ server_name {{ .Values.service.name }};
+ keepalive_timeout 70;
+
+ location / {
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_pass http://localhost:8702;
+ proxy_read_timeout 90;
+ proxy_redirect off;
+ }
+ }
+} \ No newline at end of file
diff --git a/archive/vnfsdk/templates/NOTES.txt b/archive/vnfsdk/templates/NOTES.txt
new file mode 100644
index 0000000000..cf415bd51c
--- /dev/null
+++ b/archive/vnfsdk/templates/NOTES.txt
@@ -0,0 +1,32 @@
+# Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/archive/vnfsdk/templates/configmap.yaml b/archive/vnfsdk/templates/configmap.yaml
new file mode 100644
index 0000000000..d06379331f
--- /dev/null
+++ b/archive/vnfsdk/templates/configmap.yaml
@@ -0,0 +1,41 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-nginx
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/nginx/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/archive/vnfsdk/templates/deployment.yaml b/archive/vnfsdk/templates/deployment.yaml
new file mode 100644
index 0000000000..bf9ad3e031
--- /dev/null
+++ b/archive/vnfsdk/templates/deployment.yaml
@@ -0,0 +1,75 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+ selector: {{- include "common.selectors" . | nindent 4 }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+ spec:
+ initContainers:
+ - command:
+ - sh
+ args:
+ - -c
+ - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
+ env:
+ - name: PG_USER
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
+ - name: PG_PASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ volumeMounts:
+ - mountPath: /config-input
+ name: init-data-input
+ - mountPath: /config
+ name: init-data
+ image: {{ include "repositoryGenerator.image.envsubst" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-update-config
+ {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
+ containers:
+ - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}
+ ports: {{ include "common.containerPorts" . | nindent 8 }}
+ resources: {{ include "common.resources" . | nindent 10 }}
+ volumeMounts:
+ - mountPath: /service/webapps/ROOT/WEB-INF/classes/mybatis/configuration/configuration.xml
+ name: init-data
+ subPath: configuration.xml
+ - mountPath: /etc/nginx/nginx.conf
+ name: nginx
+ subPath: nginx.conf
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ volumes:
+ - name: init-data-input
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: nginx
+ configMap:
+ name: {{ include "common.fullname" . }}-nginx
+ - name: init-data
+ emptyDir:
+ medium: Memory
diff --git a/archive/vnfsdk/templates/ingress.yaml b/archive/vnfsdk/templates/ingress.yaml
new file mode 100644
index 0000000000..1f6ec7ab0e
--- /dev/null
+++ b/archive/vnfsdk/templates/ingress.yaml
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.ingress" . }}
diff --git a/archive/vnfsdk/templates/job.yaml b/archive/vnfsdk/templates/job.yaml
new file mode 100644
index 0000000000..a6966a7708
--- /dev/null
+++ b/archive/vnfsdk/templates/job.yaml
@@ -0,0 +1,82 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+ name: {{ include "common.fullname" . }}-init-postgres
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}-job
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ include "common.release" . }}
+ heritage: {{ .Release.Service }}
+spec:
+ backoffLimit: 20
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}-job
+ release: {{ include "common.release" . }}
+ spec:
+ restartPolicy: Never
+ initContainers:
+ - command:
+ - /app/ready.py
+ args:
+ - --service-name
+ - "{{ .Values.postgres.service.name2 }}"
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ include "repositoryGenerator.image.readiness" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy}}
+ name: {{ include "common.name" . }}-readiness
+ resources:
+ limits:
+ cpu: "100m"
+ memory: "500Mi"
+ requests:
+ cpu: "3m"
+ memory: "20Mi"
+ containers:
+ - name: {{ include "common.name" . }}-job
+ image: {{ include "repositoryGenerator.image.postgres" . }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: PGUSER
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
+ - name: PGPASSWORD
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
+ command:
+ - /bin/sh
+ - -c
+ - |
+ psql -h $(VNFSDK_DBPRI_SERVICE_HOST) -f /aaa/init/marketplace_tables_postgres.sql
+ volumeMounts:
+ - name: init-data
+ mountPath: /aaa/init/marketplace_tables_postgres.sql
+ subPath: marketplace_tables_postgres.sql
+ {{ include "common.waitForJobContainer" . | indent 6 | trim }}
+ {{- include "common.imagePullSecrets" . | nindent 6 }}
+ volumes:
+ - name: init-data
+ configMap:
+ name: {{ include "common.fullname" . }}
diff --git a/archive/vnfsdk/templates/secrets.yaml b/archive/vnfsdk/templates/secrets.yaml
new file mode 100644
index 0000000000..b143034d8f
--- /dev/null
+++ b/archive/vnfsdk/templates/secrets.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2020 Samsung Electronics
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# # http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+{{ include "common.secretFast" . }}
diff --git a/archive/vnfsdk/templates/service.yaml b/archive/vnfsdk/templates/service.yaml
new file mode 100644
index 0000000000..6127b2b373
--- /dev/null
+++ b/archive/vnfsdk/templates/service.yaml
@@ -0,0 +1,18 @@
+{{/*
+# Copyright © 2017 Amdocs, Bell Canada
+# Modification © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ include "common.service" . }} \ No newline at end of file
diff --git a/archive/vnfsdk/values.yaml b/archive/vnfsdk/values.yaml
new file mode 100644
index 0000000000..723dfc3b4f
--- /dev/null
+++ b/archive/vnfsdk/values.yaml
@@ -0,0 +1,128 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications © 2023 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+
+secrets:
+ - uid: pg-root-pass
+ name: &pgRootPassSecretName '{{ include "common.release" . }}-vnfsdk-pg-root-pass'
+ type: password
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgRootPasswordExternalSecret) .) (hasSuffix "vnfsdk-pg-root-pass" .Values.postgres.config.pgRootPasswordExternalSecret) }}'
+ password: '{{ .Values.postgres.config.pgRootpassword }}'
+ policy: generate
+ - uid: pg-user-creds
+ name: &pgUserCredsSecretName '{{ include "common.release" . }}-vnfsdk-pg-user-creds'
+ type: basicAuth
+ externalSecret: '{{ ternary "" (tpl (default "" .Values.postgres.config.pgUserExternalSecret) .) (hasSuffix "vnfsdk-pg-user-creds" .Values.postgres.config.pgUserExternalSecret) }}'
+ login: '{{ .Values.postgres.config.pgUserName }}'
+ password: '{{ .Values.postgres.config.pgUserPassword }}'
+ passwordPolicy: generate
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: onap/vnfsdk/refrepo:1.6.3
+pullPolicy: Always
+
+# application configuration override for postgres
+postgres:
+ nameOverride: vnfsdk-postgres
+ service:
+ name: vnfsdk-dbset
+ name2: vnfsdk-dbpri
+ name3: vnfsdk-dbrep
+ container:
+ name:
+ primary: vnfsdk-dbpri
+ replica: vnfsdk-dbrep
+ persistence:
+ mountSubPath: vnfsdk/data
+ mountInitPath: vnfsdk
+ config:
+ pgUserName: postgres
+ pgDatabase: postgres
+ pgUserExternalSecret: *pgUserCredsSecretName
+ pgRootPasswordExternalSecret: *pgRootPassSecretName
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+nodeSelector: {}
+
+affinity: {}
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: "2000m"
+ memory: "4Gi"
+ requests:
+ cpu: "500m"
+ memory: "1Gi"
+ large:
+ limits:
+ cpu: "4000m"
+ memory: "8Gi"
+ requests:
+ cpu: "1000m"
+ memory: "2Gi"
+ unlimited: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 60
+ periodSeconds: 30
+
+service:
+ type: NodePort
+ name: refrepo
+ internalPort: 8703
+ ports:
+ - name: http
+ port: 8703
+ nodePort: '97'
+
+ingress:
+ enabled: false
+ service:
+ - baseaddr: "vnfsdk-refrepo-api"
+ name: "refrepo"
+ port: 8703
+ config:
+ ssl: "redirect"
+
+readinessCheck:
+ wait_for:
+ services:
+ - '{{ .Values.postgres.service.name2 }}'
+
+wait_for_job_container:
+ containers:
+ - '{{ include "common.name" . }}-job'