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