Merge "[COMMON][MARIADB] Upgrade Mariadb DB galera version"
[oom.git] / kubernetes / sdnc / values.yaml
1 # Copyright © 2020 Samsung Electronics, highstreet technologies GmbH
2 # Copyright © 2017 Amdocs, Bell Canada
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 #################################################################
17 # Global configuration defaults.
18 #################################################################
19 global:
20   nodePortPrefix: 302
21   nodePortPrefixExt: 304
22   persistence:
23     mountPath: /dockerdata-nfs
24   aafEnabled: true
25   mariadbGalera:
26     #This flag allows SO to instantiate its own mariadb-galera cluster
27     #If shared instance is used, this chart assumes that DB already exists
28     localCluster: false
29     service: mariadb-galera
30     internalPort: 3306
31     nameOverride: mariadb-galera
32     service: mariadb-galera
33   # Enabling CMPv2
34   cmpv2Enabled: true
35   platform:
36     certServiceClient:
37       image: onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.3.1
38       secret:
39         name: oom-cert-service-client-tls-secret
40         mountPath: /etc/onap/oom/certservice/certs/
41       envVariables:
42         # Certificate related
43         cert_path: /var/custom-certs
44         cmpv2Organization: "Linux-Foundation"
45         cmpv2OrganizationalUnit: "ONAP"
46         cmpv2Location: "San-Francisco"
47         cmpv2Country: "US"
48         # Client configuration related
49         caName: "RA"
50         common_name: "sdnc.simpledemo.onap.org"
51         requestURL: "https://oom-cert-service:8443/v1/certificate/"
52         requestTimeout: "30000"
53         keystorePath: "/etc/onap/oom/certservice/certs/certServiceClient-keystore.jks"
54         outputType: "P12"
55         keystorePassword: "secret"
56         truststorePath: "/etc/onap/oom/certservice/certs/truststore.jks"
57         truststorePassword: "secret"
58
59 #################################################################
60 # Secrets metaconfig
61 #################################################################
62 secrets:
63   - uid: db-root-password
64     name: &rootDbSecret '{{ include "common.release" . }}-sdnc-db-root-password'
65     type: password
66     # If we're using shared mariadb, we need to use the secret name (second
67     # part).
68     # If not, we do the same trick than for user db secret hat allows you
69     # override this secret using external one with the same field that is used
70     # to pass this to subchart.
71     externalSecret: '{{ .Values.global.mariadbGalera.localCluster |
72       ternary ((hasSuffix "sdnc-db-root-password" (index .Values "mariadb-galera" "rootUser" "externalSecret")) |
73                   ternary
74                     ""
75                     (tpl (default "" (index .Values "mariadb-galera" "rootUser" "externalSecret")) .))
76               (include "common.mariadb.secret.rootPassSecretName"
77                 (dict "dot" .
78                       "chartName" .Values.global.mariadbGalera.nameOverride)) }}'
79     password: '{{ (index .Values "mariadb-galera" "rootUser" "password") }}'
80   - uid: db-secret
81     name: &dbSecretName '{{ include "common.release" . }}-sdnc-db-secret'
82     type: basicAuth
83     # This is a nasty trick that allows you override this secret using external one
84     # with the same field that is used to pass this to subchart
85     externalSecret: '{{ (hasSuffix "sdnc-db-secret" (index .Values "mariadb-galera" "db" "externalSecret")) |
86       ternary
87         ""
88         (tpl (default "" (index .Values "mariadb-galera" "db" "externalSecret")) .) }}'
89     login: '{{ index .Values "mariadb-galera" "db" "user" }}'
90     password: '{{ index .Values "mariadb-galera" "db" "password" }}'
91   - uid: odl-creds
92     name: &odlCredsSecretName '{{ include "common.release" . }}-sdnc-odl-creds'
93     type: basicAuth
94     externalSecret: '{{ .Values.config.odlCredsExternalSecret }}'
95     login: '{{ .Values.config.odlUser }}'
96     password: '{{ .Values.config.odlPassword }}'
97     # For now this is left hardcoded but should be revisited in a future
98     passwordPolicy: required
99   - uid: netbox-apikey
100     type: password
101     externalSecret: '{{ .Values.config.netboxApikeyExternalSecret }}'
102     password: '{{ .Values.config.netboxApikey }}'
103     passwordPolicy: required
104   - uid: aai-user-creds
105     type: basicAuth
106     externalSecret: '{{ .Values.config.aaiCredsExternalSecret}}'
107     login: '{{ .Values.config.aaiUser }}'
108     password: '{{ .Values.config.aaiPassword }}'
109     passwordPolicy: required
110   - uid: modeling-user-creds
111     type: basicAuth
112     externalSecret: '{{ .Values.config.modelingCredsExternalSecret}}'
113     login: '{{ .Values.config.modelingUser }}'
114     password: '{{ .Values.config.modelingPassword }}'
115     passwordPolicy: required
116   - uid: restconf-creds
117     type: basicAuth
118     externalSecret: '{{ .Values.config.restconfCredsExternalSecret}}'
119     login: '{{ .Values.config.restconfUser }}'
120     password: '{{ .Values.config.restconfPassword }}'
121     passwordPolicy: required
122   - uid: ansible-creds
123     name: &ansibleSecretName '{{ include "common.release" . }}-sdnc-ansible-creds'
124     type: basicAuth
125     externalSecret: '{{ .Values.config.ansibleCredsExternalSecret}}'
126     login: '{{ .Values.config.ansibleUser }}'
127     password: '{{ .Values.config.ansiblePassword }}'
128     passwordPolicy: required
129   - uid: scaleout-creds
130     type: basicAuth
131     externalSecret: '{{ .Values.config.scaleoutCredsExternalSecret}}'
132     login: '{{ .Values.config.scaleoutUser }}'
133     password: '{{ .Values.config.scaleoutPassword }}'
134     passwordPolicy: required
135 #################################################################
136 # Application configuration defaults.
137 #################################################################
138 # application images
139
140 pullPolicy: Always
141 image: onap/sdnc-image:2.0.4
142
143 # flag to enable debugging - application support required
144 debugEnabled: false
145
146 # application configuration
147 config:
148   odlUid: 100
149   odlGid: 101
150   odlUser: admin
151   odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
152   # odlCredsExternalSecret: some secret
153   netboxApikey: onceuponatimeiplayedwithnetbox20180814
154   # netboxApikeyExternalSecret: some secret
155   aaiUser: sdnc@sdnc.onap.org
156   aaiPassword: demo123456!
157   # aaiCredsExternalSecret: some secret
158   modelingUser: ccsdkapps
159   modelingPassword: ccsdkapps
160   # modelingCredsExternalSecret: some secret
161   restconfUser: admin
162   restconfPassword: admin
163   # restconfCredsExternalSecret: some secret
164   scaleoutUser: admin
165   scaleoutPassword: admin
166   # scaleoutExternalSecret: some secret
167   ansibleUser: sdnc
168   ansiblePassword: sdnc
169   # ansibleCredsExternalSecret: some secret
170   dbSdnctlDatabase: &sdncDbName sdnctl
171   enableClustering: true
172   sdncHome: /opt/onap/sdnc
173   binDir: /opt/onap/sdnc/bin
174   etcDir: /opt/onap/sdnc/data
175   geoEnabled: false
176 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
177 # if geoEnabled is set to true the following 3 values must be set to their proper values
178   myODLCluster: 127.0.0.1
179   peerODLCluster: 127.0.0.1
180   isPrimaryCluster: true
181   configDir: /opt/onap/sdnc/data/properties
182   ccsdkConfigDir: /opt/onap/ccsdk/data/properties
183   dmaapTopic: SUCCESS
184   dmaapPort: 3904
185   logstashServiceName: log-ls
186   logstashPort: 5044
187   ansibleServiceName: sdnc-ansible-server
188   ansiblePort: 8000
189   javaHome: /opt/java/openjdk
190
191   odl:
192     etcDir: /opt/opendaylight/etc
193     binDir: /opt/opendaylight/bin
194     gcLogDir: /opt/opendaylight/data/log
195     salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
196     salConfigVersion: 1.9.1
197     akka:
198       seedNodeTimeout: 15s
199       circuitBreaker:
200         maxFailures: 10
201         callTimeout: 90s
202         resetTimeout: 30s
203       recoveryEventTimeout: 90s
204     datastore:
205       persistentActorRestartMinBackoffInSeconds: 10
206       persistentActorRestartMaxBackoffInSeconds: 40
207       persistentActorRestartResetBackoffInSeconds: 20
208       shardTransactionCommitTimeoutInSeconds: 120
209       shardIsolatedLeaderCheckIntervalInMillis: 30000
210       operationTimeoutInSeconds: 120
211     javaOptions:
212       maxGCPauseMillis: 100
213       parallelGCThreads : 3
214       numberGCLogFiles: 10
215       minMemory: 512m
216       maxMemory: 2048m
217       gcLogOptions: ""
218       # Next line enables gc logging
219       # gcLogOptions: "-Xlog:gc=trace:file={{.Values.config.odl.gcLogDir}}/gc-%t.log}:time,level,tags:filecount={{.Values.config.odl.javaOptions.numberGCLogFiles}}"
220         # enables sdnr functionality
221   sdnr:
222     enabled: true
223     # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
224     # mode: dm - SDNC contains sdnr device manager + ODLUX components
225     mode: dm
226     # sdnronly: true starts sdnc container with odl and sdnrwt features only
227     sdnronly: false
228     sdnrdbTrustAllCerts: true
229     mountpointRegistrarEnabled: false
230     mountpointStateProviderEnabled: false
231
232
233
234 # dependency / sub-chart configuration
235 certInitializer:
236   nameOverride: sdnc-cert-initializer
237   truststoreMountpath: /opt/onap/sdnc/data/stores
238   fqdn: "sdnc"
239   app_ns: "org.osaaf.aaf"
240   fqi: "sdnc@sdnc.onap.org"
241   fqi_namespace: org.onap.sdnc
242   public_fqdn: "sdnc.onap.org"
243   aafDeployFqi: "deployer@people.osaaf.org"
244   aafDeployPass: demo123456!
245   cadi_latitude: "38.0"
246   cadi_longitude: "-72.0"
247   credsPath: /opt/app/osaaf/local
248   aaf_add_config: >
249     cd /opt/app/osaaf/local;
250     /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
251
252 # dependency / sub-chart configuration
253 network-name-gen:
254   enabled: true
255 mariadb-galera: &mariadbGalera
256   nameOverride: &sdnc-db sdnc-db
257   config: &mariadbGaleraConfig
258     rootPasswordExternalSecret: *rootDbSecret
259     userName: &dbUser sdnctl
260     userCredentialsExternalSecret: *dbSecretName
261   rootUser:
262     externalSecret: *rootDbSecret
263   db:
264     user: *dbUser
265     externalSecret: *dbSecretName
266   service:
267     name: sdnc-dbhost
268   sdnctlPrefix: sdnc
269   persistence:
270     mountSubPath: sdnc/mariadb-galera
271     enabled: true
272   replicaCount: 1
273   serviceAccount:
274     nameOverride: *sdnc-db
275
276 cds:
277   enabled: false
278
279 dmaap-listener:
280   enabled: true
281   nameOverride: sdnc-dmaap-listener
282   mariadb-galera:
283     <<: *mariadbGalera
284     config:
285       <<: *mariadbGaleraConfig
286       mysqlDatabase: *sdncDbName
287   config:
288     sdncChartName: sdnc
289     dmaapPort: 3904
290     sdncPort: 8282
291     configDir: /opt/onap/sdnc/data/properties
292     odlCredsExternalSecret: *odlCredsSecretName
293
294 ueb-listener:
295   enabled: true
296   mariadb-galera:
297     <<: *mariadbGalera
298     config:
299       <<: *mariadbGaleraConfig
300       mysqlDatabase: *sdncDbName
301   nameOverride: sdnc-ueb-listener
302   config:
303     sdncPort: 8282
304     sdncChartName: sdnc
305     configDir: /opt/onap/sdnc/data/properties
306     odlCredsExternalSecret: *odlCredsSecretName
307
308 sdnc-ansible-server:
309   enabled: true
310   config:
311     restCredsExternalSecret: *ansibleSecretName
312   mariadb-galera:
313     <<: *mariadbGalera
314     config:
315       <<: *mariadbGaleraConfig
316       mysqlDatabase: ansible
317   service:
318     name: sdnc-ansible-server
319     internalPort: 8000
320
321 dgbuilder:
322   enabled: true
323   nameOverride: sdnc-dgbuilder
324   certInitializer:
325     nameOverride: sdnc-dgbuilder-cert-initializer
326   config:
327     db:
328       dbName: *sdncDbName
329       rootPasswordExternalSecret: '{{ .Values.global.mariadbGalera.localCluster |
330         ternary
331           (printf "%s-sdnc-db-root-password" (include "common.release" .))
332           (include "common.mariadb.secret.rootPassSecretName"
333             (dict "dot" . "chartName" "mariadb-galera")) }}'
334       userCredentialsExternalSecret: *dbSecretName
335     dbPodName: mariadb-galera
336     dbServiceName: mariadb-galera
337     # This should be revisited and changed to plain text
338     dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
339   mariadb-galera:
340   service:
341     name: sdnc-dgbuilder
342     nodePort: "03"
343
344   ingress:
345     enabled: false
346     service:
347       - baseaddr: "sdnc-dgbuilder"
348         name: "sdnc-dgbuilder"
349         port: 3000
350       - baseaddr: "sdnc-web-service"
351         name: "sdnc-web-service"
352         port: 8443
353     config:
354       ssl: "redirect"
355
356
357
358 # local elasticsearch cluster
359 localElasticCluster: true
360 elasticsearch:
361   nameOverride: &elasticSearchName sdnrdb
362   name: sdnrdb-cluster
363   certInitializer:
364     fqdn: "sdnc"
365     fqi_namespace: org.onap.sdnc
366     fqi: "sdnc@sdnc.onap.org"
367   service:
368     name: *elasticSearchName
369   master:
370     replicaCount: 3
371     # dedicatednode: "yes"
372     # working as master node only, in this case increase replicaCount for elasticsearch-data
373     # dedicatednode: "no"
374     # handles master and data node functionality
375     dedicatednode: "no"
376     nameOverride: *elasticSearchName
377     cluster_name: *elasticSearchName
378 # enable
379 sdnc-web:
380   enabled: true
381 # default number of instances
382 replicaCount: 1
383
384 nodeSelector: {}
385
386 affinity: {}
387
388 # probe configuration parameters
389 liveness:
390   initialDelaySeconds: 10
391   periodSeconds: 10
392   # necessary to disable liveness probe when setting breakpoints
393   # in debugger so K8s doesn't restart unresponsive container
394   enabled: true
395
396 readiness:
397   initialDelaySeconds: 10
398   periodSeconds: 10
399
400 service:
401   type: NodePort
402   name: sdnc
403   portName: sdnc
404   internalPort: 8181
405   internalPort2: 8101
406   internalPort3: 8080
407   internalPort4: 8443
408
409   #port
410   externalPort: 8282
411
412   externalPort2: 8202
413
414   externalPort3: 8280
415
416   externalPort4: 8443
417   nodePort4: 67
418
419   clusterPort: 2550
420   clusterPort2: 2650
421   clusterPort3: 2681
422
423   geoNodePort1: 61
424   geoNodePort2: 62
425   geoNodePort3: 63
426   geoNodePort4: 64
427   geoNodePort5: 65
428   geoNodePort6: 66
429
430 ## Persist data to a persitent volume
431 persistence:
432   enabled: true
433
434   ## A manually managed Persistent Volume and Claim
435   ## Requires persistence.enabled: true
436   ## If defined, PVC must be created manually before volume will be bound
437   # existingClaim:
438   volumeReclaimPolicy: Retain
439
440   ## database data Persistent Volume Storage Class
441   ## If defined, storageClassName: <storageClass>
442   ## If set to "-", storageClassName: "", which disables dynamic provisioning
443   ## If undefined (the default) or set to null, no storageClassName spec is
444   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
445   ##   GKE, AWS & OpenStack)
446   accessMode: ReadWriteOnce
447   size: 1Gi
448   mountPath: /dockerdata-nfs
449   mountSubPath: sdnc/mdsal
450   mdsalPath: /opt/opendaylight/current/daexim
451
452 certpersistence:
453   enabled: true
454
455   ## A manually managed Persistent Volume and Claim
456   ## Requires persistence.enabled: true
457   ## If defined, PVC must be created manually before volume will be bound
458   # existingClaim:
459
460   volumeReclaimPolicy: Retain
461   accessMode: ReadWriteOnce
462   size: 50Mi
463   mountPath: /dockerdata-nfs
464   mountSubPath: sdnc/certs
465   certPath: /opt/app/osaaf
466   ##storageClass: "manual"
467
468 ingress:
469   enabled: false
470   service:
471     - baseaddr: "sdnc.api"
472       name: "sdnc"
473       port: 8443
474   config:
475     ssl: "redirect"
476
477 #Resource Limit flavor -By Default using small
478 flavor: small
479 #segregation for different envionment (Small and Large)
480
481 resources:
482   small:
483     limits:
484       cpu: 2
485       memory: 4Gi
486     requests:
487       cpu: 1
488       memory: 2Gi
489   large:
490     limits:
491       cpu: 4
492       memory: 8Gi
493     requests:
494       cpu: 2
495       memory: 4Gi
496   unlimited: {}