Merge "[AAI] Add variables for HEAP and METASPACE sizes"
[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
158   # Specifies crud related operation timeouts and overrides
159   crud:
160     timeout:
161       # Specifies if the timeout for REST GET calls should be enabled
162       enabled: true
163       # Specifies the timeout values for application specific
164       # Its a pipe seperated list where each element before comma represents
165       # the X-FromAppId and the comma after specifies the timeout limit in ms
166       # If the timeout limit is -1 then it means for these apps no timeout
167       appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1
168       # Specifies what is the maximum timeout limit in milliseconds
169       limit: 100000
170
171   # Specifies configuration for bulk apis
172   bulk:
173     # Specifies for a bulk payload how many transactions in total allowed
174     limit: 30
175     # Specifies if the bulk can be override and if it can the value
176     override: false
177
178   # environment variables added to the launch of the image in deployment
179   env:
180     MIN_HEAP_SIZE: "512m"
181     MAX_HEAP_SIZE: "1024m"
182     MAX_METASPACE_SIZE: "512m"
183
184 nodeSelector: {}
185
186 affinity: {}
187
188 # probe configuration parameters
189 liveness:
190   initialDelaySeconds: 60
191   periodSeconds: 60
192   # necessary to disable liveness probe when setting breakpoints
193   # in debugger so K8s doesn't restart unresponsive container
194   enabled: false
195
196 readiness:
197   initialDelaySeconds: 60
198   periodSeconds: 10
199
200 service:
201   type: ClusterIP
202   portName: http
203   internalPort: 8447
204   portName2: tcp-5005
205   internalPort2: 5005
206   portName3: http-resources
207   internalPort3: 8448
208   terminationGracePeriodSeconds: 120
209   sessionAffinity: None
210
211 ingress:
212   enabled: false
213
214 serviceMesh:
215   authorizationPolicy:
216     authorizedPrincipals:
217       - serviceAccount: aai-read
218       - serviceAccount: consul-read
219
220   # We usually recommend not to specify default resources and to leave this as a conscious
221   # choice for the user. This also increases chances charts run on environments with little
222   # resources, such as Minikube. If you do want to specify resources, uncomment the following
223   # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
224   #
225   # Example:
226   # Configure resource requests and limits
227   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
228   # Minimum memory for development is 2 CPU cores and 4GB memory
229   # Minimum memory for production is 4 CPU cores and 8GB memory
230 #resources:
231 #  limits:
232 #    cpu: 2
233 #    memory: 4Gi
234 #  requests:
235 #    cpu: 2
236 #    memory: 4Gi
237 resources:
238   small:
239     limits:
240       cpu: 2
241       memory: 4Gi
242     requests:
243       cpu: 1
244       memory: 3Gi
245   large:
246     limits:
247       cpu: 4
248       memory: 8Gi
249     requests:
250       cpu: 2
251       memory: 6Gi
252   unlimited: {}
253
254 tracing:
255   collector:
256     baseUrl: http://jaeger-collector.istio-system:9411
257   sampling:
258     probability: 1.0 # percentage of requests that are sampled (between 0-1/0%-100%)
259   ignorePatterns:
260     - /aai/util.*
261
262 metrics:
263   serviceMonitor:
264     enabled: false
265     targetPort: 8448
266     path: /prometheus
267     basicAuth:
268       enabled: false
269       externalSecretName: mysecretname
270       externalSecretUserKey: login
271       externalSecretPasswordKey: password
272
273     ## Namespace in which Prometheus is running
274     ##
275     # namespace: monitoring
276
277     ## Interval at which metrics should be scraped.
278     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
279     ##
280     #interval: 30s
281
282     ## Timeout after which the scrape is ended
283     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
284     ##
285     # scrapeTimeout: 10s
286
287     ## ServiceMonitor selector labels
288     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
289     ##
290     selector:
291       app: '{{ include "common.name" . }}'
292       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
293       release: '{{ include "common.release" . }}'
294       heritage: '{{ .Release.Service }}'
295
296     ## RelabelConfigs to apply to samples before scraping
297     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
298     ## Value is evalued as a template
299     ##
300     relabelings: []
301
302     ## MetricRelabelConfigs to apply to samples before ingestion
303     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
304     ## Value is evalued as a template
305     ##
306     metricRelabelings: []
307     #  - sourceLabels:
308     #      - "__name__"
309     #    targetLabel: "__name__"
310     #    action: replace
311     #    regex: '(.*)'
312     #    replacement: 'example_prefix_$1'
313
314 #Pods Service Account
315 serviceAccount:
316   nameOverride: aai-resources
317   roles:
318     - read
319
320 #Log configuration
321 log:
322   path: /var/log/onap
323 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
324
325 # To make logback capping values configurable
326 logback:
327   logToFileEnabled: false
328   maxHistory: 7
329   totalSizeCap: 1GB
330   queueSize: 1000
331
332 accessLogback:
333   logToFileEnabled: false
334   maxHistory: 7
335   totalSizeCap: 1GB