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