Merge "[AAI] Fix Istio compatibility and add Job ServiceAccount"
[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: v27
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
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.11.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
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 nodeSelector: {}
179
180 affinity: {}
181
182 # probe configuration parameters
183 liveness:
184   initialDelaySeconds: 60
185   periodSeconds: 60
186   # necessary to disable liveness probe when setting breakpoints
187   # in debugger so K8s doesn't restart unresponsive container
188   enabled: false
189
190 readiness:
191   initialDelaySeconds: 60
192   periodSeconds: 10
193
194 service:
195   type: ClusterIP
196   portName: http
197   internalPort: 8447
198   portName2: tcp-5005
199   internalPort2: 5005
200   portName3: http-resources
201   internalPort3: 8448
202   terminationGracePeriodSeconds: 120
203   sessionAffinity: None
204
205 ingress:
206   enabled: false
207
208 serviceMesh:
209   authorizationPolicy:
210     authorizedPrincipals:
211       - serviceAccount: aai-read
212       - serviceAccount: consul-read
213
214   # We usually recommend not to specify default resources and to leave this as a conscious
215   # choice for the user. This also increases chances charts run on environments with little
216   # resources, such as Minikube. If you do want to specify resources, uncomment the following
217   # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
218   #
219   # Example:
220   # Configure resource requests and limits
221   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
222   # Minimum memory for development is 2 CPU cores and 4GB memory
223   # Minimum memory for production is 4 CPU cores and 8GB memory
224 #resources:
225 #  limits:
226 #    cpu: 2
227 #    memory: 4Gi
228 #  requests:
229 #    cpu: 2
230 #    memory: 4Gi
231 resources:
232   small:
233     limits:
234       cpu: 999
235       memory: 4Gi
236     requests:
237       cpu: 1
238       memory: 3Gi
239   large:
240     limits:
241       cpu: 999
242       memory: 8Gi
243     requests:
244       cpu: 2
245       memory: 6Gi
246   unlimited: {}
247
248 metrics:
249   serviceMonitor:
250     enabled: false
251     targetPort: 8448
252     path: /prometheus
253     basicAuth:
254       enabled: false
255       externalSecretName: mysecretname
256       externalSecretUserKey: login
257       externalSecretPasswordKey: password
258
259     ## Namespace in which Prometheus is running
260     ##
261     # namespace: monitoring
262
263     ## Interval at which metrics should be scraped.
264     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
265     ##
266     #interval: 30s
267
268     ## Timeout after which the scrape is ended
269     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
270     ##
271     # scrapeTimeout: 10s
272
273     ## ServiceMonitor selector labels
274     ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
275     ##
276     selector:
277       app: '{{ include "common.name" . }}'
278       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
279       release: '{{ include "common.release" . }}'
280       heritage: '{{ .Release.Service }}'
281
282     ## RelabelConfigs to apply to samples before scraping
283     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
284     ## Value is evalued as a template
285     ##
286     relabelings: []
287
288     ## MetricRelabelConfigs to apply to samples before ingestion
289     ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
290     ## Value is evalued as a template
291     ##
292     metricRelabelings: []
293     #  - sourceLabels:
294     #      - "__name__"
295     #    targetLabel: "__name__"
296     #    action: replace
297     #    regex: '(.*)'
298     #    replacement: 'example_prefix_$1'
299
300 #Pods Service Account
301 serviceAccount:
302   nameOverride: aai-resources
303   roles:
304     - read
305
306 #Log configuration
307 log:
308   path: /var/log/onap
309 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
310
311 # To make logback capping values configurable
312 logback:
313   logToFileEnabled: true
314   maxHistory: 7
315   totalSizeCap: 1GB
316   queueSize: 1000
317
318 accessLogback:
319   logToFileEnabled: true
320   maxHistory: 7
321   totalSizeCap: 1GB