[SO] 16.0.4 release
[oom.git] / kubernetes / aai / components / aai-traversal / values.yaml
1 # Copyright (c) 2018 Amdocs, Bell Canada, AT&T
2 # Modifications Copyright (c) 2020 Nokia
3 # Modifications Copyright (c) 2021 Orange
4 # Modifications Copyright © 2023 Nordix Foundation
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #       http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17
18 # Default values for traversal.
19 # This is a YAML-formatted file.
20 # Declare variables to be passed into your templates.
21 global: # global defaults
22   nodePortPrefix: 302
23   kafkaBootstrap: strimzi-kafka-bootstrap
24   aaiTravKafkaUser: aai-trav-kafka-user
25   cassandra:
26     #Service Name of the cassandra cluster to connect to.
27     #Override it to aai-cassandra if localCluster is enabled.
28     serviceName: cassandra
29     # Cassandra datacenter name
30     localDataCenter: dc1
31   tracing:
32     enabled: false
33     collector:
34       baseUrl: http://jaeger-collector.istio-config:9411
35     sampling:
36       probability: 1.0 # percentage of requests that are sampled (between 0-1/0%-100%)
37
38   # Specifies a list of jobs to be run
39   jobs:
40     # When enabled, it will create the schema based on oxm and edge rules
41     createSchema:
42       enabled: true
43     # When enabled, it will create the widget models via REST API to haproxy
44     updateQueryData:
45       enabled: true
46     #migration using helm hooks
47     migration:
48       enabled: false
49   # Specifies if basic authorization is enabled
50   auth:
51     enabled: true
52     users:
53       - username: aai@aai.onap.org
54         password: demo123456!
55       - username: AAI
56         password: AAI
57       - username: DCAE
58         password: DCAE
59       - username: MSO
60         password: MSO
61       - username: POLICY
62         password: POLICY
63       - username: ASDC
64         password: ASDC
65       - username: ModelLoader
66         password: ModelLoader
67       - username: AaiUI
68         password: AaiUI
69   # Common configuration for resources traversal and graphadmin
70   config:
71     # User information for the admin user in container
72     userId: 1000
73     groupId: 1000
74
75     # Specifies that the cluster connected to a dynamic
76     # cluster being spinned up by kubernetes deployment
77     cluster:
78       cassandra:
79         dynamic: true
80
81     # Active spring profiles for the resources microservice
82     profiles:
83       active: production,kafka
84
85     # Notification event specific properties
86     notification:
87       eventType: AAI-EVENT
88       domain: dev
89
90     # Schema specific properties that include supported versions of api
91     schema:
92       # Specifies if the connection should be one way ssl, two way ssl or no auth
93       service:
94         client: no-auth
95       # Specifies which translator to use if it has schema-service, then it will make a rest request to schema service
96       translator:
97         list: schema-service
98       source:
99         # Specifies which folder to take a look at
100         name: onap
101       uri:
102         # Base URI Path of the application
103         base:
104           path: /aai
105       version:
106         # Current version of the REST API
107         api:
108           default: v30
109         # Specifies which version the depth parameter is configurable
110         depth: v11
111         # List of all the supported versions of the API
112         list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30
113         # Specifies from which version related link should appear
114         related:
115           link: v11
116         # Specifies from which version the app root change happened
117         app:
118           root: v11
119         # Specifies from which version the xml namespace changed
120         namespace:
121           change: v12
122         # Specifies from which version the edge label appeared in API
123         edge:
124           label: v12
125
126     # Specifies which clients should always default to realtime graph connection
127     realtime:
128       clients: SDNC,MSO,SO,robot-ete
129     jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.aaiTravKafkaUser }}'
130     someConfig: random
131
132 # application image
133 image: onap/aai-traversal:1.16.0
134 pullPolicy: Always
135 restartPolicy: Always
136 flavor: small
137 # the minimum number of seconds that a newly created Pod should be ready
138 minReadySeconds: 30
139 updateStrategy:
140   type: RollingUpdate
141   # The number of pods that can be unavailable during the update process
142   maxUnavailable: 0
143   # The number of pods that can be created above the desired amount of pods during an update
144   maxSurge: 1
145
146 api_list:
147   - 11
148   - 12
149   - 13
150   - 14
151   - 15
152   - 16
153   - 17
154   - 18
155   - 19
156   - 20
157   - 21
158   - 22
159   - 23
160   - 24
161   - 25
162   - 26
163   - 27
164   - 28
165   - 29
166
167 aai_enpoints:
168   - name: aai-generic-query
169     url: search/generic-query
170   - name: aai-nodes-query
171     url: search/nodes-query
172   - name: aai-nquery
173     url: query
174
175 # application configuration
176 config:
177   janusgraph:
178     caching:
179       # enable when running read-heavy workloads
180       # modifications to graph done by this service/janusgraph instance will immediately invalidate the cache
181       # modifications to graph done by other services (traversal) will only be visible
182       # after time specified in db-cache-time
183       enabled: true
184       # Documentation: https://docs.janusgraph.org/operations/cache/#database-level-caching
185       dbCacheTime: 180000 # in milliseconds
186       dbCacheSize: 0.1 # percentage (expressed as a decimal between 0 and 1) of the total heap space available to the JVM running
187       dbCacheCleanWait: 20 # in milliseconds
188     # temporarily enable this to update the graph storage version
189     # see: https://docs.janusgraph.org/changelog/#upgrade-instructions_9
190     allowUpgrade: true
191
192   # Specifies timeout information such as application specific and limits
193   timeout:
194     # If set to true application will timeout for queries taking longer than limit
195     enabled: true
196     # Specifies which apps (X-FromAppId) header should get overridden and (-1) no timeout
197     appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1
198     # Specifies how long should it wait before timing out the REST request
199     limit: 180000
200
201   # environment variables added to the launch of the image in deployment
202   env:
203     MIN_HEAP_SIZE: "512m"
204     MAX_METASPACE_SIZE: "512m"
205     # POST_JVM_ARGS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
206
207   # adds jvm args for remote debugging the application
208   debug:
209     enabled: false
210     args: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
211
212   # adds jvm args for remote profiling the application
213   profiling:
214     enabled: false
215     args:
216       - "-Dcom.sun.management.jmxremote"
217       - "-Dcom.sun.management.jmxremote.ssl=false"
218       - "-Dcom.sun.management.jmxremote.authenticate=false"
219       - "-Dcom.sun.management.jmxremote.local.only=false"
220       - "-Dcom.sun.management.jmxremote.port=9999"
221       - "-Dcom.sun.management.jmxremote.rmi.port=9999"
222       - "-Djava.rmi.server.hostname=127.0.0.1"
223
224   # Disables the updateQueryData script to run as part of traversal
225   disableUpdateQuery: true
226
227   # Override of the DSL Timeout Limit
228   dslOverride: 'ZV4V7E3N77SKIB6MR9MHQ6M4P6Q99Z7M76RBODA'
229
230   dsl:
231     # Dsl timeout configuration
232     timeout:
233       # Whether or not the dsl is enabled
234       enabled: true
235       # Default time limit of the DSL query
236       limit: 150000
237       # App Specific Timeout Limit for each of the X-FromAppId
238       appspecific:
239         - JUNITTESTAPP1,1
240         - JUNITTESTAPP2,-1
241         - AAI-TOOLS,-1
242         - DCAE-CCS,1200000
243         - DCAES,1200000
244         - VPESAT,-1
245         - AAI-CACHER,-1
246         - VidAaiController,300000
247         - AAI-UI,180000
248
249 persistence:
250   mountPath: /dockerdata-nfs
251   mountSubPath: aai/aai-traversal
252
253 # default number of instances
254 replicaCount: 1
255
256 # number of ReplicaSets that should be retained for the Deployment
257 revisionHistoryLimit: 1
258
259 nodeSelector: {}
260
261 affinity: {}
262
263 # probe configuration parameters
264 liveness:
265   path: /actuator/health
266   initialDelaySeconds: 60
267   periodSeconds: 60
268   enabled: true
269
270 readiness:
271   path: /actuator/health/readiness
272   initialDelaySeconds: 10
273   periodSeconds: 10
274
275 actuator:
276   echo:
277     enabled: true
278
279 service:
280   type: ClusterIP
281   traversalPortName: http
282   traversalPort: 8446
283   debugPortName: tcp-5005
284   debugPort: 5005
285   metricsPortName: metrics
286   metricsPort: 8448
287   profilingPortName: jmx-9999
288   profilingPort: 9999
289   terminationGracePeriodSeconds: 30
290   sessionAffinity: None
291
292 ingress:
293   enabled: false
294
295 serviceMesh:
296   authorizationPolicy:
297     authorizedPrincipals:
298       - serviceAccount: aai-read
299       - serviceAccount: consul-read
300
301 # To make logback capping values configurable
302 logback:
303   logToFileEnabled: false
304   maxHistory: 7
305   totalSizeCap: 6GB
306   queueSize: 1000
307
308 accessLogback:
309   logToFileEnabled: false
310   livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
311   maxHistory: 7
312   totalSizeCap: 6GB
313
314 # Configure resource requests and limits
315 # ref: http://kubernetes.io/docs/user-guide/compute-resources/
316 resources:
317   small:
318     limits:
319       cpu: "2"
320       memory: "4Gi"
321     requests:
322       cpu: "1"
323       memory: "3Gi"
324   large:
325     limits:
326       cpu: "4"
327       memory: "8Gi"
328     requests:
329       cpu: "2"
330       memory: "4Gi"
331   unlimited: {}
332
333 # define the heap size for the JVM
334 # according to the resource flavor
335 small:
336   maxHeapSize: "2500m"
337 large:
338   maxHeapSize: "3g"
339
340 autoscaling:
341   enabled: false
342   minReplicas: 1
343   maxReplicas: 3
344   targetCPUUtilizationPercentage: 80
345
346 tracing:
347   ignorePatterns:
348     - /aai/util.*
349
350 endpoints:
351   enabled: true
352   health:
353     enabled: true
354   info:
355     enabled: true
356
357 podAnnotations:
358   checksum/config: '{{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}'
359
360 metrics:
361   serviceMonitor:
362     enabled: true
363     targetPort: 8448
364     path: /actuator/prometheus
365     basicAuth:
366       enabled: false
367       externalSecretName: mysecretname
368       externalSecretUserKey: login
369       externalSecretPasswordKey: password
370
371     ## Namespace in which Prometheus is running
372     ##
373     # namespace: monitoring
374
375     ## Interval at which metrics should be scraped.
376     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
377     ##
378     #interval: 30s
379
380     ## Timeout after which the scrape is ended
381     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
382     ##
383     # scrapeTimeout: 10s
384
385     ## ServiceMonitor selector labels
386     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
387     ##
388     selector:
389       app: '{{ include "common.name" . }}'
390       helm.sh/chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
391       app.kubernetes.io/instance: '{{ include "common.release" . }}'
392       app.kubernetes.io/managed-by: '{{ .Release.Service }}'
393
394     ## RelabelConfigs to apply to samples before scraping
395     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
396     ## Value is evalued as a template
397     ##
398     relabelings: []
399
400     ## MetricRelabelConfigs to apply to samples before ingestion
401     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
402     ## Value is evalued as a template
403     ##
404     metricRelabelings: []
405     #  - sourceLabels:
406     #      - "__name__"
407     #    targetLabel: "__name__"
408     #    action: replace
409     #    regex: '(.*)'
410     #    replacement: 'example_prefix_$1'
411
412 #Pods Service Account
413 serviceAccount:
414   nameOverride: aai-traversal
415   roles:
416     - read
417
418 #Log configuration
419 log:
420   path: /var/log/onap
421   level:
422     root: INFO
423     base: INFO # base package (org.onap.aai)
424 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
425
426 volumes:
427   logSizeLimit: 50Mi
428   logmiscSizeLimit: 50Mi
429   tmpSizeLimit: 100Mi
430
431 securityContext:
432   user_id: 1000
433   group_id: 1000
434
435 readinessCheck:
436   wait_for_migration:
437     jobs:
438       - '{{ include "common.release" . }}-aai-graphadmin-migration'
439   wait_for_createSchema:
440     jobs:
441       - '{{ include "common.release" . }}-aai-graphadmin-create-db-schema'
442   wait_for_cassandra:
443     services:
444       - '{{ .Values.global.cassandra.serviceName }}'
445       - aai-schema-service
446   wait_for_traversal:
447     services:
448       - aai-traversal
449
450 jobAnnotations:
451   "helm.sh/hook": pre-upgrade,pre-rollback,post-install
452   "helm.sh/hook-weight": "2"
453   "helm.sh/hook-delete-policy": before-hook-creation
454
455 #################################################################
456 # Secrets metaconfig
457 #################################################################
458 secrets:
459   - uid: aai-trav-kafka-user
460     externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
461     type: genericKV
462     envs:
463       - name: sasl.jaas.config
464         value: '{{ .Values.config.someConfig }}'
465         policy: generate
466 kafkaUser:
467   authenticationType: scram-sha-512
468   acls:
469     - name: AAI-EVENT
470       type: topic
471       operations: [Read, Write]