[OOM] Fixing k8s cpu limits
[oom.git] / kubernetes / aai / values.yaml
1 # Copyright (c) 2017 Amdocs, Bell Canada
2 # Modifications Copyright (c) 2018 AT&T
3 # Modifications Copyright (c) 2020 Nokia, Orange
4 # Modifications Copyright (c) 2021 Orange
5 # Modifications Copyright © 2023 Nordix Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #       http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18
19 # Default values for aai.
20 # This is a YAML-formatted file.
21 # Declare variables to be passed into your templates.
22 global: # global defaults
23   nodePortPrefix: 302
24   repository: nexus3.onap.org:10001
25   dockerhubRepository: docker.io
26   busyboxImage: busybox
27
28   readinessImage: onap/oom/readiness:5.0.1
29
30   loggingRepository: docker.elastic.co
31   loggingImage: beats/filebeat:5.5.0
32
33   restartPolicy: Always
34
35   msbEnabled: false
36   centralizedLoggingEnabled: false
37
38   cassandra:
39     #This will instantiate AAI cassandra cluster, default:shared cassandra.
40     localCluster: false
41
42     # in case of a local cassandra cluster
43     # flag to enable the DB creation via k8ssandra-operator
44     useOperator: true
45     # if useOperator set to "true", set "enableServiceAccount to "false"
46     # as the SA is created by the Operator
47     enableServiceAccount: false
48
49     #Service Name of the cassandra cluster to connect to.
50     #Override it to aai-cassandra if localCluster is enabled.
51     #in case of using k8ssandra-operator in the common cassandra installation
52     #the service name is:
53     serviceName: cassandra-dc1-service
54     #in case of local k8ssandra-operator instance it is
55     #serviceName: aai-cassandra-dc1-service
56     #in case the older cassandra installation is used:
57     #serviceName: cassandra
58
59     #This should be same as shared cassandra instance or if localCluster is enabled
60     #then it should be same as aai-cassandra replicaCount
61     replicas: 3
62
63     #Cassandra login details
64     username: cassandra
65     password: cassandra
66
67   aai:
68     serviceName: aai
69   babel:
70     serviceName: aai-babel
71   aaiElasticsearch:
72     serviceName: aai-elasticsearch
73   resources:
74     serviceName: aai-resources
75   sparkyBe:
76     serviceName: aai-sparky-be
77   modelloader:
78     serviceName: aai-modelloader
79   searchData:
80     serviceName: aai-search-data
81   traversal:
82     serviceName: aai-traversal
83   graphadmin:
84     serviceName: aai-graphadmin
85
86   initContainers:
87     enabled: true
88   # Specifies a list of jobs to be run
89   jobs:
90     # When enabled, it will create the schema based on oxm and edge rules
91     createSchema:
92       enabled: true
93     # When enabled, it will create the widget models via REST API to haproxy
94     updateQueryData:
95       enabled: true
96     #migration using helm hooks
97     migration:
98       enabled: false
99       remoteCassandra:
100         enabled: false
101         storage:
102           backend: cassandra
103           hostname: 10.10.10.10
104           connectionTimeout: 100000
105           cacheSize: 1000000
106           keyConsistent: true
107
108           #If backend is cql or cassandra it should be keyspace name
109           #else backend is hbase it should be hbase table name
110           name: aaigraph
111
112        ## CQL driver specific properties for janusgraph
113        #  cql:
114        #    #Name of the Cassandra Cluster
115        #    cluster: someclustername
116        #    readConsistency: QUORUM
117        #    writeConsistency: QUORUM
118        #    replicationFactor: 3
119        #    localConsistencyForSysOps: true
120
121        ## Cassandra driver specific properties for janusgraph
122           cassandra:
123             #Name of the Cassandra Cluster
124             clusterName: aai-cluster
125             localDataCenter: Pod lab
126             readConsistency: LOCAL_QUORUM
127             writeConsistency: LOCAL_QUORUM
128             replicationFactor: 3
129
130         #storage:
131         #  backend: cassandra
132         #  hostname: somehost1,somehost2,somehost3
133         #  connectionTimeout: 100000
134         #  cacheSize: 1000000
135         #  clusterName: someClusterName
136         #  localDataCenter: someDataCenter
137         #  keyConsistent: true
138         #  #If backend is cql or cassandra it should be keyspace name
139         #  #else backend is hbase it should be hbase table name
140         #  name: your_hbase_table_or_keyspace_name
141
142         ## CQL driver specific properties for janusgraph
143         #  cql:
144         #    #Name of the Cassandra Cluster
145         #    cluster: someclustername
146         #    readConsistency: QUORUM
147         #    writeConsistency: QUORUM
148         #    replicationFactor: 3
149         #    localConsistencyForSysOps: true
150
151         ## Cassandra driver specific properties for janusgraph
152         #  cassandra:
153         #    #Name of the Cassandra Cluster
154         #    cluster: someclustername
155         #    readConsistency: LOCAL_QUORUM
156         #    writeConsistency: LOCAL_QUORUM
157         #    replicationFactor: 3
158
159
160   # Common configuration for resources traversal and graphadmin
161   config:
162     # User information for the admin user in container
163     userId: 1000
164     groupId: 1000
165
166     # Specifies that the cluster connected to a dynamic
167     # cluster being spinned up by kubernetes deployment
168     cluster:
169       cassandra:
170         dynamic: true
171
172     # If cluster.cassandra.dynamic is set to false
173     # Then the following configuration should be uncommented
174     # This is if you are planning to connect to a existing
175     # Cassandra cluster instead of doing the deployment
176     #storage:
177     #  backend: cassandra
178     #  hostname: somehost1,somehost2,somehost3
179     #  connectionTimeout: 100000
180     #  cacheSize: 1000000
181     #  clusterName: someClusterName
182     #  localDataCenter: someDataCenter
183     #  keyConsistent: true
184     #  # If backend is cql or cassandra it should be keyspace name
185     #  # else backend is hbase it should be hbase table name
186     #  name: your_hbase_table_or_keyspace_name
187
188     #  # CQL driver specific properties for janusgraph
189     #  cql:
190     #    # Name of the Cassandra Cluster
191     #    cluster: someclustername
192     #    readConsistency: QUORUM
193     #    writeConsistency: QUORUM
194     #    replicationFactor: 3
195     #    localConsistencyForSysOps: true
196
197     #  # Cassandra driver specific properties for janusgraph
198     #  cassandra:
199     #    # Name of the Cassandra Cluster
200     #    cluster: someclustername
201     #    readConsistency: LOCAL_QUORUM
202     #    writeConsistency: LOCAL_QUORUM
203     #    replicationFactor: 3
204
205     # Specifies if the basic authorization is enabled
206     basic:
207       auth:
208         enabled: true
209         username: AAI
210         passwd: AAI
211
212     # Active spring profiles for the resources microservice
213     # aaf-auth profile will be automatically set if aaf enabled is set to true
214     profiles:
215       active: production,dmaap #,aaf-auth
216
217     # Notification event specific properties
218     notification:
219       eventType: AAI-EVENT
220       domain: dev
221
222     # Schema specific properties that include supported versions of api
223     schema:
224       # Specifies if the connection should be one way ssl, two way ssl or no auth
225       # will be set to no-auth if tls is disabled
226       service:
227         client: no-auth
228       # Specifies which translator to use if it has schema-service, then it will make a rest request to schema service
229       translator:
230         list: schema-service
231       source:
232         # Specifies which folder to take a look at
233         name: onap
234       uri:
235         # Base URI Path of the application
236         base:
237           path: /aai
238       version:
239         # Current version of the REST API
240         api:
241           default: v27
242         # Specifies which version the depth parameter is configurable
243         depth: v11
244         # List of all the supported versions of the API
245         list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27
246         # Specifies from which version related link should appear
247         related:
248           link: v11
249         # Specifies from which version the app root change happened
250         app:
251           root: v11
252         # Specifies from which version the xml namespace changed
253         namespace:
254           change: v12
255         # Specifies from which version the edge label appeared in API
256         edge:
257           label: v12
258
259     # Keystore configuration password and filename
260     keystore:
261       filename: aai_keystore
262       passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 # changeit
263
264     # Truststore configuration password and filename
265     truststore:
266       filename: aai_keystore
267       passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 # changeit
268
269     # Specifies a list of files to be included in auth volume
270     auth:
271       files:
272         - aai_keystore
273
274     # Specifies which clients should always default to realtime graph connection
275     realtime:
276       clients: SDNC,MSO,SO,robot-ete
277
278     # Logback debug enabled
279     logback:
280       console:
281         # If enabled, container will print all logback to standard output
282         # This will make debugging much easier but it should only be done
283         # when debugging the issue and changed back as it can affect performance
284         # since when this is enabled, it prints a lot of information to console
285         enabled: false
286
287 aai-babel:
288   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
289 aai-graphadmin:
290   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
291 aai-modelloader:
292   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
293 aai-resources:
294   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
295 aai-schema-service:
296   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
297 aai-sparky-be:
298   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
299 aai-traversal:
300   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
301
302 # application image
303 dockerhubRepository: registry.hub.docker.com
304 image: onap/aai-haproxy:1.11.0
305 pullPolicy: Always
306
307 flavor: small
308 flavorOverride: small
309
310 # flag to enable debugging - application support required
311 debugEnabled: false
312
313 # application configuration
314 config:
315   logstashServiceName: log-ls
316   logstashPort: 5044
317
318 # default number of instances
319 replicaCount: 1
320
321 updateStrategy:
322   type: RollingUpdate
323   maxUnavailable: 0
324   maxSurge: 1
325
326 nodeSelector: {}
327
328 affinity: {}
329
330 # HAProxy configuration to block HTTP requests to AAI based on configurable URL patterns
331 haproxy:
332   initContainers:
333     resources:
334       memory: 100Mi
335       cpu: 50m
336   requestBlocking:
337     enabled: false
338     customConfigs: []
339   replicas:
340     aaiResources: 1
341     aaiTraversal: 1
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 #This section is used when localCluster is enabled. AAI will create its own cassandra cluster for its specific use.
352 #Below command will instantiate the aai cassandra instances:
353 #helm deploy demo local/onap --version=4.0.0 --namespace onap --set aai.enabled=true \
354 #                            --set aai.global.cassandra.localCluster=true \
355 #                            --set aai.global.cassandra.serviceName=aai-cassandra
356 cassandra:
357   nameOverride: aai-cassandra
358   serviceAccount:
359     nameOverride: aai-cassandra
360   replicaCount: 3
361   service:
362     name: aai-cassandra
363   persistence:
364     mountSubPath: aai/cassandra
365     enabled: true
366   k8ssandraOperator:
367     config:
368       clusterName: aai-cassandra
369
370 readiness:
371   initialDelaySeconds: 10
372   periodSeconds: 10
373
374 service:
375   type: NodePort
376   portName: http
377   externalPort: 80
378   internalPort: 8080
379   nodePort: 33
380   sessionAffinity: None
381
382 metricsService:
383   type: ClusterIP
384   portName: http-pro
385   externalPort: 8448
386   internalPort: 8448
387
388 metrics:
389   serviceMonitor:
390     enabled: false
391     targetPort: 8448
392     path: /metrics
393     basicAuth:
394       enabled: false
395
396     selector:
397       app: '{{ include "common.name" . }}-metrics'
398       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
399       release: '{{ include "common.release" . }}'
400       heritage: '{{ .Release.Service }}'
401
402     relabelings: []
403
404     metricRelabelings: []
405
406 ingress:
407   enabled: false
408   service:
409     - baseaddr: "aai-api"
410       name: "aai"
411       port: 80
412       config:
413        ssl: "redirect"
414
415 serviceMesh:
416   authorizationPolicy:
417     authorizedPrincipalsMetrics: []
418     authorizedPrincipals:
419       - serviceAccount: aai-graphadmin-read
420       - serviceAccount: aai-modelloader-read
421       - serviceAccount: aai-resources-read
422       - serviceAccount: aai-schema-service-read
423       - serviceAccount: aai-traversal-read
424       - serviceAccount: cds-blueprints-processor-read
425       - serviceAccount: consul-read
426       - serviceAccount: dcae-prh-read
427       - serviceAccount: dcae-slice-analysis-ms-read
428       - serviceAccount: dcae-tcagen2
429       - serviceAccount: nbi-read
430       - serviceAccount: sdnc-read
431       - serviceAccount: so-read
432       - serviceAccount: so-bpmn-infra-read
433       - serviceAccount: so-cnf-adapter-read
434       - serviceAccount: so-nssmf-adapter-read
435       - serviceAccount: so-etsi-nfvo-ns-lcm-read
436       - serviceAccount: so-etsi-sol003-adapter-read
437       - serviceAccount: so-openstack-adapter-read
438       - serviceAccount: so-sdc-controller-read
439       - serviceAccount: so-ve-vnfm-adapter
440       - serviceAccount: istio-ingress
441         namespace: istio-ingress
442
443 resources:
444   small:
445     limits:
446       cpu: 2
447       memory: 4Gi
448     requests:
449       cpu: 1
450       memory: 1.2Gi
451   large:
452     limits:
453       cpu: 4
454       memory: 8Gi
455     requests:
456       cpu: 2
457       memory: 2.4Gi
458   unlimited: {}
459
460 #Pods Service Account
461 serviceAccount:
462   nameOverride: aai
463   roles:
464     - read