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 # flag to enable the DB creation via mariadb-operator
29 #This flag allows SO to instantiate its own mariadb-galera cluster
30 #If shared instance is used, this chart assumes that DB already exists
32 service: &mariadbService mariadb-galera
34 nameOverride: &mariadbName mariadb-galera
35 # (optional) if localCluster=false and an external secret is used set this variable
36 #userRootSecret: <secretName>
39 #################################################################
41 #################################################################
43 - uid: db-root-password
44 name: &rootDbSecret '{{ include "common.release" . }}-sdnc-db-root-password'
46 # If we're using shared mariadb, we need to use the secret name (second
48 # If not, we do the same trick than for user db secret hat allows you
49 # override this secret using external one with the same field that is used
50 # to pass this to subchart.
51 externalSecret: '{{ .Values.global.mariadbGalera.localCluster |
52 ternary (( hasSuffix "sdnc-db-root-password" (index .Values "mariadb-galera" "rootUser" "externalSecret")) |
55 (tpl (default "" (index .Values "mariadb-galera" "rootUser" "externalSecret")) .)
57 ( (not (empty (default "" .Values.global.mariadbGalera.userRootSecret))) |
59 .Values.global.mariadbGalera.userRootSecret
60 (include "common.mariadb.secret.rootPassSecretName"
61 (dict "dot" . "chartName" .Values.global.mariadbGalera.nameOverride)
64 password: '{{ (index .Values "mariadb-galera" "rootUser" "password") }}'
66 name: &dbSecretName '{{ include "common.release" . }}-sdnc-db-secret'
68 # This is a nasty trick that allows you override this secret using external one
69 # with the same field that is used to pass this to subchart
70 externalSecret: '{{ (hasSuffix "sdnc-db-secret" (index .Values "mariadb-galera" "db" "externalSecret")) |
73 (tpl (default "" (index .Values "mariadb-galera" "db" "externalSecret")) .) }}'
74 login: '{{ index .Values "mariadb-galera" "db" "user" }}'
75 password: '{{ index .Values "mariadb-galera" "db" "password" }}'
77 name: &odlCredsSecretName '{{ include "common.release" . }}-sdnc-odl-creds'
79 externalSecret: '{{ .Values.config.odlCredsExternalSecret }}'
80 login: '{{ .Values.config.odlUser }}'
81 password: '{{ .Values.config.odlPassword }}'
82 # For now this is left hardcoded but should be revisited in a future
83 passwordPolicy: required
86 externalSecret: '{{ .Values.config.netboxApikeyExternalSecret }}'
87 password: '{{ .Values.config.netboxApikey }}'
88 passwordPolicy: required
89 - uid: aai-truststore-password
91 externalSecret: '{{ .Values.config.aaiTruststoreExternalSecret }}'
92 password: '{{ .Values.config.aaiTruststorePassword }}'
93 passwordPolicy: required
94 - uid: ansible-truststore-password
96 externalSecret: '{{ .Values.config.ansibleTruststoreExternalSecret }}'
97 password: '{{ .Values.config.ansibleTruststorePassword }}'
98 passwordPolicy: required
99 - uid: truststore-password
101 externalSecret: '{{ .Values.config.truststoreExternalSecret }}'
102 password: '{{ .Values.config.truststorePassword }}'
103 passwordPolicy: required
104 - uid: keystore-password
106 externalSecret: '{{ .Values.config.keystoreExternalSecret }}'
107 password: '{{ .Values.config.keystorePassword }}'
108 passwordPolicy: required
111 externalSecret: '{{ .Values.config.dmaapAuthKeyExternalSecret }}'
112 password: '{{ .Values.config.dmaapAuthKey }}'
113 passwordPolicy: required
114 - uid: aai-user-creds
116 externalSecret: '{{ .Values.config.aaiCredsExternalSecret}}'
117 login: '{{ .Values.config.aaiUser }}'
118 password: '{{ .Values.config.aaiPassword }}'
119 passwordPolicy: required
122 externalSecret: '{{ .Values.config.soCredsExternalSecret}}'
123 login: '{{ .Values.config.soUser }}'
124 password: '{{ .Values.config.soPassword }}'
125 passwordPolicy: required
126 - uid: neng-user-creds
128 externalSecret: '{{ .Values.config.nengCredsExternalSecret}}'
129 login: '{{ .Values.config.nengUser }}'
130 password: '{{ .Values.config.nengPassword }}'
131 passwordPolicy: required
132 - uid: cds-user-creds
134 externalSecret: '{{ .Values.config.cdsCredsExternalSecret}}'
135 login: '{{ .Values.config.cdsUser }}'
136 password: '{{ .Values.config.cdsPassword }}'
137 passwordPolicy: required
138 - uid: honeycomb-user-creds
140 externalSecret: '{{ .Values.config.honeycombCredsExternalSecret}}'
141 login: '{{ .Values.config.honeycombUser }}'
142 password: '{{ .Values.config.honeycombPassword }}'
143 passwordPolicy: required
144 - uid: dmaap-user-creds
146 externalSecret: '{{ .Values.config.dmaapCredsExternalSecret}}'
147 login: '{{ .Values.config.dmaapUser }}'
148 password: '{{ .Values.config.dmaapPassword }}'
149 passwordPolicy: required
150 - uid: modeling-user-creds
152 externalSecret: '{{ .Values.config.modelingCredsExternalSecret}}'
153 login: '{{ .Values.config.modelingUser }}'
154 password: '{{ .Values.config.modelingPassword }}'
155 passwordPolicy: required
156 - uid: restconf-creds
158 externalSecret: '{{ .Values.config.restconfCredsExternalSecret}}'
159 login: '{{ .Values.config.restconfUser }}'
160 password: '{{ .Values.config.restconfPassword }}'
161 passwordPolicy: required
163 name: &ansibleSecretName '{{ include "common.release" . }}-sdnc-ansible-creds'
165 externalSecret: '{{ .Values.config.ansibleCredsExternalSecret}}'
166 login: '{{ .Values.config.ansibleUser }}'
167 password: '{{ .Values.config.ansiblePassword }}'
168 passwordPolicy: required
169 - uid: scaleout-creds
171 externalSecret: '{{ .Values.config.scaleoutCredsExternalSecret}}'
172 login: '{{ .Values.config.scaleoutUser }}'
173 password: '{{ .Values.config.scaleoutPassword }}'
174 passwordPolicy: required
175 - uid: oauth-token-secret
177 externalSecret: '{{ ternary (tpl (default "" .Values.config.sdnr.oauth.tokenExternalSecret) .) "oauth-disabled" .Values.config.sdnr.oauth.enabled }}'
178 password: '{{ .Values.config.sdnr.oauth.tokenSecret }}'
179 passwordPolicy: required
180 - uid: keycloak-secret
182 externalSecret: '{{ ternary (tpl (default "" .Values.config.sdnr.oauth.providersSecrets.keycloakExternalSecret) .) "oauth-disabled" .Values.config.sdnr.oauth.enabled }}'
183 password: '{{ .Values.config.sdnr.oauth.providersSecrets.keycloak }}'
184 passwordPolicy: required
185 - uid: ves-collector-secret
187 login: '{{ .Values.config.sdnr.vesCollector.username }}'
188 password: '{{ .Values.config.sdnr.vesCollector.password }}'
190 name: &sdnrdbSecretName '{{ include "common.release" . }}-sdnc-sdnrdb-secret'
192 login: '{{ index .Values "config" "sdnr" "mariadb" "user" }}'
193 password: '{{ index .Values "config" "sdnr" "mariadb" "password" }}'
194 #################################################################
196 #################################################################
198 - mountPath: /var/custom-certs
199 commonName: sdnc.simpledemo.onap.org
201 - sdnc.simpledemo.onap.org
207 name: sdnc-cmpv2-keystore-password
210 group: certmanager.onap.org
212 name: cmpv2-issuer-onap
213 #################################################################
214 # Application configuration defaults.
215 #################################################################
219 image: onap/sdnc-image:2.5.5
221 # flag to enable debugging - application support required
224 # application configuration
229 odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
230 # odlCredsExternalSecret: some secret
231 netboxApikey: onceuponatimeiplayedwithnetbox20180814
232 # netboxApikeyExternalSecret: some secret
233 aaiTruststorePassword: changeit
234 # aaiTruststoreExternalSecret: some secret
235 ansibleTruststorePassword: changeit
236 # ansibleTruststoreExternalSecret: some secret
237 truststorePassword: adminadmin
238 # truststoreExternalSecret: some secret
239 keystorePassword: adminadmin
240 # keystoreExternalSecret: some secret
241 aaiUser: sdnc@sdnc.onap.org
242 aaiPassword: demo123456!
243 # aaiCredsExternalSecret: some secret
245 soPassword: password1$
246 # soCredsExternalSecret: some secret
248 nengPassword: ccsdkapps
249 # nengCredsExternalSecret: some secret
251 cdsPassword: ccsdkapps
252 # cdsCredsExternalSecret: some secret
254 honeycombPassword: admin
255 # honeycombCredsExternalSecret: some secret
258 dmaapAuthKey: "fs20cKwalJ6ry4kX:7Hqm6BDZK47IKxGRkOPFk33qMYs="
259 # dmaapCredsExternalSecret: some secret
260 # dmaapAuthKeyExternalSecret: some secret
261 modelingUser: ccsdkapps
262 modelingPassword: ccsdkapps
263 # modelingCredsExternalSecret: some secret
265 restconfPassword: admin
266 # restconfCredsExternalSecret: some secret
268 scaleoutPassword: admin
269 # scaleoutExternalSecret: some secret
271 ansiblePassword: sdnc
272 # ansibleCredsExternalSecret: some secret
274 dbSdnctlDatabase: &sdncDbName sdnctl
275 enableClustering: true
276 sdncHome: /opt/onap/sdnc
277 binDir: /opt/onap/sdnc/bin
278 etcDir: /opt/onap/sdnc/data
280 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
281 # if geoEnabled is set to true the following 3 values must be set to their proper values
282 myODLCluster: 127.0.0.1
283 peerODLCluster: 127.0.0.1
284 isPrimaryCluster: true
285 configDir: /opt/onap/sdnc/data/properties
286 ccsdkConfigDir: /opt/onap/ccsdk/data/properties
289 logstashServiceName: log-ls
291 ansibleServiceName: sdnc-ansible-server
293 javaHome: /opt/java/openjdk
296 etcDir: /opt/opendaylight/etc
297 binDir: /opt/opendaylight/bin
298 gcLogDir: /opt/opendaylight/data/log
299 salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
300 salConfigVersion: 1.10.4
307 recoveryEventTimeout: 90s
309 persistentActorRestartMinBackoffInSeconds: 10
310 persistentActorRestartMaxBackoffInSeconds: 40
311 persistentActorRestartResetBackoffInSeconds: 20
312 shardTransactionCommitTimeoutInSeconds: 120
313 shardIsolatedLeaderCheckIntervalInMillis: 30000
314 operationTimeoutInSeconds: 120
316 maxGCPauseMillis: 100
317 parallelGCThreads : 3
322 # Next line enables gc logging
323 # gcLogOptions: "-Xlog:gc=trace:file={{.Values.config.odl.gcLogDir}}/gc-%t.log}:time,level,tags:filecount={{.Values.config.odl.javaOptions.numberGCLogFiles}}"
324 # enables sdnr functionality
327 # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
328 # mode: dm - SDNC contains sdnr device manager + ODLUX components
330 # sdnronly: true starts sdnc container with odl and sdnrwt features only
332 sdnrdbTrustAllCerts: true
334 ## for legacy eleasticsearch database
335 enabled: &esdbenabled true
336 # enabled: &esdbenabled false
338 ## for legacy eleasticsearch database
343 externalSecret: *sdnrdbSecretName
348 consumerGroupPrefix: &consumerGroupPrefix sdnr
349 # Strimzi KafkaUser config see configuration below
350 kafkaUser: &kafkaUser
352 - name: unauthenticated.SEC_
356 - name: unauthenticated.VES_PNFREG_OUTPUT
360 - name: *consumerGroupPrefix
364 ## set if bootstrap server is not OOM standard
365 # bootstrapServers: []
366 ## set connection parameters if not default
367 # securityProtocol: PLAINTEXT
368 # saslMechanism: SCRAM-SHA-512
369 ## saslJassConfig: provided by secret
372 mountpointStateProviderEnabled: false
379 tokenIssuer: ONAP SDNC
381 supportOdlusers: true
386 # example definition for a oauth provider
388 keycloak: d8d7ed52-0691-4353-9ac6-5383e72e9c46
392 host: http://keycloak:8080
394 secret: ${KEYCLOAK_SECRET}
396 title: ONAP Keycloak Provider
403 trustAllCertificates: false
406 address: dcae-ves-collector.onap
409 reportingEntityName: ONAP SDN-R
410 eventLogMsgDetail: SHORT
412 # Strimzi KafkaUser/Topic config on top level
413 kafkaUser: *kafkaUser
416 # dependency / sub-chart configuration
419 mariadb-galera: &mariadbGalera
420 nameOverride: &sdnc-db sdnc-db
421 config: &mariadbGaleraConfig
422 rootPasswordExternalSecret: *rootDbSecret
423 userName: &dbUser sdnctl
424 userCredentialsExternalSecret: *dbSecretName
426 externalSecret: *rootDbSecret
430 externalSecret: *dbSecretName
435 mountSubPath: sdnc/mariadb-galera
442 nameOverride: *sdnc-db
449 nameOverride: sdnc-dmaap-listener
453 <<: *mariadbGaleraConfig
454 mysqlDatabase: *sdncDbName
459 configDir: /opt/onap/sdnc/data/properties
460 odlCredsExternalSecret: *odlCredsSecretName
467 <<: *mariadbGaleraConfig
468 mysqlDatabase: *sdncDbName
469 nameOverride: sdnc-ueb-listener
473 configDir: /opt/onap/sdnc/data/properties
474 odlCredsExternalSecret: *odlCredsSecretName
479 restCredsExternalSecret: *ansibleSecretName
483 <<: *mariadbGaleraConfig
484 mysqlDatabase: ansible
486 name: sdnc-ansible-server
491 nameOverride: sdnc-dgbuilder
495 rootPasswordExternalSecret: '{{ .Values.global.mariadbGalera.localCluster |
497 (printf "%s-sdnc-db-root-password" (include "common.release" .))
498 (include "common.mariadb.secret.rootPassSecretName"
499 (dict "dot" . "chartName" "mariadb-galera")) }}'
500 userCredentialsExternalSecret: *dbSecretName
501 dbPodName: *mariadbName
502 dbServiceName: *mariadbService
503 # This should be revisited and changed to plain text
504 dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
506 nameOverride: sdnc-dgbuilder
518 - baseaddr: "sdnc-dgbuilder-ui"
519 name: "sdnc-dgbuilder"
526 # local elasticsearch cluster
527 localElasticCluster: true
529 enabled: *esdbenabled
530 nameOverride: &elasticSearchName sdnrdb
533 name: *elasticSearchName
536 # dedicatednode: "yes"
537 # working as master node only, in this case increase replicaCount for elasticsearch-data
538 # dedicatednode: "no"
539 # handles master and data node functionality
541 nameOverride: *elasticSearchName
542 cluster_name: sdnrdb-cluster
547 ## set if web socket port should not be default
548 # sdnrWebsocketPort: *sdnrWebsocketPort
549 # default number of instances
556 # probe configuration parameters
558 initialDelaySeconds: 10
560 # necessary to disable liveness probe when setting breakpoints
561 # in debugger so K8s doesn't restart unresponsive container
565 initialDelaySeconds: 10
596 callHomePort: &chport 4334
598 ## set if web socket port should not be default
599 ## change in sdnc-web section as well
600 # sdnrWebsocketPort: &sdnrWebsocketPort 8182
603 ## Persist data to a persitent volume
607 ## A manually managed Persistent Volume and Claim
608 ## Requires persistence.enabled: true
609 ## If defined, PVC must be created manually before volume will be bound
611 volumeReclaimPolicy: Retain
613 ## database data Persistent Volume Storage Class
614 ## If defined, storageClassName: <storageClass>
615 ## If set to "-", storageClassName: "", which disables dynamic provisioning
616 ## If undefined (the default) or set to null, no storageClassName spec is
617 ## set, choosing the default provisioner. (gp2 on AWS, standard on
618 ## GKE, AWS & OpenStack)
619 accessMode: ReadWriteOnce
621 mountPath: /dockerdata-nfs
622 mountSubPath: sdnc/mdsal
623 mdsalPath: /opt/opendaylight/mdsal
624 daeximPath: /opt/opendaylight/mdsal/daexim
625 journalPath: /opt/opendaylight/segmented-journal
626 snapshotsPath: /opt/opendaylight/snapshots
631 - baseaddr: "sdnc-api"
634 - baseaddr: "sdnc-callhome"
635 name: "sdnc-callhome"
645 authorizedPrincipals:
646 - serviceAccount: a1policymanagement-read
647 - serviceAccount: cds-blueprints-processor-read
648 - serviceAccount: consul-read
649 - serviceAccount: ncmp-dmi-plugin-read
650 - serviceAccount: policy-drools-pdp-read
651 - serviceAccount: robot-read
652 - serviceAccount: sdnc-ansible-server-read
653 - serviceAccount: sdnc-dmaap-listener-read
654 - serviceAccount: sdnc-prom-read
655 - serviceAccount: sdnc-ueb-listener-read
656 - serviceAccount: sdnc-web-read
657 - serviceAccount: so-sdnc-adapter-read
658 - serviceAccount: istio-ingress
659 namespace: istio-ingress
660 authorizedPrincipalsSdnHosts:
661 - serviceAccount: sdnc-read
663 #Resource Limit flavor -By Default using small
665 #segregation for different envionment (Small and Large)
684 #Pods Service Account