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