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: mariadb-galera
32 nameOverride: 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 }}'
180 #################################################################
182 #################################################################
184 - mountPath: /var/custom-certs
185 commonName: sdnc.simpledemo.onap.org
187 - sdnc.simpledemo.onap.org
193 name: sdnc-cmpv2-keystore-password
196 group: certmanager.onap.org
198 name: cmpv2-issuer-onap
199 #################################################################
200 # Application configuration defaults.
201 #################################################################
205 image: onap/sdnc-image:2.5.5
207 # flag to enable debugging - application support required
210 # application configuration
215 odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
216 # odlCredsExternalSecret: some secret
217 netboxApikey: onceuponatimeiplayedwithnetbox20180814
218 # netboxApikeyExternalSecret: some secret
219 aaiTruststorePassword: changeit
220 # aaiTruststoreExternalSecret: some secret
221 ansibleTruststorePassword: changeit
222 # ansibleTruststoreExternalSecret: some secret
223 truststorePassword: adminadmin
224 # truststoreExternalSecret: some secret
225 keystorePassword: adminadmin
226 # keystoreExternalSecret: some secret
227 aaiUser: sdnc@sdnc.onap.org
228 aaiPassword: demo123456!
229 # aaiCredsExternalSecret: some secret
231 soPassword: password1$
232 # soCredsExternalSecret: some secret
234 nengPassword: ccsdkapps
235 # nengCredsExternalSecret: some secret
237 cdsPassword: ccsdkapps
238 # cdsCredsExternalSecret: some secret
240 honeycombPassword: admin
241 # honeycombCredsExternalSecret: some secret
244 dmaapAuthKey: "fs20cKwalJ6ry4kX:7Hqm6BDZK47IKxGRkOPFk33qMYs="
245 # dmaapCredsExternalSecret: some secret
246 # dmaapAuthKeyExternalSecret: some secret
247 modelingUser: ccsdkapps
248 modelingPassword: ccsdkapps
249 # modelingCredsExternalSecret: some secret
251 restconfPassword: admin
252 # restconfCredsExternalSecret: some secret
254 scaleoutPassword: admin
255 # scaleoutExternalSecret: some secret
257 ansiblePassword: sdnc
258 # ansibleCredsExternalSecret: some secret
260 dbSdnctlDatabase: &sdncDbName sdnctl
261 enableClustering: true
262 sdncHome: /opt/onap/sdnc
263 binDir: /opt/onap/sdnc/bin
264 etcDir: /opt/onap/sdnc/data
266 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
267 # if geoEnabled is set to true the following 3 values must be set to their proper values
268 myODLCluster: 127.0.0.1
269 peerODLCluster: 127.0.0.1
270 isPrimaryCluster: true
271 configDir: /opt/onap/sdnc/data/properties
272 ccsdkConfigDir: /opt/onap/ccsdk/data/properties
275 logstashServiceName: log-ls
277 ansibleServiceName: sdnc-ansible-server
279 javaHome: /opt/java/openjdk
282 etcDir: /opt/opendaylight/etc
283 binDir: /opt/opendaylight/bin
284 gcLogDir: /opt/opendaylight/data/log
285 salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
286 salConfigVersion: 1.10.4
293 recoveryEventTimeout: 90s
295 persistentActorRestartMinBackoffInSeconds: 10
296 persistentActorRestartMaxBackoffInSeconds: 40
297 persistentActorRestartResetBackoffInSeconds: 20
298 shardTransactionCommitTimeoutInSeconds: 120
299 shardIsolatedLeaderCheckIntervalInMillis: 30000
300 operationTimeoutInSeconds: 120
302 maxGCPauseMillis: 100
303 parallelGCThreads : 3
308 # Next line enables gc logging
309 # gcLogOptions: "-Xlog:gc=trace:file={{.Values.config.odl.gcLogDir}}/gc-%t.log}:time,level,tags:filecount={{.Values.config.odl.javaOptions.numberGCLogFiles}}"
310 # enables sdnr functionality
313 # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
314 # mode: dm - SDNC contains sdnr device manager + ODLUX components
316 # sdnronly: true starts sdnc container with odl and sdnrwt features only
318 sdnrdbTrustAllCerts: true
321 consumerGroupPrefix: &consumerGroupPrefix sdnr
322 # Strimzi KafkaUser config see configuration below
323 kafkaUser: &kafkaUser
325 - name: unauthenticated.SEC_
329 - name: unauthenticated.VES_PNFREG_OUTPUT
333 - name: *consumerGroupPrefix
337 ## set if bootstrap server is not OOM standard
338 # bootstrapServers: []
339 ## set connection parameters if not default
340 # securityProtocol: PLAINTEXT
341 # saslMechanism: SCRAM-SHA-512
342 ## saslJassConfig: provided by secret
345 mountpointStateProviderEnabled: false
352 tokenIssuer: ONAP SDNC
354 supportOdlusers: true
359 # example definition for a oauth provider
361 keycloak: d8d7ed52-0691-4353-9ac6-5383e72e9c46
365 host: http://keycloak:8080
367 secret: ${KEYCLOAK_SECRET}
369 title: ONAP Keycloak Provider
376 trustAllCertificates: false
379 address: dcae-ves-collector.onap
382 reportingEntityName: ONAP SDN-R
383 eventLogMsgDetail: SHORT
385 # Strimzi KafkaUser/Topic config on top level
386 kafkaUser: *kafkaUser
389 # dependency / sub-chart configuration
392 mariadb-galera: &mariadbGalera
393 nameOverride: &sdnc-db sdnc-db
394 config: &mariadbGaleraConfig
395 rootPasswordExternalSecret: *rootDbSecret
396 userName: &dbUser sdnctl
397 userCredentialsExternalSecret: *dbSecretName
399 externalSecret: *rootDbSecret
402 externalSecret: *dbSecretName
407 mountSubPath: sdnc/mariadb-galera
411 nameOverride: *sdnc-db
418 nameOverride: sdnc-dmaap-listener
422 <<: *mariadbGaleraConfig
423 mysqlDatabase: *sdncDbName
428 configDir: /opt/onap/sdnc/data/properties
429 odlCredsExternalSecret: *odlCredsSecretName
436 <<: *mariadbGaleraConfig
437 mysqlDatabase: *sdncDbName
438 nameOverride: sdnc-ueb-listener
442 configDir: /opt/onap/sdnc/data/properties
443 odlCredsExternalSecret: *odlCredsSecretName
448 restCredsExternalSecret: *ansibleSecretName
452 <<: *mariadbGaleraConfig
453 mysqlDatabase: ansible
455 name: sdnc-ansible-server
460 nameOverride: sdnc-dgbuilder
464 rootPasswordExternalSecret: '{{ .Values.global.mariadbGalera.localCluster |
466 (printf "%s-sdnc-db-root-password" (include "common.release" .))
467 (include "common.mariadb.secret.rootPassSecretName"
468 (dict "dot" . "chartName" "mariadb-galera")) }}'
469 userCredentialsExternalSecret: *dbSecretName
470 dbPodName: mariadb-galera
471 dbServiceName: mariadb-galera
472 # This should be revisited and changed to plain text
473 dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
475 nameOverride: sdnc-dgbuilder
487 - baseaddr: "sdnc-dgbuilder-ui"
488 name: "sdnc-dgbuilder"
495 # local elasticsearch cluster
496 localElasticCluster: true
498 nameOverride: &elasticSearchName sdnrdb
501 name: *elasticSearchName
504 # dedicatednode: "yes"
505 # working as master node only, in this case increase replicaCount for elasticsearch-data
506 # dedicatednode: "no"
507 # handles master and data node functionality
509 nameOverride: *elasticSearchName
510 cluster_name: sdnrdb-cluster
515 ## set if web socket port should not be default
516 # sdnrWebsocketPort: *sdnrWebsocketPort
517 # default number of instances
524 # probe configuration parameters
526 initialDelaySeconds: 10
528 # necessary to disable liveness probe when setting breakpoints
529 # in debugger so K8s doesn't restart unresponsive container
533 initialDelaySeconds: 10
564 callHomePort: &chport 4334
566 ## set if web socket port should not be default
567 ## change in sdnc-web section as well
568 # sdnrWebsocketPort: &sdnrWebsocketPort 8182
571 ## Persist data to a persitent volume
575 ## A manually managed Persistent Volume and Claim
576 ## Requires persistence.enabled: true
577 ## If defined, PVC must be created manually before volume will be bound
579 volumeReclaimPolicy: Retain
581 ## database data Persistent Volume Storage Class
582 ## If defined, storageClassName: <storageClass>
583 ## If set to "-", storageClassName: "", which disables dynamic provisioning
584 ## If undefined (the default) or set to null, no storageClassName spec is
585 ## set, choosing the default provisioner. (gp2 on AWS, standard on
586 ## GKE, AWS & OpenStack)
587 accessMode: ReadWriteOnce
589 mountPath: /dockerdata-nfs
590 mountSubPath: sdnc/mdsal
591 mdsalPath: /opt/opendaylight/mdsal
592 daeximPath: /opt/opendaylight/mdsal/daexim
593 journalPath: /opt/opendaylight/segmented-journal
594 snapshotsPath: /opt/opendaylight/snapshots
599 - baseaddr: "sdnc-api"
602 - baseaddr: "sdnc-callhome"
603 name: "sdnc-callhome"
613 authorizedPrincipals:
614 - serviceAccount: a1policymanagement-read
615 - serviceAccount: cds-blueprints-processor-read
616 - serviceAccount: consul-read
617 - serviceAccount: ncmp-dmi-plugin-read
618 - serviceAccount: policy-drools-pdp-read
619 - serviceAccount: robot-read
620 - serviceAccount: sdnc-ansible-server-read
621 - serviceAccount: sdnc-dmaap-listener-read
622 - serviceAccount: sdnc-prom-read
623 - serviceAccount: sdnc-ueb-listener-read
624 - serviceAccount: sdnc-web-read
625 - serviceAccount: so-sdnc-adapter-read
626 - serviceAccount: istio-ingress
627 namespace: istio-ingress
628 authorizedPrincipalsSdnHosts:
629 - serviceAccount: sdnc-read
631 #Resource Limit flavor -By Default using small
633 #segregation for different envionment (Small and Large)
652 #Pods Service Account