[AAI] Fix Istio compatibility and add Job ServiceAccount
[oom.git] / kubernetes / aai / values.yaml
1 # Copyright (c) 2017 Amdocs, Bell Canada
2 # Modifications Copyright (c) 2018 AT&T
3 # Modifications Copyright (c) 2020 Nokia, Orange
4 # Modifications Copyright (c) 2021 Orange
5 # Modifications Copyright © 2023 Nordix Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #       http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18
19 # Default values for aai.
20 # This is a YAML-formatted file.
21 # Declare variables to be passed into your templates.
22 global: # global defaults
23   nodePortPrefix: 302
24   repository: nexus3.onap.org:10001
25   dockerhubRepository: docker.io
26   busyboxImage: busybox
27
28   readinessImage: onap/oom/readiness:3.0.1
29
30   loggingRepository: docker.elastic.co
31   loggingImage: beats/filebeat:5.5.0
32
33   restartPolicy: Always
34
35   msbEnabled: false
36   centralizedLoggingEnabled: false
37
38   cassandra:
39     #This will instantiate AAI cassandra cluster, default:shared cassandra.
40     localCluster: false
41
42     #Service Name of the cassandra cluster to connect to.
43     #Override it to aai-cassandra if localCluster is enabled.
44     #in case of using k8ssandra-operator in the common cassandra installation
45     #the service name is:
46     serviceName: cassandra-dc1-service
47     #in case of local k8ssandra-operator instance it is
48     #serviceName: aai-cassandra-dc1-service
49     #in case the older cassandra installation is used:
50     #serviceName: cassandra
51
52     #This should be same as shared cassandra instance or if localCluster is enabled
53     #then it should be same as aai-cassandra replicaCount
54     replicas: 3
55
56     #Cassanara login details
57     username: cassandra
58     password: cassandra
59
60   aai:
61     serviceName: aai
62   babel:
63     serviceName: aai-babel
64   aaiElasticsearch:
65     serviceName: aai-elasticsearch
66   resources:
67     serviceName: aai-resources
68   sparkyBe:
69     serviceName: aai-sparky-be
70   modelloader:
71     serviceName: aai-modelloader
72   searchData:
73     serviceName: aai-search-data
74   traversal:
75     serviceName: aai-traversal
76   graphadmin:
77     serviceName: aai-graphadmin
78
79   initContainers:
80     enabled: true
81   # Specifies a list of jobs to be run
82   jobs:
83     # When enabled, it will create the schema based on oxm and edge rules
84     createSchema:
85       enabled: true
86     # When enabled, it will create the widget models via REST API to haproxy
87     updateQueryData:
88       enabled: true
89     #migration using helm hooks
90     migration:
91       enabled: false
92       remoteCassandra:
93         enabled: false
94         storage:
95           backend: cassandra
96           hostname: 10.10.10.10
97           connectionTimeout: 100000
98           cacheSize: 1000000
99           keyConsistent: true
100
101           #If backend is cql or cassandra it should be keyspace name
102           #else backend is hbase it should be hbase table name
103           name: aaigraph
104
105        ## CQL driver specific properties for janusgraph
106        #  cql:
107        #    #Name of the Cassandra Cluster
108        #    cluster: someclustername
109        #    readConsistency: QUORUM
110        #    writeConsistency: QUORUM
111        #    replicationFactor: 3
112        #    localConsistencyForSysOps: true
113
114        ## Cassandra driver specific properties for janusgraph
115           cassandra:
116             #Name of the Cassandra Cluster
117             clusterName: aai-cluster
118             localDataCenter: Pod lab
119             readConsistency: LOCAL_QUORUM
120             writeConsistency: LOCAL_QUORUM
121             replicationFactor: 3
122
123         #storage:
124         #  backend: cassandra
125         #  hostname: somehost1,somehost2,somehost3
126         #  connectionTimeout: 100000
127         #  cacheSize: 1000000
128         #  clusterName: someClusterName
129         #  localDataCenter: someDataCenter
130         #  keyConsistent: true
131         #  #If backend is cql or cassandra it should be keyspace name
132         #  #else backend is hbase it should be hbase table name
133         #  name: your_hbase_table_or_keyspace_name
134
135         ## CQL driver specific properties for janusgraph
136         #  cql:
137         #    #Name of the Cassandra Cluster
138         #    cluster: someclustername
139         #    readConsistency: QUORUM
140         #    writeConsistency: QUORUM
141         #    replicationFactor: 3
142         #    localConsistencyForSysOps: true
143
144         ## Cassandra driver specific properties for janusgraph
145         #  cassandra:
146         #    #Name of the Cassandra Cluster
147         #    cluster: someclustername
148         #    readConsistency: LOCAL_QUORUM
149         #    writeConsistency: LOCAL_QUORUM
150         #    replicationFactor: 3
151
152
153   # Common configuration for resources traversal and graphadmin
154   config:
155     # User information for the admin user in container
156     userId: 1000
157     groupId: 1000
158
159     # Specifies that the cluster connected to a dynamic
160     # cluster being spinned up by kubernetes deployment
161     cluster:
162       cassandra:
163         dynamic: true
164
165     # If cluster.cassandra.dynamic is set to false
166     # Then the following configuration should be uncommented
167     # This is if you are planning to connect to a existing
168     # Cassandra cluster instead of doing the deployment
169     #storage:
170     #  backend: cassandra
171     #  hostname: somehost1,somehost2,somehost3
172     #  connectionTimeout: 100000
173     #  cacheSize: 1000000
174     #  clusterName: someClusterName
175     #  localDataCenter: someDataCenter
176     #  keyConsistent: true
177     #  # If backend is cql or cassandra it should be keyspace name
178     #  # else backend is hbase it should be hbase table name
179     #  name: your_hbase_table_or_keyspace_name
180
181     #  # CQL driver specific properties for janusgraph
182     #  cql:
183     #    # Name of the Cassandra Cluster
184     #    cluster: someclustername
185     #    readConsistency: QUORUM
186     #    writeConsistency: QUORUM
187     #    replicationFactor: 3
188     #    localConsistencyForSysOps: true
189
190     #  # Cassandra driver specific properties for janusgraph
191     #  cassandra:
192     #    # Name of the Cassandra Cluster
193     #    cluster: someclustername
194     #    readConsistency: LOCAL_QUORUM
195     #    writeConsistency: LOCAL_QUORUM
196     #    replicationFactor: 3
197
198     # Specifies if the basic authorization is enabled
199     basic:
200       auth:
201         enabled: true
202         username: AAI
203         passwd: AAI
204
205     # Active spring profiles for the resources microservice
206     # aaf-auth profile will be automatically set if aaf enabled is set to true
207     profiles:
208       active: production,dmaap #,aaf-auth
209
210     # Notification event specific properties
211     notification:
212       eventType: AAI-EVENT
213       domain: dev
214
215     # Schema specific properties that include supported versions of api
216     schema:
217       # Specifies if the connection should be one way ssl, two way ssl or no auth
218       # will be set to no-auth if tls is disabled
219       service:
220         client: no-auth
221       # Specifies which translator to use if it has schema-service, then it will make a rest request to schema service
222       translator:
223         list: schema-service
224       source:
225         # Specifies which folder to take a look at
226         name: onap
227       uri:
228         # Base URI Path of the application
229         base:
230           path: /aai
231       version:
232         # Current version of the REST API
233         api:
234           default: v27
235         # Specifies which version the depth parameter is configurable
236         depth: v11
237         # List of all the supported versions of the API
238         list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27
239         # Specifies from which version related link should appear
240         related:
241           link: v11
242         # Specifies from which version the app root change happened
243         app:
244           root: v11
245         # Specifies from which version the xml namespace changed
246         namespace:
247           change: v12
248         # Specifies from which version the edge label appeared in API
249         edge:
250           label: v12
251
252     # Keystore configuration password and filename
253     keystore:
254       filename: aai_keystore
255       passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 # changeit
256
257     # Truststore configuration password and filename
258     truststore:
259       filename: aai_keystore
260       passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 # changeit
261
262     # Specifies a list of files to be included in auth volume
263     auth:
264       files:
265         - aai_keystore
266
267     # Specifies which clients should always default to realtime graph connection
268     realtime:
269       clients: SDNC,MSO,SO,robot-ete
270
271     # Logback debug enabled
272     logback:
273       console:
274         # If enabled, container will print all logback to standard output
275         # This will make debugging much easier but it should only be done
276         # when debugging the issue and changed back as it can affect performance
277         # since when this is enabled, it prints a lot of information to console
278         enabled: false
279
280 aai-babel:
281   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
282 aai-graphadmin:
283   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
284 aai-modelloader:
285   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
286 aai-resources:
287   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
288 aai-schema-service:
289   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
290 aai-sparky-be:
291   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
292 aai-traversal:
293   logConfigMapNamePrefix: '{{ include "common.release" . }}-aai'
294
295 # application image
296 dockerhubRepository: registry.hub.docker.com
297 image: onap/aai-haproxy:1.11.0
298 pullPolicy: Always
299
300 flavor: small
301 flavorOverride: small
302
303 # flag to enable debugging - application support required
304 debugEnabled: false
305
306 # application configuration
307 config:
308   logstashServiceName: log-ls
309   logstashPort: 5044
310
311 # default number of instances
312 replicaCount: 1
313
314 updateStrategy:
315   type: RollingUpdate
316   maxUnavailable: 0
317   maxSurge: 1
318
319 nodeSelector: {}
320
321 affinity: {}
322
323 # HAProxy configuration to block HTTP requests to AAI based on configurable URL patterns
324 haproxy:
325   initContainers:
326     resources:
327       memory: 100Mi
328       cpu: 50m
329   requestBlocking:
330     enabled: false
331     customConfigs: []
332   replicas:
333     aaiResources: 1
334     aaiTraversal: 1
335
336 # probe configuration parameters
337 liveness:
338   initialDelaySeconds: 10
339   periodSeconds: 10
340   # necessary to disable liveness probe when setting breakpoints
341   # in debugger so K8s doesn't restart unresponsive container
342   enabled: true
343
344 #This section is used when localCluster is enabled. AAI will create its own cassandra cluster for its specific use.
345 #Below command will instantiate the aai cassandra instances:
346 #helm deploy demo local/onap --version=4.0.0 --namespace onap --set aai.enabled=true \
347 #                            --set aai.global.cassandra.localCluster=true \
348 #                            --set aai.global.cassandra.serviceName=aai-cassandra
349 cassandra:
350   nameOverride: aai-cassandra
351   serviceAccount:
352     nameOverride: aai-cassandra
353   replicaCount: 3
354   service:
355     name: aai-cassandra
356   persistence:
357     mountSubPath: aai/cassandra
358     enabled: true
359   k8ssandraOperator:
360     enabled: false
361     config:
362       clusterName: aai-cassandra
363
364 readiness:
365   initialDelaySeconds: 10
366   periodSeconds: 10
367
368 service:
369   type: NodePort
370   portName: http
371   externalPort: 80
372   internalPort: 8080
373   nodePort: 33
374   sessionAffinity: None
375
376 metricsService:
377   type: ClusterIP
378   portName: http-pro
379   externalPort: 8448
380   internalPort: 8448
381
382 metrics:
383   serviceMonitor:
384     enabled: false
385     targetPort: 8448
386     path: /metrics
387     basicAuth:
388       enabled: false
389
390     selector:
391       app: '{{ include "common.name" . }}-metrics'
392       chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
393       release: '{{ include "common.release" . }}'
394       heritage: '{{ .Release.Service }}'
395
396     relabelings: []
397
398     metricRelabelings: []
399
400 ingress:
401   enabled: false
402   service:
403     - baseaddr: "aai-api"
404       name: "aai"
405       port: 80
406       config:
407        ssl: "redirect"
408
409 serviceMesh:
410   authorizationPolicy:
411     authorizedPrincipalsMetrics: []
412     authorizedPrincipals:
413       - serviceAccount: aai-graphadmin-read
414       - serviceAccount: aai-modelloader-read
415       - serviceAccount: aai-resources-read
416       - serviceAccount: aai-schema-service-read
417       - serviceAccount: aai-traversal-read
418       - serviceAccount: cds-blueprints-processor-read
419       - serviceAccount: consul-read
420       - serviceAccount: dcae-prh-read
421       - serviceAccount: dcae-slice-analysis-ms-read
422       - serviceAccount: dcae-tcagen2
423       - serviceAccount: nbi-read
424       - serviceAccount: sdnc-read
425       - serviceAccount: so-read
426       - serviceAccount: so-bpmn-infra-read
427       - serviceAccount: so-cnf-adapter-read
428       - serviceAccount: so-nssmf-adapter-read
429       - serviceAccount: so-etsi-nfvo-ns-lcm-read
430       - serviceAccount: so-etsi-sol003-adapter-read
431       - serviceAccount: so-openstack-adapter-read
432       - serviceAccount: so-sdc-controller-read
433       - serviceAccount: so-ve-vnfm-adapter
434       - serviceAccount: istio-ingress
435         namespace: istio-ingress
436
437 resources:
438   small:
439     limits:
440       cpu: 2
441       memory: 4Gi
442     requests:
443       cpu: 1
444       memory: 1Gi
445   large:
446     limits:
447       cpu: 4
448       memory: 8Gi
449     requests:
450       cpu: 2
451       memory: 2Gi
452   unlimited: {}
453
454 #Pods Service Account
455 serviceAccount:
456   nameOverride: aai
457   roles:
458     - read