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