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