Merge "[AAI] Add model-loader tracing config"
[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.13.0
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   # adds jvm args for remote debugging the application
197   debug:
198     enabled: false
199     args: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
200
201   # adds jvm args for remote profiling the application
202   # port-forward, i.e:
203   # $ PODNAME=traversal
204   # $ kubectl -n ${NAMESPACE:=onap} port-forward pod/$(kubectl -n ${NAMESPACE:=onap}
205   # get pods | awk '{print $1}' | grep -m1 -e "$PODNAME") 9999:9999
206   profiling:
207     enabled: false
208     args:
209       - "-Dcom.sun.management.jmxremote"
210       - "-Dcom.sun.management.jmxremote.ssl=false"
211       - "-Dcom.sun.management.jmxremote.authenticate=false"
212       - "-Dcom.sun.management.jmxremote.local.only=false"
213       - "-Dcom.sun.management.jmxremote.port=9999"
214       - "-Dcom.sun.management.jmxremote.rmi.port=9999"
215       - "-Djava.rmi.server.hostname=127.0.0.1"
216
217 nodeSelector: {}
218
219 affinity: {}
220
221 # probe configuration parameters
222 liveness:
223   initialDelaySeconds: 60
224   periodSeconds: 60
225   # necessary to disable liveness probe when setting breakpoints
226   # in debugger so K8s doesn't restart unresponsive container
227   enabled: false
228
229 readiness:
230   initialDelaySeconds: 60
231   periodSeconds: 10
232
233 service:
234   type: ClusterIP
235   portName: http
236   internalPort: 8447
237   portName2: tcp-5005
238   internalPort2: 5005
239   portName3: http-resources
240   internalPort3: 8448
241   terminationGracePeriodSeconds: 120
242   sessionAffinity: None
243
244 ingress:
245   enabled: false
246
247 serviceMesh:
248   authorizationPolicy:
249     authorizedPrincipals:
250       - serviceAccount: aai-read
251       - serviceAccount: consul-read
252
253   # We usually recommend not to specify default resources and to leave this as a conscious
254   # choice for the user. This also increases chances charts run on environments with little
255   # resources, such as Minikube. If you do want to specify resources, uncomment the following
256   # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
257   #
258   # Example:
259   # Configure resource requests and limits
260   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
261   # Minimum memory for development is 2 CPU cores and 4GB memory
262   # Minimum memory for production is 4 CPU cores and 8GB memory
263 #resources:
264 #  limits:
265 #    cpu: "2"
266 #    memory: "4Gi"
267 #  requests:
268 #    cpu: "2"
269 #    memory: "4Gi"
270 resources:
271   small:
272     limits:
273       cpu: "2"
274       memory: "4Gi"
275     requests:
276       cpu: "1"
277       memory: "3Gi"
278   large:
279     limits:
280       cpu: "4"
281       memory: "8Gi"
282     requests:
283       cpu: "2"
284       memory: "6Gi"
285   unlimited: {}
286
287 tracing:
288   collector:
289     baseUrl: http://jaeger-collector.istio-system:9411
290   sampling:
291     probability: 1.0 # percentage of requests that are sampled (between 0-1/0%-100%)
292   ignorePatterns:
293     - /aai/util.*
294
295 endpoints:
296   enabled: true
297   health:
298     enabled: true
299   info:
300     enabled: true
301
302 metrics:
303   serviceMonitor:
304     enabled: false
305     targetPort: 8448
306     path: /actuator/prometheus
307     basicAuth:
308       enabled: false
309       externalSecretName: mysecretname
310       externalSecretUserKey: login
311       externalSecretPasswordKey: password
312
313     ## Namespace in which Prometheus is running
314     ##
315     # namespace: monitoring
316
317     ## Interval at which metrics should be scraped.
318     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
319     ##
320     #interval: 30s
321
322     ## Timeout after which the scrape is ended
323     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
324     ##
325     # scrapeTimeout: 10s
326
327     ## ServiceMonitor selector labels
328     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
329     ##
330     selector:
331       app: '{{ include "common.name" . }}'
332       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
333       release: '{{ include "common.release" . }}'
334       heritage: '{{ .Release.Service }}'
335
336     ## RelabelConfigs to apply to samples before scraping
337     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
338     ## Value is evalued as a template
339     ##
340     relabelings: []
341
342     ## MetricRelabelConfigs to apply to samples before ingestion
343     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
344     ## Value is evalued as a template
345     ##
346     metricRelabelings: []
347     #  - sourceLabels:
348     #      - "__name__"
349     #    targetLabel: "__name__"
350     #    action: replace
351     #    regex: '(.*)'
352     #    replacement: 'example_prefix_$1'
353
354 #Pods Service Account
355 serviceAccount:
356   nameOverride: aai-resources
357   roles:
358     - read
359
360 #Log configuration
361 log:
362   path: /var/log/onap
363 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
364
365 # To make logback capping values configurable
366 logback:
367   logToFileEnabled: false
368   maxHistory: 7
369   totalSizeCap: 1GB
370   queueSize: 1000
371
372 accessLogback:
373   livenessAccessLogEnabled: false # false: do not log kubernetes liveness probes
374   logToFileEnabled: false
375   maxHistory: 7
376   totalSizeCap: 1GB