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