Merge "[SDNC] Remove hard-coded busybox image"
[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 busyboxRepository: docker.io
116 busyboxImage: busybox:1.30
117
118 # flag to enable debugging - application support required
119 debugEnabled: false
120
121 # application configuration
122 config:
123   odlUid: 100
124   odlGid: 101
125   odlUser: admin
126   odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
127   # odlCredsExternalSecret: some secret
128   netboxApikey: onceuponatimeiplayedwithnetbox20180814
129   # netboxApikeyExternalSecret: some secret
130   aaiUser: sdnc@sdnc.onap.org
131   aaiPassword: demo123456!
132   # aaiCredsExternalSecret: some secret
133   modelingUser: ccsdkapps
134   modelingPassword: ccsdkapps
135   # modelingCredsExternalSecret: some secret
136   restconfUser: admin
137   restconfPassword: admin
138   # restconfCredsExternalSecret: some secret
139   scaleoutUser: admin
140   scaleoutPassword: admin
141   # scaleoutExternalSecret: some secret
142   ansibleUser: sdnc
143   ansiblePassword: sdnc
144   # ansibleCredsExternalSecret: some secret
145   dbSdnctlDatabase: &sdncDbName sdnctl
146   enableClustering: true
147   sdncHome: /opt/onap/sdnc
148   binDir: /opt/onap/sdnc/bin
149   etcDir: /opt/onap/sdnc/data
150   geoEnabled: false
151 # if geoEnabled is set to true here, mysql.geoEnabled must be set to true
152 # if geoEnabled is set to true the following 3 values must be set to their proper values
153   myODLCluster: 127.0.0.1
154   peerODLCluster: 127.0.0.1
155   isPrimaryCluster: true
156   configDir: /opt/onap/sdnc/data/properties
157   ccsdkConfigDir: /opt/onap/ccsdk/data/properties
158   dmaapTopic: SUCCESS
159   dmaapPort: 3904
160   logstashServiceName: log-ls
161   logstashPort: 5044
162   ansibleServiceName: sdnc-ansible-server
163   ansiblePort: 8000
164   javaHome: /usr/lib/jvm/java-1.8-openjdk
165
166   odl:
167     etcDir: /opt/opendaylight/etc
168     binDir: /opt/opendaylight/bin
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       numberGGLogFiles: 10
189         # enables sdnr functionality
190   sdnr:
191     enabled: true
192     # mode: web - SDNC contains device manager only plus dedicated webserver service for ODLUX (default),
193     # mode: dm - SDNC contains sdnr device manager + ODLUX components
194     mode: dm
195     # sdnronly: true starts sdnc container with odl and sdnrwt features only
196     sdnronly: false
197     sdnrdbTrustAllCerts: true
198     mountpointRegistrarEnabled: false
199     mountpointStateProviderEnabled: false
200
201
202
203 # dependency / sub-chart configuration
204 certInitializer:
205   nameOverride: sdnc-cert-initializer
206   truststoreMountpath: /opt/onap/sdnc/data/stores
207   fqdn: "sdnc"
208   app_ns: "org.osaaf.aaf"
209   fqi: "sdnc@sdnc.onap.org"
210   fqi_namespace: org.onap.sdnc
211   public_fqdn: "sdnc.onap.org"
212   aafDeployFqi: "deployer@people.osaaf.org"
213   aafDeployPass: demo123456!
214   cadi_latitude: "38.0"
215   cadi_longitude: "-72.0"
216   credsPath: /opt/app/osaaf/local
217   aaf_add_config: >
218     cd /opt/app/osaaf/local;
219     /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
220
221 # dependency / sub-chart configuration
222 network-name-gen:
223   enabled: true
224 mariadb-galera: &mariadbGalera
225   nameOverride: sdnc-db
226   config: &mariadbGaleraConfig
227     rootPasswordExternalSecret: '{{ ternary (include "common.release" .)-sdnc-db-root-password "" .Values.global.mariadbGalera.localCluster }}'
228     userName: sdnctl
229     userCredentialsExternalSecret: *dbSecretName
230   service:
231     name: sdnc-dbhost
232     internalPort: 3306
233   sdnctlPrefix: sdnc
234   persistence:
235     mountSubPath: sdnc/mariadb-galera
236     enabled: true
237   replicaCount: 1
238
239 cds:
240   enabled: false
241
242 dmaap-listener:
243   enabled: true
244   nameOverride: sdnc-dmaap-listener
245   mariadb-galera:
246     <<: *mariadbGalera
247     config:
248       <<: *mariadbGaleraConfig
249       mysqlDatabase: *sdncDbName
250   config:
251     sdncChartName: sdnc
252     dmaapPort: 3904
253     sdncPort: 8282
254     configDir: /opt/onap/sdnc/data/properties
255     odlCredsExternalSecret: *odlCredsSecretName
256
257 ueb-listener:
258   enabled: true
259   mariadb-galera:
260     <<: *mariadbGalera
261     config:
262       <<: *mariadbGaleraConfig
263       mysqlDatabase: *sdncDbName
264   nameOverride: sdnc-ueb-listener
265   config:
266     sdncPort: 8282
267     sdncChartName: sdnc
268     configDir: /opt/onap/sdnc/data/properties
269     odlCredsExternalSecret: *odlCredsSecretName
270
271 sdnc-ansible-server:
272   enabled: true
273   config:
274     restCredsExternalSecret: *ansibleSecretName
275   mariadb-galera:
276     <<: *mariadbGalera
277     config:
278       <<: *mariadbGaleraConfig
279       mysqlDatabase: ansible
280   service:
281     name: sdnc-ansible-server
282     internalPort: 8000
283
284 dgbuilder:
285   enabled: true
286   nameOverride: sdnc-dgbuilder
287   config:
288     db:
289       dbName: *sdncDbName
290       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 }}'
291       userCredentialsExternalSecret: *dbSecretName
292     dbPodName: mariadb-galera
293     dbServiceName: mariadb-galera
294     # This should be revisited and changed to plain text
295     dgUserPassword: cc03e747a6afbbcbf8be7668acfebee5
296   mariadb-galera:
297   service:
298     name: sdnc-dgbuilder
299     nodePort: "03"
300
301   ingress:
302     enabled: false
303     service:
304       - baseaddr: "sdnc-dgbuilder"
305         name: "sdnc-dgbuilder"
306         port: 3000
307       - baseaddr: "sdnc-web-service"
308         name: "sdnc-web-service"
309         port: 8443
310     config:
311       ssl: "redirect"
312
313
314
315 # local elasticsearch cluster
316 localElasticCluster: true
317 elasticsearch:
318   nameOverride: sdnrdb
319   name: sdnrdb-cluster
320   certInitializer:
321     fqdn: "sdnc"
322     fqi_namespace: org.onap.sdnc
323     fqi: "sdnc@sdnc.onap.org"
324   service:
325     name: sdnrdb
326   master:
327     replicaCount: 3
328     # dedicatednode: "yes"
329     # working as master node only, in this case increase replicaCount for elasticsearch-data
330     # dedicatednode: "no"
331     # handles master and data node functionality
332     dedicatednode: "no"
333     nameOverride: sdnrdb
334 # enable
335 sdnc-web:
336   enabled: false
337 # default number of instances
338 replicaCount: 1
339
340 nodeSelector: {}
341
342 affinity: {}
343
344 # probe configuration parameters
345 liveness:
346   initialDelaySeconds: 10
347   periodSeconds: 10
348   # necessary to disable liveness probe when setting breakpoints
349   # in debugger so K8s doesn't restart unresponsive container
350   enabled: true
351
352 readiness:
353   initialDelaySeconds: 10
354   periodSeconds: 10
355
356 service:
357   type: NodePort
358   name: sdnc
359   portName: sdnc
360   internalPort: 8181
361   internalPort2: 8101
362   internalPort3: 8080
363   internalPort4: 8443
364
365   #port
366   externalPort: 8282
367
368   externalPort2: 8202
369
370   externalPort3: 8280
371
372   externalPort4: 8443
373   nodePort4: 67
374
375   clusterPort: 2550
376   clusterPort2: 2650
377   clusterPort3: 2681
378
379   geoNodePort1: 61
380   geoNodePort2: 62
381   geoNodePort3: 63
382   geoNodePort4: 64
383   geoNodePort5: 65
384   geoNodePort6: 66
385
386 ## Persist data to a persitent volume
387 persistence:
388   enabled: true
389
390   ## A manually managed Persistent Volume and Claim
391   ## Requires persistence.enabled: true
392   ## If defined, PVC must be created manually before volume will be bound
393   # existingClaim:
394   volumeReclaimPolicy: Retain
395
396   ## database data Persistent Volume Storage Class
397   ## If defined, storageClassName: <storageClass>
398   ## If set to "-", storageClassName: "", which disables dynamic provisioning
399   ## If undefined (the default) or set to null, no storageClassName spec is
400   ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
401   ##   GKE, AWS & OpenStack)
402   accessMode: ReadWriteOnce
403   size: 1Gi
404   mountPath: /dockerdata-nfs
405   mountSubPath: sdnc/mdsal
406   mdsalPath: /opt/opendaylight/current/daexim
407
408 ingress:
409   enabled: false
410   service:
411     - baseaddr: "sdnc.api"
412       name: "sdnc"
413       port: 8443
414   config:
415     ssl: "redirect"
416
417 #Resource Limit flavor -By Default using small
418 flavor: small
419 #segregation for different envionment (Small and Large)
420
421 resources:
422   small:
423     limits:
424       cpu: 2
425       memory: 4Gi
426     requests:
427       cpu: 1
428       memory: 2Gi
429   large:
430     limits:
431       cpu: 4
432       memory: 8Gi
433     requests:
434       cpu: 2
435       memory: 4Gi
436   unlimited: {}