Merge "[COMMON][DGBUILDER] Update chart with service account"
[oom.git] / kubernetes / sdnc / values.yaml
1 # Copyright © 2020 Samsung Electronics, highstreet technologies GmbH
2 # Copyright © 2017 Amdocs, Bell Canada
3 # Copyright © 2021 Nokia
4 #
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
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
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.
16
17 #################################################################
18 # Global configuration defaults.
19 #################################################################
20 global:
21   nodePortPrefix: 302
22   nodePortPrefixExt: 304
23   persistence:
24     mountPath: /dockerdata-nfs
25   aafEnabled: true
26   mariadbGalera:
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
29     localCluster: false
30     service: mariadb-galera
31     internalPort: 3306
32     nameOverride: mariadb-galera
33
34 #################################################################
35 # Secrets metaconfig
36 #################################################################
37 secrets:
38   - uid: db-root-password
39     name: &rootDbSecret '{{ include "common.release" . }}-sdnc-db-root-password'
40     type: password
41     # If we're using shared mariadb, we need to use the secret name (second
42     # part).
43     # If not, we do the same trick than for user db secret hat allows you
44     # override this secret using external one with the same field that is used
45     # to pass this to subchart.
46     externalSecret: '{{ .Values.global.mariadbGalera.localCluster |
47       ternary ((hasSuffix "sdnc-db-root-password" (index .Values "mariadb-galera" "rootUser" "externalSecret")) |
48                   ternary
49                     ""
50                     (tpl (default "" (index .Values "mariadb-galera" "rootUser" "externalSecret")) .))
51               (include "common.mariadb.secret.rootPassSecretName"
52                 (dict "dot" .
53                       "chartName" .Values.global.mariadbGalera.nameOverride)) }}'
54     password: '{{ (index .Values "mariadb-galera" "rootUser" "password") }}'
55   - uid: db-secret
56     name: &dbSecretName '{{ include "common.release" . }}-sdnc-db-secret'
57     type: basicAuth
58     # This is a nasty trick that allows you override this secret using external one
59     # with the same field that is used to pass this to subchart
60     externalSecret: '{{ (hasSuffix "sdnc-db-secret" (index .Values "mariadb-galera" "db" "externalSecret")) |
61       ternary
62         ""
63         (tpl (default "" (index .Values "mariadb-galera" "db" "externalSecret")) .) }}'
64     login: '{{ index .Values "mariadb-galera" "db" "user" }}'
65     password: '{{ index .Values "mariadb-galera" "db" "password" }}'
66   - uid: odl-creds
67     name: &odlCredsSecretName '{{ include "common.release" . }}-sdnc-odl-creds'
68     type: basicAuth
69     externalSecret: '{{ .Values.config.odlCredsExternalSecret }}'
70     login: '{{ .Values.config.odlUser }}'
71     password: '{{ .Values.config.odlPassword }}'
72     # For now this is left hardcoded but should be revisited in a future
73     passwordPolicy: required
74   - uid: dmaap-proxy-creds
75     name: &dmaapProxyCredsSecretName '{{ include "common.release" . }}-sdnc-dmaap-proxy-creds'
76     type: basicAuth
77     externalSecret: '{{ .Values.config.dmaapProxyCredsExternalSecret }}'
78     login: '{{ .Values.config.sdnr.dmaapProxy.user }}'
79     password: '{{ .Values.config.sdnr.dmaapProxy.password }}'
80     # For now this is left hardcoded but should be revisited in a future
81     passwordPolicy: required
82   - uid: netbox-apikey
83     type: password
84     externalSecret: '{{ .Values.config.netboxApikeyExternalSecret }}'
85     password: '{{ .Values.config.netboxApikey }}'
86     passwordPolicy: required
87   - uid: aai-truststore-password
88     type: password
89     externalSecret: '{{ .Values.config.aaiTruststoreExternalSecret }}'
90     password: '{{ .Values.config.aaiTruststorePassword }}'
91     passwordPolicy: required
92   - uid: ansible-truststore-password
93     type: password
94     externalSecret: '{{ .Values.config.ansibleTruststoreExternalSecret }}'
95     password: '{{ .Values.config.ansibleTruststorePassword }}'
96     passwordPolicy: required
97   - uid: truststore-password
98     type: password
99     externalSecret: '{{ .Values.config.truststoreExternalSecret }}'
100     password: '{{ .Values.config.truststorePassword }}'
101     passwordPolicy: required
102   - uid: keystore-password
103     type: password
104     externalSecret: '{{ .Values.config.keystoreExternalSecret }}'
105     password: '{{ .Values.config.keystorePassword }}'
106     passwordPolicy: required
107   - uid: dmaap-authkey
108     type: password
109     externalSecret: '{{ .Values.config.dmaapAuthKeyExternalSecret }}'
110     password: '{{ .Values.config.dmaapAuthKey }}'
111     passwordPolicy: required
112   - uid: aai-user-creds
113     type: basicAuth
114     externalSecret: '{{ .Values.config.aaiCredsExternalSecret}}'
115     login: '{{ .Values.config.aaiUser }}'
116     password: '{{ .Values.config.aaiPassword }}'
117     passwordPolicy: required
118   - uid: so-user-creds
119     type: basicAuth
120     externalSecret: '{{ .Values.config.soCredsExternalSecret}}'
121     login: '{{ .Values.config.soUser }}'
122     password: '{{ .Values.config.soPassword }}'
123     passwordPolicy: required
124   - uid: neng-user-creds
125     type: basicAuth
126     externalSecret: '{{ .Values.config.nengCredsExternalSecret}}'
127     login: '{{ .Values.config.nengUser }}'
128     password: '{{ .Values.config.nengPassword }}'
129     passwordPolicy: required
130   - uid: cds-user-creds
131     type: basicAuth
132     externalSecret: '{{ .Values.config.cdsCredsExternalSecret}}'
133     login: '{{ .Values.config.cdsUser }}'
134     password: '{{ .Values.config.cdsPassword }}'
135     passwordPolicy: required
136   - uid: honeycomb-user-creds
137     type: basicAuth
138     externalSecret: '{{ .Values.config.honeycombCredsExternalSecret}}'
139     login: '{{ .Values.config.honeycombUser }}'
140     password: '{{ .Values.config.honeycombPassword }}'
141     passwordPolicy: required
142   - uid: dmaap-user-creds
143     type: basicAuth
144     externalSecret: '{{ .Values.config.dmaapCredsExternalSecret}}'
145     login: '{{ .Values.config.dmaapUser }}'
146     password: '{{ .Values.config.dmaapPassword }}'
147     passwordPolicy: required
148   - uid: modeling-user-creds
149     type: basicAuth
150     externalSecret: '{{ .Values.config.modelingCredsExternalSecret}}'
151     login: '{{ .Values.config.modelingUser }}'
152     password: '{{ .Values.config.modelingPassword }}'
153     passwordPolicy: required
154   - uid: restconf-creds
155     type: basicAuth
156     externalSecret: '{{ .Values.config.restconfCredsExternalSecret}}'
157     login: '{{ .Values.config.restconfUser }}'
158     password: '{{ .Values.config.restconfPassword }}'
159     passwordPolicy: required
160   - uid: ansible-creds
161     name: &ansibleSecretName '{{ include "common.release" . }}-sdnc-ansible-creds'
162     type: basicAuth
163     externalSecret: '{{ .Values.config.ansibleCredsExternalSecret}}'
164     login: '{{ .Values.config.ansibleUser }}'
165     password: '{{ .Values.config.ansiblePassword }}'
166     passwordPolicy: required
167   - uid: scaleout-creds
168     type: basicAuth
169     externalSecret: '{{ .Values.config.scaleoutCredsExternalSecret}}'
170     login: '{{ .Values.config.scaleoutUser }}'
171     password: '{{ .Values.config.scaleoutPassword }}'
172     passwordPolicy: required
173   - uid: oauth-token-secret
174     type: password
175     externalSecret: '{{ ternary (tpl (default "" .Values.config.sdnr.oauth.tokenExternalSecret) .) "oauth-disabled" .Values.config.sdnr.oauth.enabled }}'
176     password: '{{ .Values.config.sdnr.oauth.tokenSecret }}'
177     passwordPolicy: required
178   - uid: keycloak-secret
179     type: password
180     externalSecret: '{{ ternary (tpl (default "" .Values.config.sdnr.oauth.providersSecrets.keycloakExternalSecret) .) "oauth-disabled" .Values.config.sdnr.oauth.enabled }}'
181     password: '{{ .Values.config.sdnr.oauth.providersSecrets.keycloak }}'
182     passwordPolicy: required
183
184 #################################################################
185 # Certificates
186 #################################################################
187 certificates:
188   - mountPath:  /var/custom-certs
189     commonName: sdnc.simpledemo.onap.org
190     dnsNames:
191         - sdnc.simpledemo.onap.org
192     keystore:
193       outputType:
194         - jks
195       passwordSecretRef:
196         create: true
197         name: sdnc-cmpv2-keystore-password
198         key: password
199     issuer:
200       group: certmanager.onap.org
201       kind: CMPv2Issuer
202       name: cmpv2-issuer-onap
203 #################################################################
204 # Application configuration defaults.
205 #################################################################
206 # application images
207
208 pullPolicy: Always
209 image: onap/sdnc-image:2.1.6
210
211 # flag to enable debugging - application support required
212 debugEnabled: false
213
214 # application configuration
215 config:
216   odlUid: 100
217   odlGid: 101
218   odlUser: admin
219   odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
220   # odlCredsExternalSecret: some secret
221   netboxApikey: onceuponatimeiplayedwithnetbox20180814
222   # netboxApikeyExternalSecret: some secret
223   aaiTruststorePassword: changeit
224   # aaiTruststoreExternalSecret: some secret
225   ansibleTruststorePassword: changeit
226   # ansibleTruststoreExternalSecret: some secret
227   truststorePassword: adminadmin
228   # truststoreExternalSecret: some secret
229   keystorePassword: adminadmin
230   # keystoreExternalSecret: some secret
231   aaiUser: sdnc@sdnc.onap.org
232   aaiPassword: demo123456!
233   # aaiCredsExternalSecret: some secret
234   soUser: sdncaBpmn
235   soPassword: password1$
236   # soCredsExternalSecret: some secret
237   nengUser: ccsdkapps
238   nengPassword: ccsdkapps
239   # nengCredsExternalSecret: some secret
240   cdsUser: ccsdkapps
241   cdsPassword: ccsdkapps
242   # cdsCredsExternalSecret: some secret
243   honeycombUser: admin
244   honeycombPassword: admin
245   # honeycombCredsExternalSecret: some secret
246   dmaapUser: admin
247   dmaapPassword: admin
248   dmaapAuthKey: "fs20cKwalJ6ry4kX:7Hqm6BDZK47IKxGRkOPFk33qMYs="
249   # dmaapCredsExternalSecret: some secret
250   # dmaapAuthKeyExternalSecret: some secret
251   modelingUser: ccsdkapps
252   modelingPassword: ccsdkapps
253   # modelingCredsExternalSecret: some secret
254   restconfUser: admin
255   restconfPassword: admin
256   # restconfCredsExternalSecret: some secret
257   scaleoutUser: admin
258   scaleoutPassword: admin
259   # scaleoutExternalSecret: some secret
260   ansibleUser: sdnc
261   ansiblePassword: sdnc
262   # ansibleCredsExternalSecret: some secret
263   dbSdnctlDatabase: &sdncDbName sdnctl
264   enableClustering: true
265   sdncHome: /opt/onap/sdnc
266   binDir: /opt/onap/sdnc/bin
267   etcDir: /opt/onap/sdnc/data
268   geoEnabled: false
269 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
270 # if geoEnabled is set to true the following 3 values must be set to their proper values
271   myODLCluster: 127.0.0.1
272   peerODLCluster: 127.0.0.1
273   isPrimaryCluster: true
274   configDir: /opt/onap/sdnc/data/properties
275   ccsdkConfigDir: /opt/onap/ccsdk/data/properties
276   dmaapTopic: SUCCESS
277   dmaapPort: 3904
278   logstashServiceName: log-ls
279   logstashPort: 5044
280   ansibleServiceName: sdnc-ansible-server
281   ansiblePort: 8000
282   javaHome: /opt/java/openjdk
283
284   odl:
285     etcDir: /opt/opendaylight/etc
286     binDir: /opt/opendaylight/bin
287     gcLogDir: /opt/opendaylight/data/log
288     salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
289     salConfigVersion: 1.10.4
290     akka:
291       seedNodeTimeout: 15s
292       circuitBreaker:
293         maxFailures: 10
294         callTimeout: 90s
295         resetTimeout: 30s
296       recoveryEventTimeout: 90s
297     datastore:
298       persistentActorRestartMinBackoffInSeconds: 10
299       persistentActorRestartMaxBackoffInSeconds: 40
300       persistentActorRestartResetBackoffInSeconds: 20
301       shardTransactionCommitTimeoutInSeconds: 120
302       shardIsolatedLeaderCheckIntervalInMillis: 30000
303       operationTimeoutInSeconds: 120
304     javaOptions:
305       maxGCPauseMillis: 100
306       parallelGCThreads : 3
307       numberGCLogFiles: 10
308       minMemory: 512m
309       maxMemory: 2048m
310       gcLogOptions: ""
311       # Next line enables gc logging
312       # gcLogOptions: "-Xlog:gc=trace:file={{.Values.config.odl.gcLogDir}}/gc-%t.log}:time,level,tags:filecount={{.Values.config.odl.javaOptions.numberGCLogFiles}}"
313         # enables sdnr functionality
314   sdnr:
315     enabled: true
316     # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
317     # mode: dm - SDNC contains sdnr device manager + ODLUX components
318     mode: dm
319     # sdnronly: true starts sdnc container with odl and sdnrwt features only
320     sdnronly: false
321     sdnrdbTrustAllCerts: true
322     mountpointRegistrarEnabled: false
323     mountpointStateProviderEnabled: false
324     netconfCallHome:
325       enabled: true
326     #
327     # enable and set dmaap-proxy for mountpointRegistrar
328     dmaapProxy:
329       enabled: false
330       usepwd: true
331       user: addUserHere
332       password: addPasswordHere
333       url: addProxyUrlHere
334     oauth:
335       enabled: false
336       tokenIssuer: ONAP SDNC
337       tokenSecret: secret
338       supportOdlusers: true
339       redirectUri: null
340       publicUrl: none
341       odluxRbac:
342         enabled: true
343       # example definition for a oauth provider
344       providersSecrets:
345         keycloak: d8d7ed52-0691-4353-9ac6-5383e72e9c46
346       providers:
347       - id: keycloak
348         type: KEYCLOAK
349         host: http://keycloak:8080
350         clientId: odlux.app
351         secret: ${KEYCLOAK_SECRET}
352         scope: openid
353         title: ONAP Keycloak Provider
354         roleMapping:
355           mykeycloak: admin
356
357 # dependency / sub-chart configuration
358 certInitializer:
359   nameOverride: sdnc-cert-initializer
360   truststoreMountpath: /opt/onap/sdnc/data/stores
361   fqdn: "sdnc"
362   app_ns: "org.osaaf.aaf"
363   fqi: "sdnc@sdnc.onap.org"
364   fqi_namespace: org.onap.sdnc
365   public_fqdn: "sdnc.onap.org"
366   aafDeployFqi: "deployer@people.osaaf.org"
367   aafDeployPass: demo123456!
368   cadi_latitude: "38.0"
369   cadi_longitude: "-72.0"
370   credsPath: /opt/app/osaaf/local
371   aaf_add_config: >
372     cd /opt/app/osaaf/local;
373     /opt/app/aaf_config/bin/agent.sh local showpass {{.Values.fqi}} {{ .Values.fqdn }} | grep cadi_keystore_password= | cut -d= -f 2 > {{ .Values.credsPath }}/.pass 2>&1
374
375 # dependency / sub-chart configuration
376 network-name-gen:
377   enabled: true
378 mariadb-galera: &mariadbGalera
379   nameOverride: &sdnc-db sdnc-db
380   config: &mariadbGaleraConfig
381     rootPasswordExternalSecret: *rootDbSecret
382     userName: &dbUser sdnctl
383     userCredentialsExternalSecret: *dbSecretName
384   rootUser:
385     externalSecret: *rootDbSecret
386   db:
387     user: *dbUser
388     externalSecret: *dbSecretName
389   service:
390     name: sdnc-dbhost
391   sdnctlPrefix: sdnc
392   persistence:
393     mountSubPath: sdnc/mariadb-galera
394     enabled: true
395   replicaCount: 1
396   serviceAccount:
397     nameOverride: *sdnc-db
398
399 cds:
400   enabled: false
401
402 dmaap-listener:
403   enabled: true
404   nameOverride: sdnc-dmaap-listener
405   mariadb-galera:
406     <<: *mariadbGalera
407     config:
408       <<: *mariadbGaleraConfig
409       mysqlDatabase: *sdncDbName
410   config:
411     sdncChartName: sdnc
412     dmaapPort: 3904
413     sdncPort: 8282
414     configDir: /opt/onap/sdnc/data/properties
415     odlCredsExternalSecret: *odlCredsSecretName
416
417 ueb-listener:
418   enabled: true
419   mariadb-galera:
420     <<: *mariadbGalera
421     config:
422       <<: *mariadbGaleraConfig
423       mysqlDatabase: *sdncDbName
424   nameOverride: sdnc-ueb-listener
425   config:
426     sdncPort: 8282
427     sdncChartName: sdnc
428     configDir: /opt/onap/sdnc/data/properties
429     odlCredsExternalSecret: *odlCredsSecretName
430
431 sdnc-ansible-server:
432   enabled: true
433   config:
434     restCredsExternalSecret: *ansibleSecretName
435   mariadb-galera:
436     <<: *mariadbGalera
437     config:
438       <<: *mariadbGaleraConfig
439       mysqlDatabase: ansible
440   service:
441     name: sdnc-ansible-server
442     internalPort: 8000
443
444 dgbuilder:
445   enabled: true
446   nameOverride: sdnc-dgbuilder
447   certInitializer:
448     nameOverride: sdnc-dgbuilder-cert-initializer
449   config:
450     db:
451       dbName: *sdncDbName
452       rootPasswordExternalSecret: '{{ .Values.global.mariadbGalera.localCluster |
453         ternary
454           (printf "%s-sdnc-db-root-password" (include "common.release" .))
455           (include "common.mariadb.secret.rootPassSecretName"
456             (dict "dot" . "chartName" "mariadb-galera")) }}'
457       userCredentialsExternalSecret: *dbSecretName
458     dbPodName: mariadb-galera
459     dbServiceName: mariadb-galera
460     # This should be revisited and changed to plain text
461     dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
462   serviceAccount:
463     nameOverride: sdnc-dgbuilder
464   mariadb-galera:
465   service:
466     name: sdnc-dgbuilder
467     nodePort: "03"
468
469   ingress:
470     enabled: false
471     service:
472       - baseaddr: "sdnc-dgbuilder"
473         name: "sdnc-dgbuilder"
474         port: 3000
475       - baseaddr: "sdnc-web-service"
476         name: "sdnc-web-service"
477         port: 8443
478     config:
479       ssl: "redirect"
480
481
482
483 # local elasticsearch cluster
484 localElasticCluster: true
485 elasticsearch:
486   nameOverride: &elasticSearchName sdnrdb
487   name: sdnrdb-cluster
488   certInitializer:
489     fqdn: "sdnc"
490     fqi_namespace: org.onap.sdnc
491     fqi: "sdnc@sdnc.onap.org"
492   service:
493     name: *elasticSearchName
494   master:
495     replicaCount: 3
496     # dedicatednode: "yes"
497     # working as master node only, in this case increase replicaCount for elasticsearch-data
498     # dedicatednode: "no"
499     # handles master and data node functionality
500     dedicatednode: "no"
501     nameOverride: *elasticSearchName
502     cluster_name: sdnrdb-cluster
503 # enable
504 sdnc-web:
505   enabled: true
506 # default number of instances
507 replicaCount: 1
508
509 nodeSelector: {}
510
511 affinity: {}
512
513 # probe configuration parameters
514 liveness:
515   initialDelaySeconds: 10
516   periodSeconds: 10
517   # necessary to disable liveness probe when setting breakpoints
518   # in debugger so K8s doesn't restart unresponsive container
519   enabled: true
520
521 readiness:
522   initialDelaySeconds: 10
523   periodSeconds: 10
524
525 service:
526   type: NodePort
527   name: sdnc
528   portName: sdnc
529   internalPort: 8181
530   internalPort2: 8101
531   internalPort3: 8080
532   internalPort4: 8443
533
534   #port
535   externalPort: 8282
536
537   externalPort2: 8202
538
539   externalPort3: 8280
540
541   externalPort4: 8443
542   nodePort4: 67
543
544   clusterPort: 2550
545   clusterPort2: 2650
546   clusterPort3: 2681
547
548   geoNodePort1: 61
549   geoNodePort2: 62
550   geoNodePort3: 63
551   geoNodePort4: 64
552   geoNodePort5: 65
553   geoNodePort6: 66
554
555   callHomePort: 6666
556   callHomeNodePort: 66
557
558 ## Persist data to a persitent volume
559 persistence:
560   enabled: true
561
562   ## A manually managed Persistent Volume and Claim
563   ## Requires persistence.enabled: true
564   ## If defined, PVC must be created manually before volume will be bound
565   # existingClaim:
566   volumeReclaimPolicy: Retain
567
568   ## database data Persistent Volume Storage Class
569   ## If defined, storageClassName: <storageClass>
570   ## If set to "-", storageClassName: "", which disables dynamic provisioning
571   ## If undefined (the default) or set to null, no storageClassName spec is
572   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
573   ##   GKE, AWS & OpenStack)
574   accessMode: ReadWriteOnce
575   size: 1Gi
576   mountPath: /dockerdata-nfs
577   mountSubPath: sdnc/mdsal
578   mdsalPath: /opt/opendaylight/mdsal
579   daeximPath: /opt/opendaylight/mdsal/daexim
580   journalPath: /opt/opendaylight/journal
581   snapshotsPath: /opt/opendaylight/snapshots
582
583 certpersistence:
584   enabled: true
585
586   ## A manually managed Persistent Volume and Claim
587   ## Requires persistence.enabled: true
588   ## If defined, PVC must be created manually before volume will be bound
589   # existingClaim:
590
591   volumeReclaimPolicy: Retain
592   accessMode: ReadWriteOnce
593   size: 50Mi
594   mountPath: /dockerdata-nfs
595   mountSubPath: sdnc/certs
596   certPath: /opt/app/osaaf
597   ##storageClass: "manual"
598
599 ingress:
600   enabled: false
601   service:
602     - baseaddr: "sdnc.api"
603       name: "sdnc"
604       port: 8443
605   config:
606     ssl: "redirect"
607
608 #Resource Limit flavor -By Default using small
609 flavor: small
610 #segregation for different envionment (Small and Large)
611
612 resources:
613   small:
614     limits:
615       cpu: 2
616       memory: 4Gi
617     requests:
618       cpu: 1
619       memory: 2Gi
620   large:
621     limits:
622       cpu: 4
623       memory: 8Gi
624     requests:
625       cpu: 2
626       memory: 4Gi
627   unlimited: {}