Merge "[AAI] Add model-loader tracing config"
[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
24   cassandra:
25     #Service Name of the cassandra cluster to connect to.
26     #Override it to aai-cassandra if localCluster is enabled.
27     serviceName: cassandra
28
29   # Specifies a list of jobs to be run
30   jobs:
31     # When enabled, it will create the schema based on oxm and edge rules
32     createSchema:
33       enabled: true
34     # When enabled, it will create the widget models via REST API to haproxy
35     updateQueryData:
36       enabled: true
37     #migration using helm hooks
38     migration:
39       enabled: false
40
41   # Common configuration for resources traversal and graphadmin
42   config:
43     # User information for the admin user in container
44     userId: 1000
45     groupId: 1000
46
47     # Specifies that the cluster connected to a dynamic
48     # cluster being spinned up by kubernetes deployment
49     cluster:
50       cassandra:
51         dynamic: true
52
53     # Specifies if the basic authorization is enabled
54     basic:
55       auth:
56         enabled: true
57         username: AAI
58         passwd: AAI
59
60     # Active spring profiles for the resources microservice
61     profiles:
62       active: production,dmaap
63
64     # Notification event specific properties
65     notification:
66       eventType: AAI-EVENT
67       domain: dev
68
69     # Schema specific properties that include supported versions of api
70     schema:
71       # Specifies if the connection should be one way ssl, two way ssl or no auth
72       service:
73         client: no-auth
74       # Specifies which translator to use if it has schema-service, then it will make a rest request to schema service
75       translator:
76         list: schema-service
77       source:
78         # Specifies which folder to take a look at
79         name: onap
80       uri:
81         # Base URI Path of the application
82         base:
83           path: /aai
84       version:
85         # Current version of the REST API
86         api:
87           default: v28
88         # Specifies which version the depth parameter is configurable
89         depth: v11
90         # List of all the supported versions of the API
91         list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28
92         # Specifies from which version related link should appear
93         related:
94           link: v11
95         # Specifies from which version the app root change happened
96         app:
97           root: v11
98         # Specifies from which version the xml namespace changed
99         namespace:
100           change: v12
101         # Specifies from which version the edge label appeared in API
102         edge:
103           label: v12
104
105     # Specifies which clients should always default to realtime graph connection
106     realtime:
107       clients: SDNC,MSO,SO,robot-ete
108
109 # application image
110 image: onap/aai-traversal:1.12.3
111 pullPolicy: Always
112 restartPolicy: Always
113 flavor: small
114 flavorOverride: small
115 # the minimum number of seconds that a newly created Pod should be ready
116 minReadySeconds: 30
117 updateStrategy:
118   type: RollingUpdate
119   # The number of pods that can be unavailable during the update process
120   maxUnavailable: 0
121   # The number of pods that can be created above the desired amount of pods during an update
122   maxSurge: 1
123
124 api_list:
125   - 11
126   - 12
127   - 13
128   - 14
129   - 15
130   - 16
131   - 17
132   - 18
133   - 19
134
135 aai_enpoints:
136   - name: aai-generic-query
137     url: search/generic-query
138   - name: aai-nodes-query
139     url: search/nodes-query
140   - name: aai-nquery
141     url: query
142
143 # application configuration
144 config:
145   # configure keycloak according to your environment.
146   # don't forget to add keycloak in active profiles above (global.config.profiles)
147   keycloak:
148     host: keycloak.your.domain
149     port: 8180
150     # Specifies a set of users, credentials, roles, and groups
151     realm: aai-traversal
152     # Used by any client application for enabling fine-grained authorization for their protected resources
153     resource: aai-traversal-app
154     # If set to true, additional criteria will be added into traversal query to returns all the vertices that match
155     # the data-owner property with the given role to the user in keycloak
156     multiTenancy:
157       enabled: true
158   janusgraph:
159     caching:
160       # enable when running read-heavy workloads
161       # modifications to graph done by this service/janusgraph instance will immediately invalidate the cache
162       # modifications to graph done by other services (resources) will only be visible
163       # after time specified in db-cache-time
164       enabled: false
165       # Documentation: https://docs.janusgraph.org/operations/cache/#database-level-caching
166       dbCacheTime: 180000 # in milliseconds
167       dbCacheSize: 0.1 # percentage (expressed as a decimal between 0 and 1) of the total heap space available to the JVM running
168       dbCacheCleanWait: 20 # in milliseconds
169
170
171   # Specifies timeout information such as application specific and limits
172   timeout:
173     # If set to true application will timeout for queries taking longer than limit
174     enabled: true
175     # Specifies which apps (X-FromAppId) header should get overridden and (-1) no timeout
176     appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1
177     # Specifies how long should it wait before timing out the REST request
178     limit: 180000
179
180   # environment variables added to the launch of the image in deployment
181   env:
182     MIN_HEAP_SIZE: "512m"
183     MAX_HEAP_SIZE: "1024m"
184     MAX_METASPACE_SIZE: "512m"
185
186   # adds jvm args for remote debugging the application
187   debug:
188     enabled: false
189     args: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
190
191   # adds jvm args for remote profiling the application
192   profiling:
193     enabled: false
194     args:
195       - "-Dcom.sun.management.jmxremote"
196       - "-Dcom.sun.management.jmxremote.ssl=false"
197       - "-Dcom.sun.management.jmxremote.authenticate=false"
198       - "-Dcom.sun.management.jmxremote.local.only=false"
199       - "-Dcom.sun.management.jmxremote.port=9999"
200       - "-Dcom.sun.management.jmxremote.rmi.port=9999"
201       - "-Djava.rmi.server.hostname=127.0.0.1"
202
203   # Disables the updateQueryData script to run as part of traversal
204   disableUpdateQuery: true
205
206   # Override of the DSL Timeout Limit
207   dslOverride: 'ZV4V7E3N77SKIB6MR9MHQ6M4P6Q99Z7M76RBODA'
208
209   dsl:
210     # Dsl timeout configuration
211     timeout:
212       # Whether or not the dsl is enabled
213       enabled: true
214       # Default time limit of the DSL query
215       limit: 150000
216       # App Specific Timeout Limit for each of the X-FromAppId
217       appspecific:
218         - JUNITTESTAPP1,1
219         - JUNITTESTAPP2,-1
220         - AAI-TOOLS,-1
221         - DCAE-CCS,1200000
222         - DCAES,1200000
223         - VPESAT,-1
224         - AAI-CACHER,-1
225         - VidAaiController,300000
226         - AAI-UI,180000
227
228 persistence:
229   mountPath: /dockerdata-nfs
230   mountSubPath: aai/aai-traversal
231
232 # default number of instances
233 replicaCount: 1
234
235 nodeSelector: {}
236
237 affinity: {}
238
239 # probe configuration parameters
240 liveness:
241   initialDelaySeconds: 60
242   periodSeconds: 60
243   # necessary to disable liveness probe when setting breakpoints
244   # in debugger so K8s doesn't restart unresponsive container
245   enabled: false
246
247 readiness:
248   initialDelaySeconds: 10
249   periodSeconds: 10
250
251 service:
252   type: ClusterIP
253   portName: http
254   internalPort: 8446
255   portName2: tcp-5005
256   internalPort2: 5005
257   portName3: http-traversal
258   internalPort3: 8448
259   terminationGracePeriodSeconds: 120
260   sessionAffinity: None
261
262 ingress:
263   enabled: false
264
265 serviceMesh:
266   authorizationPolicy:
267     authorizedPrincipals:
268       - serviceAccount: aai-read
269       - serviceAccount: consul-read
270
271 # To make logback capping values configurable
272 logback:
273   logToFileEnabled: false
274   maxHistory: 7
275   totalSizeCap: 6GB
276   queueSize: 1000
277
278 accessLogback:
279   livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
280   logToFileEnabled: false
281   maxHistory: 7
282   totalSizeCap: 6GB
283
284 # Configure resource requests and limits
285 # ref: http://kubernetes.io/docs/user-guide/compute-resources/
286 resources:
287   small:
288     limits:
289       cpu: "2"
290       memory: "4Gi"
291     requests:
292       cpu: "1"
293       memory: "3Gi"
294   large:
295     limits:
296       cpu: "4"
297       memory: "8Gi"
298     requests:
299       cpu: "2"
300       memory: "4Gi"
301   unlimited: {}
302
303 endpoints:
304   enabled: true
305   health:
306     enabled: true
307   info:
308     enabled: true
309
310 metrics:
311   serviceMonitor:
312     enabled: false
313     targetPort: 8448
314     path: /actuator/prometheus
315     basicAuth:
316       enabled: false
317       externalSecretName: mysecretname
318       externalSecretUserKey: login
319       externalSecretPasswordKey: password
320
321     ## Namespace in which Prometheus is running
322     ##
323     # namespace: monitoring
324
325     ## Interval at which metrics should be scraped.
326     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
327     ##
328     #interval: 30s
329
330     ## Timeout after which the scrape is ended
331     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
332     ##
333     # scrapeTimeout: 10s
334
335     ## ServiceMonitor selector labels
336     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
337     ##
338     selector:
339       app: '{{ include "common.name" . }}'
340       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
341       release: '{{ include "common.release" . }}'
342       heritage: '{{ .Release.Service }}'
343
344     ## RelabelConfigs to apply to samples before scraping
345     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
346     ## Value is evalued as a template
347     ##
348     relabelings: []
349
350     ## MetricRelabelConfigs to apply to samples before ingestion
351     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
352     ## Value is evalued as a template
353     ##
354     metricRelabelings: []
355     #  - sourceLabels:
356     #      - "__name__"
357     #    targetLabel: "__name__"
358     #    action: replace
359     #    regex: '(.*)'
360     #    replacement: 'example_prefix_$1'
361
362 #Pods Service Account
363 serviceAccount:
364   nameOverride: aai-traversal
365   roles:
366     - read
367
368 #Log configuration
369 log:
370   path: /var/log/onap
371 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'