[DCAEGEN2] Update cm-container and consul-loader
[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-user-creds
90     type: basicAuth
91     externalSecret: '{{ .Values.config.aaiCredsExternalSecret}}'
92     login: '{{ .Values.config.aaiUser }}'
93     password: '{{ .Values.config.aaiPassword }}'
94     passwordPolicy: required
95   - uid: modeling-user-creds
96     type: basicAuth
97     externalSecret: '{{ .Values.config.modelingCredsExternalSecret}}'
98     login: '{{ .Values.config.modelingUser }}'
99     password: '{{ .Values.config.modelingPassword }}'
100     passwordPolicy: required
101   - uid: restconf-creds
102     type: basicAuth
103     externalSecret: '{{ .Values.config.restconfCredsExternalSecret}}'
104     login: '{{ .Values.config.restconfUser }}'
105     password: '{{ .Values.config.restconfPassword }}'
106     passwordPolicy: required
107   - uid: ansible-creds
108     name: &ansibleSecretName '{{ include "common.release" . }}-sdnc-ansible-creds'
109     type: basicAuth
110     externalSecret: '{{ .Values.config.ansibleCredsExternalSecret}}'
111     login: '{{ .Values.config.ansibleUser }}'
112     password: '{{ .Values.config.ansiblePassword }}'
113     passwordPolicy: required
114   - uid: scaleout-creds
115     type: basicAuth
116     externalSecret: '{{ .Values.config.scaleoutCredsExternalSecret}}'
117     login: '{{ .Values.config.scaleoutUser }}'
118     password: '{{ .Values.config.scaleoutPassword }}'
119     passwordPolicy: required
120   - uid: keystore-password
121     type: password
122     password: secret
123     passwordPolicy: required
124 #################################################################
125 # Certificates
126 #################################################################
127 certificates:
128   - mountPath:  /var/custom-certs
129     commonName: sdnc.simpledemo.onap.org
130     dnsNames:
131         - sdnc.simpledemo.onap.org
132     p12Keystore:
133       create: true
134       passwordSecretRef:
135         name: keystore-password
136         key: password
137     jksKeystore:
138       create: true
139       passwordSecretRef:
140         name: keystore-password
141         key: password
142 #################################################################
143 # Application configuration defaults.
144 #################################################################
145 # application images
146
147 pullPolicy: Always
148 image: onap/sdnc-image:2.0.5
149
150 # flag to enable debugging - application support required
151 debugEnabled: false
152
153 # application configuration
154 config:
155   odlUid: 100
156   odlGid: 101
157   odlUser: admin
158   odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
159   # odlCredsExternalSecret: some secret
160   netboxApikey: onceuponatimeiplayedwithnetbox20180814
161   # netboxApikeyExternalSecret: some secret
162   aaiUser: sdnc@sdnc.onap.org
163   aaiPassword: demo123456!
164   # aaiCredsExternalSecret: some secret
165   modelingUser: ccsdkapps
166   modelingPassword: ccsdkapps
167   # modelingCredsExternalSecret: some secret
168   restconfUser: admin
169   restconfPassword: admin
170   # restconfCredsExternalSecret: some secret
171   scaleoutUser: admin
172   scaleoutPassword: admin
173   # scaleoutExternalSecret: some secret
174   ansibleUser: sdnc
175   ansiblePassword: sdnc
176   # ansibleCredsExternalSecret: some secret
177   dbSdnctlDatabase: &sdncDbName sdnctl
178   enableClustering: true
179   sdncHome: /opt/onap/sdnc
180   binDir: /opt/onap/sdnc/bin
181   etcDir: /opt/onap/sdnc/data
182   geoEnabled: false
183 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
184 # if geoEnabled is set to true the following 3 values must be set to their proper values
185   myODLCluster: 127.0.0.1
186   peerODLCluster: 127.0.0.1
187   isPrimaryCluster: true
188   configDir: /opt/onap/sdnc/data/properties
189   ccsdkConfigDir: /opt/onap/ccsdk/data/properties
190   dmaapTopic: SUCCESS
191   dmaapPort: 3904
192   logstashServiceName: log-ls
193   logstashPort: 5044
194   ansibleServiceName: sdnc-ansible-server
195   ansiblePort: 8000
196   javaHome: /opt/java/openjdk
197
198   odl:
199     etcDir: /opt/opendaylight/etc
200     binDir: /opt/opendaylight/bin
201     gcLogDir: /opt/opendaylight/data/log
202     salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
203     salConfigVersion: 1.10.4
204     akka:
205       seedNodeTimeout: 15s
206       circuitBreaker:
207         maxFailures: 10
208         callTimeout: 90s
209         resetTimeout: 30s
210       recoveryEventTimeout: 90s
211     datastore:
212       persistentActorRestartMinBackoffInSeconds: 10
213       persistentActorRestartMaxBackoffInSeconds: 40
214       persistentActorRestartResetBackoffInSeconds: 20
215       shardTransactionCommitTimeoutInSeconds: 120
216       shardIsolatedLeaderCheckIntervalInMillis: 30000
217       operationTimeoutInSeconds: 120
218     javaOptions:
219       maxGCPauseMillis: 100
220       parallelGCThreads : 3
221       numberGCLogFiles: 10
222       minMemory: 512m
223       maxMemory: 2048m
224       gcLogOptions: ""
225       # Next line enables gc logging
226       # gcLogOptions: "-Xlog:gc=trace:file={{.Values.config.odl.gcLogDir}}/gc-%t.log}:time,level,tags:filecount={{.Values.config.odl.javaOptions.numberGCLogFiles}}"
227         # enables sdnr functionality
228   sdnr:
229     enabled: true
230     # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
231     # mode: dm - SDNC contains sdnr device manager + ODLUX components
232     mode: dm
233     # sdnronly: true starts sdnc container with odl and sdnrwt features only
234     sdnronly: false
235     sdnrdbTrustAllCerts: true
236     mountpointRegistrarEnabled: false
237     mountpointStateProviderEnabled: false
238     # enable and set dmaap-proxy for mountpointRegistrar
239     dmaapProxy:
240       enabled: false
241       usepwd: true
242       user: addUserHere
243       password: addPasswordHere
244       url: addProxyUrlHere
245
246
247
248
249
250 # dependency / sub-chart configuration
251 certInitializer:
252   nameOverride: sdnc-cert-initializer
253   truststoreMountpath: /opt/onap/sdnc/data/stores
254   fqdn: "sdnc"
255   app_ns: "org.osaaf.aaf"
256   fqi: "sdnc@sdnc.onap.org"
257   fqi_namespace: org.onap.sdnc
258   public_fqdn: "sdnc.onap.org"
259   aafDeployFqi: "deployer@people.osaaf.org"
260   aafDeployPass: demo123456!
261   cadi_latitude: "38.0"
262   cadi_longitude: "-72.0"
263   credsPath: /opt/app/osaaf/local
264   aaf_add_config: >
265     cd /opt/app/osaaf/local;
266     /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
267
268 # dependency / sub-chart configuration
269 network-name-gen:
270   enabled: true
271 mariadb-galera: &mariadbGalera
272   nameOverride: &sdnc-db sdnc-db
273   config: &mariadbGaleraConfig
274     rootPasswordExternalSecret: *rootDbSecret
275     userName: &dbUser sdnctl
276     userCredentialsExternalSecret: *dbSecretName
277   rootUser:
278     externalSecret: *rootDbSecret
279   db:
280     user: *dbUser
281     externalSecret: *dbSecretName
282   service:
283     name: sdnc-dbhost
284   sdnctlPrefix: sdnc
285   persistence:
286     mountSubPath: sdnc/mariadb-galera
287     enabled: true
288   replicaCount: 1
289   serviceAccount:
290     nameOverride: *sdnc-db
291
292 cds:
293   enabled: false
294
295 dmaap-listener:
296   enabled: true
297   nameOverride: sdnc-dmaap-listener
298   mariadb-galera:
299     <<: *mariadbGalera
300     config:
301       <<: *mariadbGaleraConfig
302       mysqlDatabase: *sdncDbName
303   config:
304     sdncChartName: sdnc
305     dmaapPort: 3904
306     sdncPort: 8282
307     configDir: /opt/onap/sdnc/data/properties
308     odlCredsExternalSecret: *odlCredsSecretName
309
310 ueb-listener:
311   enabled: true
312   mariadb-galera:
313     <<: *mariadbGalera
314     config:
315       <<: *mariadbGaleraConfig
316       mysqlDatabase: *sdncDbName
317   nameOverride: sdnc-ueb-listener
318   config:
319     sdncPort: 8282
320     sdncChartName: sdnc
321     configDir: /opt/onap/sdnc/data/properties
322     odlCredsExternalSecret: *odlCredsSecretName
323
324 sdnc-ansible-server:
325   enabled: true
326   config:
327     restCredsExternalSecret: *ansibleSecretName
328   mariadb-galera:
329     <<: *mariadbGalera
330     config:
331       <<: *mariadbGaleraConfig
332       mysqlDatabase: ansible
333   service:
334     name: sdnc-ansible-server
335     internalPort: 8000
336
337 dgbuilder:
338   enabled: true
339   nameOverride: sdnc-dgbuilder
340   certInitializer:
341     nameOverride: sdnc-dgbuilder-cert-initializer
342   config:
343     db:
344       dbName: *sdncDbName
345       rootPasswordExternalSecret: '{{ .Values.global.mariadbGalera.localCluster |
346         ternary
347           (printf "%s-sdnc-db-root-password" (include "common.release" .))
348           (include "common.mariadb.secret.rootPassSecretName"
349             (dict "dot" . "chartName" "mariadb-galera")) }}'
350       userCredentialsExternalSecret: *dbSecretName
351     dbPodName: mariadb-galera
352     dbServiceName: mariadb-galera
353     # This should be revisited and changed to plain text
354     dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
355   mariadb-galera:
356   service:
357     name: sdnc-dgbuilder
358     nodePort: "03"
359
360   ingress:
361     enabled: false
362     service:
363       - baseaddr: "sdnc-dgbuilder"
364         name: "sdnc-dgbuilder"
365         port: 3000
366       - baseaddr: "sdnc-web-service"
367         name: "sdnc-web-service"
368         port: 8443
369     config:
370       ssl: "redirect"
371
372
373
374 # local elasticsearch cluster
375 localElasticCluster: true
376 elasticsearch:
377   nameOverride: &elasticSearchName sdnrdb
378   name: sdnrdb-cluster
379   certInitializer:
380     fqdn: "sdnc"
381     fqi_namespace: org.onap.sdnc
382     fqi: "sdnc@sdnc.onap.org"
383   service:
384     name: *elasticSearchName
385   master:
386     replicaCount: 3
387     # dedicatednode: "yes"
388     # working as master node only, in this case increase replicaCount for elasticsearch-data
389     # dedicatednode: "no"
390     # handles master and data node functionality
391     dedicatednode: "no"
392     nameOverride: *elasticSearchName
393     cluster_name: *elasticSearchName
394 # enable
395 sdnc-web:
396   enabled: true
397 # default number of instances
398 replicaCount: 1
399
400 nodeSelector: {}
401
402 affinity: {}
403
404 # probe configuration parameters
405 liveness:
406   initialDelaySeconds: 10
407   periodSeconds: 10
408   # necessary to disable liveness probe when setting breakpoints
409   # in debugger so K8s doesn't restart unresponsive container
410   enabled: true
411
412 readiness:
413   initialDelaySeconds: 10
414   periodSeconds: 10
415
416 service:
417   type: NodePort
418   name: sdnc
419   portName: sdnc
420   internalPort: 8181
421   internalPort2: 8101
422   internalPort3: 8080
423   internalPort4: 8443
424
425   #port
426   externalPort: 8282
427
428   externalPort2: 8202
429
430   externalPort3: 8280
431
432   externalPort4: 8443
433   nodePort4: 67
434
435   clusterPort: 2550
436   clusterPort2: 2650
437   clusterPort3: 2681
438
439   geoNodePort1: 61
440   geoNodePort2: 62
441   geoNodePort3: 63
442   geoNodePort4: 64
443   geoNodePort5: 65
444   geoNodePort6: 66
445
446 ## Persist data to a persitent volume
447 persistence:
448   enabled: true
449
450   ## A manually managed Persistent Volume and Claim
451   ## Requires persistence.enabled: true
452   ## If defined, PVC must be created manually before volume will be bound
453   # existingClaim:
454   volumeReclaimPolicy: Retain
455
456   ## database data Persistent Volume Storage Class
457   ## If defined, storageClassName: <storageClass>
458   ## If set to "-", storageClassName: "", which disables dynamic provisioning
459   ## If undefined (the default) or set to null, no storageClassName spec is
460   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
461   ##   GKE, AWS & OpenStack)
462   accessMode: ReadWriteOnce
463   size: 1Gi
464   mountPath: /dockerdata-nfs
465   mountSubPath: sdnc/mdsal
466   mdsalPath: /opt/opendaylight/mdsal
467   daeximPath: /opt/opendaylight/daexim
468   journalPath: /opt/opendaylight/journal
469   snapshotsPath: /opt/opendaylight/snapshots
470
471 certpersistence:
472   enabled: true
473
474   ## A manually managed Persistent Volume and Claim
475   ## Requires persistence.enabled: true
476   ## If defined, PVC must be created manually before volume will be bound
477   # existingClaim:
478
479   volumeReclaimPolicy: Retain
480   accessMode: ReadWriteOnce
481   size: 50Mi
482   mountPath: /dockerdata-nfs
483   mountSubPath: sdnc/certs
484   certPath: /opt/app/osaaf
485   ##storageClass: "manual"
486
487 ingress:
488   enabled: false
489   service:
490     - baseaddr: "sdnc.api"
491       name: "sdnc"
492       port: 8443
493   config:
494     ssl: "redirect"
495
496 #Resource Limit flavor -By Default using small
497 flavor: small
498 #segregation for different envionment (Small and Large)
499
500 resources:
501   small:
502     limits:
503       cpu: 2
504       memory: 4Gi
505     requests:
506       cpu: 1
507       memory: 2Gi
508   large:
509     limits:
510       cpu: 4
511       memory: 8Gi
512     requests:
513       cpu: 2
514       memory: 4Gi
515   unlimited: {}