[AAI] Make janusgraph caching configurable
[oom.git] / kubernetes / aai / components / aai-resources / values.yaml
1 # Copyright (c) 2018 Amdocs, Bell Canada, AT&T
2 # Copyright (c) 2020 Nokia, Orange
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 resources.
19 # This is a YAML-formatted file.
20 # Declare variables to be passed into your templates.
21 global: # global defaults
22   nodePortPrefix: 302
23   cassandra:
24     #Service Name of the cassandra cluster to connect to.
25     #Override it to aai-cassandra if localCluster is enabled.
26     serviceName: cassandra
27
28   # Specifies a list of jobs to be run
29   jobs:
30     # When enabled, it will create the schema based on oxm and edge rules
31     createSchema:
32       enabled: true
33     #migration using helm hooks
34     migration:
35       enabled: false
36
37   config:
38     # Specifies that the cluster connected to a dynamic
39     # cluster being spinned up by kubernetes deployment
40     cluster:
41       cassandra:
42         dynamic: true
43
44     # Specifies if the basic authorization is enabled
45     basic:
46       auth:
47         enabled: true
48         username: AAI
49         passwd: AAI
50
51     # Active spring profiles for the resources microservice
52     profiles:
53       active: production,dmaap
54
55     # Notification event specific properties
56     notification:
57       eventType: AAI-EVENT
58       domain: dev
59
60     # Schema specific properties that include supported versions of api
61     schema:
62       # Specifies if the connection should be one way ssl, two way ssl or no auth
63       service:
64         client: no-auth
65       # Specifies which translator to use if it has schema-service, then it will make a rest request to schema service
66       translator:
67         list: schema-service
68       source:
69         # Specifies which folder to take a look at
70         name: onap
71       uri:
72         # Base URI Path of the application
73         base:
74           path: /aai
75       version:
76         # Current version of the REST API
77         api:
78           default: v28
79         # Specifies which version the depth parameter is configurable
80         depth: v11
81         # List of all the supported versions of the API
82         list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28
83         # Specifies from which version related link should appear
84         related:
85           link: v11
86         # Specifies from which version the app root change happened
87         app:
88           root: v11
89         # Specifies from which version the xml namespace changed
90         namespace:
91           change: v12
92         # Specifies from which version the edge label appeared in API
93         edge:
94           label: v12
95
96     # Specifies which clients should always default to realtime graph connection
97     realtime:
98       clients: SDNC,MSO,SO,robot-ete
99
100 api_list:
101   - 11
102   - 12
103   - 13
104   - 14
105   - 15
106   - 16
107   - 17
108   - 18
109   - 19
110
111 aai_enpoints:
112   - name: aai-cloudInfrastructure
113     url: cloud-infrastructure
114   - name: aai-business
115     url: business
116   - name: aai-actions
117     url: actions
118   - name: aai-service-design-and-creation
119     url: service-design-and-creation
120   - name: aai-network
121     url: network
122   - name: aai-externalSystem
123     url: external-system
124
125 # application image
126 image: onap/aai-resources:1.12.3
127 pullPolicy: Always
128 restartPolicy: Always
129 flavor: small
130 flavorOverride: small
131 # default number of instances
132 replicaCount: 1
133 # the minimum number of seconds that a newly created Pod should be ready
134 minReadySeconds: 30
135 updateStrategy:
136   type: RollingUpdate
137   # The number of pods that can be unavailable during the update process
138   maxUnavailable: 0
139   # The number of pods that can be created above the desired amount of pods during an update
140   maxSurge: 1
141
142 # Configuration for the resources deployment
143 config:
144   # configure keycloak according to your environment.
145   # don't forget to add keycloak in active profiles above (global.config.profiles)
146   keycloak:
147     host: keycloak.your.domain
148     port: 8180
149     # Specifies a set of users, credentials, roles, and groups
150     realm: aai-resources
151     # Used by any client application for enabling fine-grained authorization for their protected resources
152     resource: aai-resources-app
153     # If set to true, additional criteria will be added that match the data-owner property with the given role
154     # to the user in keycloak
155     multiTenancy:
156       enabled: true
157   janusgraph:
158     caching:
159       # enable when running read-heavy workloads
160       # modifications to graph done by this service/janusgraph instance will immediately invalidate the cache
161       # modifications to graph done by other services (traversal) will only be visible
162       # after time specified in db-cache-time
163       enabled: false
164       # Documentation: https://docs.janusgraph.org/operations/cache/#database-level-caching
165       dbCacheTime: 180000 # in milliseconds
166       dbCacheSize: 0.1 # percentage (expressed as a decimal between 0 and 1) of the total heap space available to the JVM running
167       dbCacheCleanWait: 20 # in milliseconds
168
169
170   # Specifies crud related operation timeouts and overrides
171   crud:
172     timeout:
173       # Specifies if the timeout for REST GET calls should be enabled
174       enabled: true
175       # Specifies the timeout values for application specific
176       # Its a pipe seperated list where each element before comma represents
177       # the X-FromAppId and the comma after specifies the timeout limit in ms
178       # If the timeout limit is -1 then it means for these apps no timeout
179       appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1
180       # Specifies what is the maximum timeout limit in milliseconds
181       limit: 100000
182
183   # Specifies configuration for bulk apis
184   bulk:
185     # Specifies for a bulk payload how many transactions in total allowed
186     limit: 30
187     # Specifies if the bulk can be override and if it can the value
188     override: false
189
190   # environment variables added to the launch of the image in deployment
191   env:
192     MIN_HEAP_SIZE: "512m"
193     MAX_HEAP_SIZE: "1024m"
194     MAX_METASPACE_SIZE: "512m"
195
196 nodeSelector: {}
197
198 affinity: {}
199
200 # probe configuration parameters
201 liveness:
202   initialDelaySeconds: 60
203   periodSeconds: 60
204   # necessary to disable liveness probe when setting breakpoints
205   # in debugger so K8s doesn't restart unresponsive container
206   enabled: false
207
208 readiness:
209   initialDelaySeconds: 60
210   periodSeconds: 10
211
212 service:
213   type: ClusterIP
214   portName: http
215   internalPort: 8447
216   portName2: tcp-5005
217   internalPort2: 5005
218   portName3: http-resources
219   internalPort3: 8448
220   terminationGracePeriodSeconds: 120
221   sessionAffinity: None
222
223 ingress:
224   enabled: false
225
226 serviceMesh:
227   authorizationPolicy:
228     authorizedPrincipals:
229       - serviceAccount: aai-read
230       - serviceAccount: consul-read
231
232   # We usually recommend not to specify default resources and to leave this as a conscious
233   # choice for the user. This also increases chances charts run on environments with little
234   # resources, such as Minikube. If you do want to specify resources, uncomment the following
235   # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
236   #
237   # Example:
238   # Configure resource requests and limits
239   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
240   # Minimum memory for development is 2 CPU cores and 4GB memory
241   # Minimum memory for production is 4 CPU cores and 8GB memory
242 #resources:
243 #  limits:
244 #    cpu: 2
245 #    memory: 4Gi
246 #  requests:
247 #    cpu: 2
248 #    memory: 4Gi
249 resources:
250   small:
251     limits:
252       cpu: 2
253       memory: 4Gi
254     requests:
255       cpu: 1
256       memory: 3Gi
257   large:
258     limits:
259       cpu: 4
260       memory: 8Gi
261     requests:
262       cpu: 2
263       memory: 6Gi
264   unlimited: {}
265
266 tracing:
267   collector:
268     baseUrl: http://jaeger-collector.istio-system:9411
269   sampling:
270     probability: 1.0 # percentage of requests that are sampled (between 0-1/0%-100%)
271   ignorePatterns:
272     - /aai/util.*
273
274 endpoints:
275   enabled: true
276   health:
277     enabled: true
278   info:
279     enabled: true
280
281 metrics:
282   serviceMonitor:
283     enabled: false
284     targetPort: 8448
285     path: /prometheus
286     basicAuth:
287       enabled: false
288       externalSecretName: mysecretname
289       externalSecretUserKey: login
290       externalSecretPasswordKey: password
291
292     ## Namespace in which Prometheus is running
293     ##
294     # namespace: monitoring
295
296     ## Interval at which metrics should be scraped.
297     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
298     ##
299     #interval: 30s
300
301     ## Timeout after which the scrape is ended
302     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
303     ##
304     # scrapeTimeout: 10s
305
306     ## ServiceMonitor selector labels
307     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
308     ##
309     selector:
310       app: '{{ include "common.name" . }}'
311       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
312       release: '{{ include "common.release" . }}'
313       heritage: '{{ .Release.Service }}'
314
315     ## RelabelConfigs to apply to samples before scraping
316     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
317     ## Value is evalued as a template
318     ##
319     relabelings: []
320
321     ## MetricRelabelConfigs to apply to samples before ingestion
322     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
323     ## Value is evalued as a template
324     ##
325     metricRelabelings: []
326     #  - sourceLabels:
327     #      - "__name__"
328     #    targetLabel: "__name__"
329     #    action: replace
330     #    regex: '(.*)'
331     #    replacement: 'example_prefix_$1'
332
333 #Pods Service Account
334 serviceAccount:
335   nameOverride: aai-resources
336   roles:
337     - read
338
339 #Log configuration
340 log:
341   path: /var/log/onap
342 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
343
344 # To make logback capping values configurable
345 logback:
346   logToFileEnabled: false
347   maxHistory: 7
348   totalSizeCap: 1GB
349   queueSize: 1000
350
351 accessLogback:
352   livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
353   logToFileEnabled: false
354   maxHistory: 7
355   totalSizeCap: 1GB