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