1 # Copyright © 2020 Samsung Electronics, highstreet technologies GmbH
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Copyright © 2021 Nokia
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 #################################################################
18 # Global configuration defaults.
19 #################################################################
22 nodePortPrefixExt: 304
24 mountPath: /dockerdata-nfs
25 centralizedLoggingEnabled: true
27 #This flag allows SO to instantiate its own mariadb-galera cluster
28 #If shared instance is used, this chart assumes that DB already exists
30 service: &mariadbService mariadb-galera-primary
32 nameOverride: &mariadbName mariadb-galera
35 #################################################################
37 #################################################################
39 - uid: db-root-password
40 name: &rootDbSecret '{{ include "common.release" . }}-sdnc-db-root-password'
42 # If we're using shared mariadb, we need to use the secret name (second
44 # If not, we do the same trick than for user db secret hat allows you
45 # override this secret using external one with the same field that is used
46 # to pass this to subchart.
47 externalSecret: '{{ .Values.global.mariadbGalera.localCluster |
48 ternary ((hasSuffix "sdnc-db-root-password" (index .Values "mariadb-galera" "rootUser" "externalSecret")) |
51 (tpl (default "" (index .Values "mariadb-galera" "rootUser" "externalSecret")) .))
52 (include "common.mariadb.secret.rootPassSecretName"
54 "chartName" .Values.global.mariadbGalera.nameOverride)) }}'
55 password: '{{ (index .Values "mariadb-galera" "rootUser" "password") }}'
57 name: &dbSecretName '{{ include "common.release" . }}-sdnc-db-secret'
59 # This is a nasty trick that allows you override this secret using external one
60 # with the same field that is used to pass this to subchart
61 externalSecret: '{{ (hasSuffix "sdnc-db-secret" (index .Values "mariadb-galera" "db" "externalSecret")) |
64 (tpl (default "" (index .Values "mariadb-galera" "db" "externalSecret")) .) }}'
65 login: '{{ index .Values "mariadb-galera" "db" "user" }}'
66 password: '{{ index .Values "mariadb-galera" "db" "password" }}'
68 name: &odlCredsSecretName '{{ include "common.release" . }}-sdnc-odl-creds'
70 externalSecret: '{{ .Values.config.odlCredsExternalSecret }}'
71 login: '{{ .Values.config.odlUser }}'
72 password: '{{ .Values.config.odlPassword }}'
73 # For now this is left hardcoded but should be revisited in a future
74 passwordPolicy: required
77 externalSecret: '{{ .Values.config.netboxApikeyExternalSecret }}'
78 password: '{{ .Values.config.netboxApikey }}'
79 passwordPolicy: required
80 - uid: aai-truststore-password
82 externalSecret: '{{ .Values.config.aaiTruststoreExternalSecret }}'
83 password: '{{ .Values.config.aaiTruststorePassword }}'
84 passwordPolicy: required
85 - uid: ansible-truststore-password
87 externalSecret: '{{ .Values.config.ansibleTruststoreExternalSecret }}'
88 password: '{{ .Values.config.ansibleTruststorePassword }}'
89 passwordPolicy: required
90 - uid: truststore-password
92 externalSecret: '{{ .Values.config.truststoreExternalSecret }}'
93 password: '{{ .Values.config.truststorePassword }}'
94 passwordPolicy: required
95 - uid: keystore-password
97 externalSecret: '{{ .Values.config.keystoreExternalSecret }}'
98 password: '{{ .Values.config.keystorePassword }}'
99 passwordPolicy: required
102 externalSecret: '{{ .Values.config.dmaapAuthKeyExternalSecret }}'
103 password: '{{ .Values.config.dmaapAuthKey }}'
104 passwordPolicy: required
105 - uid: aai-user-creds
107 externalSecret: '{{ .Values.config.aaiCredsExternalSecret}}'
108 login: '{{ .Values.config.aaiUser }}'
109 password: '{{ .Values.config.aaiPassword }}'
110 passwordPolicy: required
113 externalSecret: '{{ .Values.config.soCredsExternalSecret}}'
114 login: '{{ .Values.config.soUser }}'
115 password: '{{ .Values.config.soPassword }}'
116 passwordPolicy: required
117 - uid: neng-user-creds
119 externalSecret: '{{ .Values.config.nengCredsExternalSecret}}'
120 login: '{{ .Values.config.nengUser }}'
121 password: '{{ .Values.config.nengPassword }}'
122 passwordPolicy: required
123 - uid: cds-user-creds
125 externalSecret: '{{ .Values.config.cdsCredsExternalSecret}}'
126 login: '{{ .Values.config.cdsUser }}'
127 password: '{{ .Values.config.cdsPassword }}'
128 passwordPolicy: required
129 - uid: honeycomb-user-creds
131 externalSecret: '{{ .Values.config.honeycombCredsExternalSecret}}'
132 login: '{{ .Values.config.honeycombUser }}'
133 password: '{{ .Values.config.honeycombPassword }}'
134 passwordPolicy: required
135 - uid: dmaap-user-creds
137 externalSecret: '{{ .Values.config.dmaapCredsExternalSecret}}'
138 login: '{{ .Values.config.dmaapUser }}'
139 password: '{{ .Values.config.dmaapPassword }}'
140 passwordPolicy: required
141 - uid: modeling-user-creds
143 externalSecret: '{{ .Values.config.modelingCredsExternalSecret}}'
144 login: '{{ .Values.config.modelingUser }}'
145 password: '{{ .Values.config.modelingPassword }}'
146 passwordPolicy: required
147 - uid: restconf-creds
149 externalSecret: '{{ .Values.config.restconfCredsExternalSecret}}'
150 login: '{{ .Values.config.restconfUser }}'
151 password: '{{ .Values.config.restconfPassword }}'
152 passwordPolicy: required
154 name: &ansibleSecretName '{{ include "common.release" . }}-sdnc-ansible-creds'
156 externalSecret: '{{ .Values.config.ansibleCredsExternalSecret}}'
157 login: '{{ .Values.config.ansibleUser }}'
158 password: '{{ .Values.config.ansiblePassword }}'
159 passwordPolicy: required
160 - uid: scaleout-creds
162 externalSecret: '{{ .Values.config.scaleoutCredsExternalSecret}}'
163 login: '{{ .Values.config.scaleoutUser }}'
164 password: '{{ .Values.config.scaleoutPassword }}'
165 passwordPolicy: required
166 - uid: oauth-token-secret
168 externalSecret: '{{ ternary (tpl (default "" .Values.config.sdnr.oauth.tokenExternalSecret) .) "oauth-disabled" .Values.config.sdnr.oauth.enabled }}'
169 password: '{{ .Values.config.sdnr.oauth.tokenSecret }}'
170 passwordPolicy: required
171 - uid: keycloak-secret
173 externalSecret: '{{ ternary (tpl (default "" .Values.config.sdnr.oauth.providersSecrets.keycloakExternalSecret) .) "oauth-disabled" .Values.config.sdnr.oauth.enabled }}'
174 password: '{{ .Values.config.sdnr.oauth.providersSecrets.keycloak }}'
175 passwordPolicy: required
176 - uid: ves-collector-secret
178 login: '{{ .Values.config.sdnr.vesCollector.username }}'
179 password: '{{ .Values.config.sdnr.vesCollector.password }}'
181 name: &sdnrdbSecretName '{{ include "common.release" . }}-sdnc-sdnrdb-secret'
183 login: '{{ index .Values "config" "sdnr" "mariadb" "user" }}'
184 password: '{{ index .Values "config" "sdnr" "mariadb" "password" }}'
185 #################################################################
187 #################################################################
189 - mountPath: /var/custom-certs
190 commonName: sdnc.simpledemo.onap.org
192 - sdnc.simpledemo.onap.org
198 name: sdnc-cmpv2-keystore-password
201 group: certmanager.onap.org
203 name: cmpv2-issuer-onap
204 #################################################################
205 # Application configuration defaults.
206 #################################################################
210 image: onap/sdnc-image:2.5.5
212 # flag to enable debugging - application support required
215 # application configuration
220 odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
221 # odlCredsExternalSecret: some secret
222 netboxApikey: onceuponatimeiplayedwithnetbox20180814
223 # netboxApikeyExternalSecret: some secret
224 aaiTruststorePassword: changeit
225 # aaiTruststoreExternalSecret: some secret
226 ansibleTruststorePassword: changeit
227 # ansibleTruststoreExternalSecret: some secret
228 truststorePassword: adminadmin
229 # truststoreExternalSecret: some secret
230 keystorePassword: adminadmin
231 # keystoreExternalSecret: some secret
232 aaiUser: sdnc@sdnc.onap.org
233 aaiPassword: demo123456!
234 # aaiCredsExternalSecret: some secret
236 soPassword: password1$
237 # soCredsExternalSecret: some secret
239 nengPassword: ccsdkapps
240 # nengCredsExternalSecret: some secret
242 cdsPassword: ccsdkapps
243 # cdsCredsExternalSecret: some secret
245 honeycombPassword: admin
246 # honeycombCredsExternalSecret: some secret
249 dmaapAuthKey: "fs20cKwalJ6ry4kX:7Hqm6BDZK47IKxGRkOPFk33qMYs="
250 # dmaapCredsExternalSecret: some secret
251 # dmaapAuthKeyExternalSecret: some secret
252 modelingUser: ccsdkapps
253 modelingPassword: ccsdkapps
254 # modelingCredsExternalSecret: some secret
256 restconfPassword: admin
257 # restconfCredsExternalSecret: some secret
259 scaleoutPassword: admin
260 # scaleoutExternalSecret: some secret
262 ansiblePassword: sdnc
263 # ansibleCredsExternalSecret: some secret
265 dbSdnctlDatabase: &sdncDbName sdnctl
266 enableClustering: true
267 sdncHome: /opt/onap/sdnc
268 binDir: /opt/onap/sdnc/bin
269 etcDir: /opt/onap/sdnc/data
271 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
272 # if geoEnabled is set to true the following 3 values must be set to their proper values
273 myODLCluster: 127.0.0.1
274 peerODLCluster: 127.0.0.1
275 isPrimaryCluster: true
276 configDir: /opt/onap/sdnc/data/properties
277 ccsdkConfigDir: /opt/onap/ccsdk/data/properties
280 logstashServiceName: log-ls
282 ansibleServiceName: sdnc-ansible-server
284 javaHome: /opt/java/openjdk
287 etcDir: /opt/opendaylight/etc
288 binDir: /opt/opendaylight/bin
289 gcLogDir: /opt/opendaylight/data/log
290 salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
291 salConfigVersion: 1.10.4
298 recoveryEventTimeout: 90s
300 persistentActorRestartMinBackoffInSeconds: 10
301 persistentActorRestartMaxBackoffInSeconds: 40
302 persistentActorRestartResetBackoffInSeconds: 20
303 shardTransactionCommitTimeoutInSeconds: 120
304 shardIsolatedLeaderCheckIntervalInMillis: 30000
305 operationTimeoutInSeconds: 120
307 maxGCPauseMillis: 100
308 parallelGCThreads : 3
313 # Next line enables gc logging
314 # gcLogOptions: "-Xlog:gc=trace:file={{.Values.config.odl.gcLogDir}}/gc-%t.log}:time,level,tags:filecount={{.Values.config.odl.javaOptions.numberGCLogFiles}}"
315 # enables sdnr functionality
318 # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
319 # mode: dm - SDNC contains sdnr device manager + ODLUX components
321 # sdnronly: true starts sdnc container with odl and sdnrwt features only
323 sdnrdbTrustAllCerts: true
325 ## for legacy eleasticsearch database
326 enabled: &esdbenabled true
327 # enabled: &esdbenabled false
329 ## for legacy eleasticsearch database
334 externalSecret: *sdnrdbSecretName
339 consumerGroupPrefix: &consumerGroupPrefix sdnr
340 # Strimzi KafkaUser config see configuration below
341 kafkaUser: &kafkaUser
343 - name: unauthenticated.SEC_
347 - name: unauthenticated.VES_PNFREG_OUTPUT
351 - name: *consumerGroupPrefix
355 ## set if bootstrap server is not OOM standard
356 # bootstrapServers: []
357 ## set connection parameters if not default
358 # securityProtocol: PLAINTEXT
359 # saslMechanism: SCRAM-SHA-512
360 ## saslJassConfig: provided by secret
363 mountpointStateProviderEnabled: false
370 tokenIssuer: ONAP SDNC
372 supportOdlusers: true
377 # example definition for a oauth provider
379 keycloak: d8d7ed52-0691-4353-9ac6-5383e72e9c46
383 host: http://keycloak:8080
385 secret: ${KEYCLOAK_SECRET}
387 title: ONAP Keycloak Provider
394 trustAllCertificates: false
397 address: dcae-ves-collector.onap
400 reportingEntityName: ONAP SDN-R
401 eventLogMsgDetail: SHORT
403 # Strimzi KafkaUser/Topic config on top level
404 kafkaUser: *kafkaUser
407 # dependency / sub-chart configuration
410 mariadb-galera: &mariadbGalera
411 nameOverride: &sdnc-db sdnc-db
412 config: &mariadbGaleraConfig
413 rootPasswordExternalSecret: *rootDbSecret
414 userName: &dbUser sdnctl
415 userCredentialsExternalSecret: *dbSecretName
417 externalSecret: *rootDbSecret
420 externalSecret: *dbSecretName
425 mountSubPath: sdnc/mariadb-galera
432 nameOverride: *sdnc-db
439 nameOverride: sdnc-dmaap-listener
443 <<: *mariadbGaleraConfig
444 mysqlDatabase: *sdncDbName
449 configDir: /opt/onap/sdnc/data/properties
450 odlCredsExternalSecret: *odlCredsSecretName
457 <<: *mariadbGaleraConfig
458 mysqlDatabase: *sdncDbName
459 nameOverride: sdnc-ueb-listener
463 configDir: /opt/onap/sdnc/data/properties
464 odlCredsExternalSecret: *odlCredsSecretName
469 restCredsExternalSecret: *ansibleSecretName
473 <<: *mariadbGaleraConfig
474 mysqlDatabase: ansible
476 name: sdnc-ansible-server
481 nameOverride: sdnc-dgbuilder
485 rootPasswordExternalSecret: '{{ .Values.global.mariadbGalera.localCluster |
487 (printf "%s-sdnc-db-root-password" (include "common.release" .))
488 (include "common.mariadb.secret.rootPassSecretName"
489 (dict "dot" . "chartName" "mariadb-galera")) }}'
490 userCredentialsExternalSecret: *dbSecretName
491 dbPodName: *mariadbName
492 dbServiceName: *mariadbService
493 # This should be revisited and changed to plain text
494 dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
496 nameOverride: sdnc-dgbuilder
508 - baseaddr: "sdnc-dgbuilder-ui"
509 name: "sdnc-dgbuilder"
516 # local elasticsearch cluster
517 localElasticCluster: true
519 enabled: *esdbenabled
520 nameOverride: &elasticSearchName sdnrdb
523 name: *elasticSearchName
526 # dedicatednode: "yes"
527 # working as master node only, in this case increase replicaCount for elasticsearch-data
528 # dedicatednode: "no"
529 # handles master and data node functionality
531 nameOverride: *elasticSearchName
532 cluster_name: sdnrdb-cluster
537 ## set if web socket port should not be default
538 # sdnrWebsocketPort: *sdnrWebsocketPort
539 # default number of instances
546 # probe configuration parameters
548 initialDelaySeconds: 10
550 # necessary to disable liveness probe when setting breakpoints
551 # in debugger so K8s doesn't restart unresponsive container
555 initialDelaySeconds: 10
586 callHomePort: &chport 4334
588 ## set if web socket port should not be default
589 ## change in sdnc-web section as well
590 # sdnrWebsocketPort: &sdnrWebsocketPort 8182
593 ## Persist data to a persitent volume
597 ## A manually managed Persistent Volume and Claim
598 ## Requires persistence.enabled: true
599 ## If defined, PVC must be created manually before volume will be bound
601 volumeReclaimPolicy: Retain
603 ## database data Persistent Volume Storage Class
604 ## If defined, storageClassName: <storageClass>
605 ## If set to "-", storageClassName: "", which disables dynamic provisioning
606 ## If undefined (the default) or set to null, no storageClassName spec is
607 ## set, choosing the default provisioner. (gp2 on AWS, standard on
608 ## GKE, AWS & OpenStack)
609 accessMode: ReadWriteOnce
611 mountPath: /dockerdata-nfs
612 mountSubPath: sdnc/mdsal
613 mdsalPath: /opt/opendaylight/mdsal
614 daeximPath: /opt/opendaylight/mdsal/daexim
615 journalPath: /opt/opendaylight/segmented-journal
616 snapshotsPath: /opt/opendaylight/snapshots
621 - baseaddr: "sdnc-api"
624 - baseaddr: "sdnc-callhome"
625 name: "sdnc-callhome"
635 authorizedPrincipals:
636 - serviceAccount: a1policymanagement-read
637 - serviceAccount: cds-blueprints-processor-read
638 - serviceAccount: consul-read
639 - serviceAccount: ncmp-dmi-plugin-read
640 - serviceAccount: policy-drools-pdp-read
641 - serviceAccount: robot-read
642 - serviceAccount: sdnc-ansible-server-read
643 - serviceAccount: sdnc-dmaap-listener-read
644 - serviceAccount: sdnc-prom-read
645 - serviceAccount: sdnc-ueb-listener-read
646 - serviceAccount: sdnc-web-read
647 - serviceAccount: so-sdnc-adapter-read
648 - serviceAccount: istio-ingress
649 namespace: istio-ingress
650 authorizedPrincipalsSdnHosts:
651 - serviceAccount: sdnc-read
653 #Resource Limit flavor -By Default using small
655 #segregation for different envionment (Small and Large)
674 #Pods Service Account