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