blob: c5e2821b76e642b70067f682a733205343c8a00f [file] [log] [blame]
garciadeblas8080e4b2023-04-14 09:57:17 +02001#######################################################################################
2# Copyright ETSI Contributors and Others.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13# implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#######################################################################################
17# Default values for osm.
18# This is a YAML-formatted file.
19# Declare variables to be passed into your templates.
20
21global:
22 replicaCount: 1
garciadeblas29484f12023-05-25 10:36:17 +020023 logLevel: INFO
garciadeblas18582e92024-05-21 12:13:50 +020024 # hostname to be used for the ingress objects
25 hostname: ~
garciadeblas8080e4b2023-04-14 09:57:17 +020026 image:
27 repositoryBase: docker.io/opensourcemano
28 pullPolicy: IfNotPresent
29 # Overrides the image tag whose default is the chart appVersion.
garciadeblas6e459782023-06-01 00:04:35 +020030 tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +020031
32 imagePullSecrets: []
33 nameOverride: ""
34 fullnameOverride: ""
35
36 serviceAccount:
37 # Specifies whether a service account should be created
38 create: true
39 # Annotations to add to the service account
40 annotations: {}
41 # The name of the service account to use.
42 # If not set and create is true, a name is generated using the fullname template
43 name: ""
44
Luisc5176c62024-03-21 19:39:22 +000045 db:
46 mysql:
47 mysqlSecretName: mysql
48 mysqlSecretKey: mysql-root-password
49 mysqlService: mysql
50 mongo:
51 mongoService: mongodb-k8s
52 auth:
53 enabled: false
54 # secretName: mongodb-k8s
55 # secretKeyRootPassword: mongodb-root-password
56
garciadeblas8d8cd992024-05-21 16:04:14 +020057 gitops:
58 enabled: true
59 auxcluster:
60 secretName: auxcluster-secret
61 secretKey: kubeconfig
62 mgmtcluster:
63 secretName: mgmtcluster-secret
64 secretKey: kubeconfig
garciadeblas1f6e09a2024-09-10 18:50:29 +020065 gitUser: osm-developer
66 # gitBaseUrl: http://git.<IP_ADDRESS>.nip.io
67 # pubkey: AGEKEY
garciadeblas8d8cd992024-05-21 16:04:14 +020068
garciadeblas8080e4b2023-04-14 09:57:17 +020069 podAnnotations: {}
70
71 podSecurityContext:
72 # runAsUser: 1000
73 # runAsGroup: 1000
74 fsGroup: 1000
75
76 securityContext:
77 runAsUser: 1000
78
79 nodeSelector: {}
80
81 tolerations: []
82
83 affinity: {}
84
85 behindHttpProxy: false
86 httpProxy: {}
87 # HTTP_PROXY: <HTTP_PROXY>
88 # HTTPS_PROXY: <HTTPS_PROXY>
89 # NO_PROXY: <NO_PROXY>
90
91 oldServiceAssurance: false
92
garciadeblasb6c30b42023-05-26 11:10:11 +020093airflow:
94 enabled: true
95
garciadeblas18582e92024-05-21 12:13:50 +020096alertmanager:
97 enabled: true
98 ingress: {}
99 # host: alertmanager.<IP_ADDRESS>.nip.io
100
garciadeblas8080e4b2023-04-14 09:57:17 +0200101certauth:
102 enabled: true
103
104grafana:
105 enabled: true
zamreabf67702024-02-07 15:06:16 +0000106 fullnameOverride: "grafana"
garciadeblas18582e92024-05-21 12:13:50 +0200107 # service:
108 # type: NodePort
109 # nodePort: 3000
110 # port: 3000
111 ingress:
112 enabled: true
113 ingressClassName: nginx
114 # hosts:
115 # - grafana.<IP_ADDRESS>.nip.io
zamreabf67702024-02-07 15:06:16 +0000116 extraVolumes:
117 - emptyDir: {}
118 name: sc-dashboard-volume-k8s
119 - emptyDir: {}
120 name: sc-dashboard-volume-osm
121 extraVolumeMounts:
122 - name: sc-dashboard-volume-k8s
123 mountPath: "/tmp/dashboards/Kubernetes Cluster"
124 - name: sc-dashboard-volume-osm
125 mountPath: "/tmp/dashboards/Open Source MANO"
126 rbac:
127 extraClusterRoleRules:
128 - apiGroups:
129 - ""
130 resources:
131 - configmaps
132 - secrets
133 verbs:
134 - get
135 - watch
136 - list
137 datasources:
138 datasource.yaml:
139 apiVersion: 1
140 datasources:
141 - name: osm_prometheus
142 type: prometheus
143 url: http://prometheus:9090
144 access: proxy
145 allowUiUpdates: true
146 isDefault: true
147 - name: Prometheus
148 type: prometheus
149 url: http://osm-monitoring-kube-promet-prometheus.monitoring:9090
150 access: proxy
151 allowUiUpdates: true
152 isDefault: false
153 dashboardProviders:
154 provider.yaml:
155 apiVersion: 1
156 providers:
157 - name: 'Kubernetes Cluster'
158 orgId: 1
159 folder: 'Kubernetes Cluster'
160 type: file
161 disableDeletion: false
162 options:
163 path: '/tmp/dashboards/Kubernetes Cluster'
164 - name: 'Open Source MANO'
165 orgId: 1
166 folder: 'Open Source MANO'
167 type: file
168 disableDeletion: false
169 options:
170 path: '/tmp/dashboards/Open Source MANO'
171 sidecar:
172 dashboards:
173 enabled: true
174 folder: "/tmp/dashboards/"
175 resource: both
176 searchNamespace: osm
garciadeblase6d45882024-05-22 15:03:00 +0200177 extraMounts:
zamreabf67702024-02-07 15:06:16 +0000178 - name: sc-dashboard-volume-k8s
179 mountPath: "/tmp/dashboards/Kubernetes Cluster"
180 - name: sc-dashboard-volume-osm
181 mountPath: "/tmp/dashboards/Open Source MANO"
182 extraInitContainers:
183 - env:
184 - name: METHOD
185 value: LIST
186 - name: LABEL
187 value: grafana_datasource
188 - name: FOLDER
189 value: /etc/grafana/provisioning/datasources
190 - name: RESOURCE
191 value: both
192 image: kiwigrid/k8s-sidecar:1.15.6
193 imagePullPolicy: IfNotPresent
194 name: grafana-sc-datasources
195 resources: {}
196 terminationMessagePath: /dev/termination-log
197 terminationMessagePolicy: File
198 volumeMounts:
199 - mountPath: /etc/grafana/provisioning/datasources
200 name: config
garciadeblas8080e4b2023-04-14 09:57:17 +0200201
202kafka:
203 enabled: true
almagiaf976ab82023-12-07 15:19:15 +0100204 listeners:
205 client:
206 protocol: "PLAINTEXT"
207 fullnameOverride: "kafka"
garciadeblas12bcc652024-10-23 09:29:20 +0200208 # replicaCount: 1
garciadeblas8080e4b2023-04-14 09:57:17 +0200209
210keystone:
vegall7badcae2024-07-02 15:30:30 +0000211 enabled: false
garciadeblas8080e4b2023-04-14 09:57:17 +0200212 service:
213 port: 5000
214 image: {}
215 # repository: opensourcemano/keystone
garciadeblas6e459782023-06-01 00:04:35 +0200216 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200217 # replicaCount: 1
218 useOsmSecret: true
219 # secretName: "keystone-secret"
220
221lcm:
222 enabled: true
garciadeblas29484f12023-05-25 10:36:17 +0200223 logLevel: DEBUG
garciadeblas8080e4b2023-04-14 09:57:17 +0200224 image: {}
225 # repository: opensourcemano/lcm
garciadeblas6e459782023-06-01 00:04:35 +0200226 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200227 # replicaCount: 1
228 useOsmSecret: true
229 # secretName: "lcm-secret"
Pedro Pereirac09bd232024-06-19 20:59:36 +0100230 mainPostRenderer:
231 scriptName: mainPostRenderer
garciadeblascfc029d2024-07-10 13:18:25 +0200232 path: /usr/lib/python3/dist-packages/n2vc/post-renderer-scripts/mainPostRenderer/
Pedro Pereirac09bd232024-06-19 20:59:36 +0100233 podLabelsPostRenderer:
234 scriptName: podLabels
garciadeblascfc029d2024-07-10 13:18:25 +0200235 path: /usr/lib/python3/dist-packages/n2vc/post-renderer-scripts/podLabels/
garciadeblas8080e4b2023-04-14 09:57:17 +0200236 config:
237 OSMLCM_VCA_CLOUD: "lxd-cloud"
238 OSMLCM_VCA_K8S_CLOUD: "k8scloud"
239 # OSMLCM_VCA_APIPROXY: "<VCA API proxy>"
240 # OSMLCM_VCA_ENABLEOSUPGRADE: true
241 # OSMLCM_VCA_APTMIRROR: "http://archive.ubuntu.com/ubuntu/"
242
243mon:
244 enabled: true
garciadeblas29484f12023-05-25 10:36:17 +0200245 # logLevel: DEBUG
garciadeblas8080e4b2023-04-14 09:57:17 +0200246 image: {}
247 # repository: opensourcemano/mon
garciadeblas6e459782023-06-01 00:04:35 +0200248 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200249 # replicaCount: 1
250 useOsmSecret: true
251 # secretName: "mon-secret"
252 config: {}
garciadeblas8080e4b2023-04-14 09:57:17 +0200253
254mysql:
vegall7badcae2024-07-02 15:30:30 +0000255 enabled: false
almagiaf976ab82023-12-07 15:19:15 +0100256 image:
257 tag: "8.1-debian-11"
258 fullnameOverride: "mysql"
garciadeblas8080e4b2023-04-14 09:57:17 +0200259
260nbi:
261 enabled: true
garciadeblas18582e92024-05-21 12:13:50 +0200262 ingress: {}
263 # host: nbi.<IP_ADDRESS>.nip.io
garciadeblas29484f12023-05-25 10:36:17 +0200264 logLevel: DEBUG
garciadeblas18582e92024-05-21 12:13:50 +0200265 service: {}
266 # type: NodePort
267 # port: 9999
268 # nodePort: 9999
garciadeblas8080e4b2023-04-14 09:57:17 +0200269 image: {}
270 # repository: opensourcemano/nbi
garciadeblas6e459782023-06-01 00:04:35 +0200271 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200272 # replicaCount: 1
273 useOsmSecret: true
274 # secretName: "nbi-secret"
jeganbabd7db2024-07-05 05:50:07 +0000275 smtp:
276 enabled: false
277 server: ""
278 port: ""
279 senderEmail: ""
280 otpRetryCount: 3
281 otpExpiryTime: 300
282 secretName: "osmnbi-email-password"
283 secretKey: "OSMNBI_EMAIL_PASSWORD"
284
garciadeblas8080e4b2023-04-14 09:57:17 +0200285
286ngui:
287 enabled: true
garciadeblas18582e92024-05-21 12:13:50 +0200288 service: {}
289 # type: NodePort
290 # port: 80
291 # nodePort: 80
292 ingress: {}
293 # host: <IP_ADDRESS>.nip.io
garciadeblas8080e4b2023-04-14 09:57:17 +0200294 image: {}
295 # repository: opensourcemano/ng-ui
garciadeblas6e459782023-06-01 00:04:35 +0200296 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200297 # replicaCount: 1
298
299# pla module is disabled by default unless global.oldServiceAssurance and pla.enabled are set to true
300pla:
301 enabled: false
garciadeblas29484f12023-05-25 10:36:17 +0200302 # logLevel: DEBUG
garciadeblas8080e4b2023-04-14 09:57:17 +0200303 image: {}
304 # repository: opensourcemano/pla
garciadeblas6e459782023-06-01 00:04:35 +0200305 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200306 # replicaCount: 1
307
308# pol module is disabled by default unless global.oldServiceAssurance and pol.enabled are set to true
309pol:
310 enabled: true
garciadeblas29484f12023-05-25 10:36:17 +0200311 # logLevel: DEBUG
garciadeblas8080e4b2023-04-14 09:57:17 +0200312 image: {}
313 # repository: opensourcemano/pol
garciadeblas6e459782023-06-01 00:04:35 +0200314 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200315 # replicaCount: 1
316 useOsmSecret: true
317 # secretName: "pol-secret"
318
319prometheus:
320 enabled: true
almagia027f8ee2024-06-03 17:29:12 +0200321 configmapReload:
322 prometheus:
323 enabled: true
324 prometheus-node-exporter:
325 enabled: false
326 kube-state-metrics:
327 enabled: false
328 server:
329 extraFlags:
330 - web.enable-lifecycle
331 statefulSet:
332 enabled: true
333 configPath: /etc/prometheus/prometheus.yml
334 fullnameOverride: "prometheus"
335 service:
336 servicePort: 9090
337 # type: NodePort
338 # nodePort: 9091
339 ingress:
340 enabled: true
341 ingressClassName: nginx
342 # hosts:
343 # - prometheus.<IP_ADDRESS>.nip.io
344 sidecarContainers:
345 prometheus-config-sidecar:
346 securityContext:
347 # readOnlyRootFilesystem: true
348 allowPrivilegeEscalation: false
349 # runAsNonRoot: true
350 image: opensourcemano/prometheus:testing-daily
351 imagePullPolicy: IfNotPresent
352 command: ["/bin/sh", "-c"]
353 args: ["sleep 50; python -u ./app.py"]
354 volumeMounts:
355 - name: prom-config
356 mountPath: /etc/prometheus
357 - name: prom-config-base
358 mountPath: /etc/prometheus_base
359 resources:
360 limits:
361 memory: 1024Mi
362 requests:
363 memory: 128Mi
364 envFrom:
365 - configMapRef:
366 name: osm-prometheus-sidecar-configmap
367 extraInitContainers:
368 - name: prometheus-init-config
369 image: busybox
370 command: ["/bin/sh", "-c"]
371 #args: [' sleep 100000 ']
372 args: ['if [ ! -f "/etc/prometheus/prometheus.yml" ]; then cp /config/prometheus.yml /etc/prometheus; fi; cp /config/osm_metric_rules.yml /config/osm_alert_rules.yml /etc/prometheus']
373 volumeMounts:
374 - name: prom-config
375 mountPath: /etc/prometheus
376 - name: prom-config-base
377 mountPath: /config
378 extraVolumeMounts:
379 - name: prom-config
380 mountPath: /etc/prometheus
381 extraVolumes:
382 - name: prom-config
383 emptyDir: {}
384 - name: prom-config-base
385 projected:
386 sources:
387 - configMap:
388 name: osm-prom-configmap
389 items:
390 - key: prometheus.yml
391 path: prometheus.yml
392 - configMap:
393 name: osm-prometheus-recordingrules-configmap
394 items:
395 - key: osm_metric_rules.yml
396 path: osm_metric_rules.yml
397 - configMap:
398 name: osm-prometheus-alertingrules-configmap
399 items:
400 - key: osm_alert_rules.yml
401 path: osm_alert_rules.yml
402 extraManifests:
403 - |
404 apiVersion: v1
405 kind: ConfigMap
406 metadata:
407 name: osm-prometheus-alertingrules-configmap
408 data:
409 osm_alert_rules.yml: |
410 groups:
411 - name: osm_alert_rules
412 rules:
413 - alert: vdu_down
414 expr: vm_status_extended != 1
415 for: 3m
416 annotations:
417 summary: "VDU {{ "{{" }} $labels.vm_id }} in VIM {{ "{{" }} $labels.vim_id }} is down"
418 description: "VDU {{ "{{" }} $labels.vm_id }} in VIM {{ "{{" }} $labels.vim_id }} has been down for more than 3 minutes. NS instance id is {{ "{{" }} $labels.ns_id }}"
419 - |
420 apiVersion: v1
421 kind: ConfigMap
422 metadata:
423 name: osm-prometheus-recordingrules-configmap
424 data:
425 osm_metric_rules.yml: |
426 groups:
427 - name: osm_metric_rules
428 rules:
429 - record: vm_status_extended
Rahul Zamre435b4c62024-06-04 09:26:57 +0100430 expr: (last_over_time(vm_status[1m]) * on (vm_id, vim_id) group_left(ns_id, vnf_id, vdu_id, project_id, job, vdu_name, ns_name, vnf_member_index) last_over_time(ns_topology[1m])) or (last_over_time(ns_topology[1m]) * -1)
almagia027f8ee2024-06-03 17:29:12 +0200431 labels:
432 job: osm_prometheus
433 - record: vnf_status
434 expr: (0 * (count (vm_status_extended==0) by (ns_id, vnf_id)>=0)) or (min by (ns_id, vnf_id) (vm_status_extended))
435 labels:
436 job: osm_prometheus
437 - record: ns_status
438 expr: (0 * (count (vm_status_extended==0) by (ns_id)>=0)) or (min by (ns_id) (vm_status_extended))
439 labels:
440 job: osm_prometheus
441 - |
442 apiVersion: v1
443 kind: ConfigMap
444 metadata:
445 name: osm-prometheus-sidecar-configmap
446 data:
447 MONGODB_URL: "mongodb://mongodb-k8s:27017/?replicaSet=rs0"
448 PROMETHEUS_CONFIG_FILE: "/etc/prometheus/prometheus.yml"
449 PROMETHEUS_BASE_CONFIG_FILE: "/etc/prometheus_base/prometheus.yml"
450 TARGET_DATABASE: "osm"
451 PROMETHEUS_URL: "http://prometheus:9090"
452 - |
453 apiVersion: v1
454 kind: ConfigMap
455 metadata:
456 name: osm-prom-configmap
457 data:
458 prometheus.yml: |
459 global:
460 scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
461 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
462 # scrape_timeout is set to the global default (10s).
463 # Alertmanager configuration
464 alerting:
465 alertmanagers:
466 - static_configs:
467 - targets:
468 - alertmanager:9093
469 rule_files:
470 - "osm_metric_rules.yml"
471 - "osm_alert_rules.yml"
472 scrape_configs:
473 - job_name: 'mon_exporter'
474 static_configs:
475 - targets: ['mon:8000']
476 - job_name: pushgateway
477 honor_labels: true
478 scrape_interval: 30s
479 static_configs:
480 - targets:
481 - pushgateway-prometheus-pushgateway:9091
482 - job_name: prometheus
483 static_configs:
484 - targets:
485 - localhost:9090
486 - job_name: node
487 static_configs:
488 - targets: ['prometheus-node-exporter:9100']
489 alertmanager:
490 enabled: true
491 fullnameOverride: "alertmanager"
492 extraArgs:
493 log.level: debug
494 # service:
495 # type: NodePort
496 # nodePort: 9093
497 # port: 9093
498 # ingress:
499 # enabled: True
500 # className: nginx
501 # hosts:
502 # - host: localhost
503 # paths:
504 # - path: /
505 # pathType: ImplementationSpecific
506 # tls: []
507 config:
508 receivers:
509 - name: default-receiver
510 - name: vdu-webhook
511 webhook_configs:
512 - url: http://webhook-translator:9998/vdu_down
513 - name: scaleout-webhook
514 webhook_configs:
515 - url: http://webhook-translator:9998/scaleout_vdu
516 - name: scalein-webhook
517 webhook_configs:
518 - url: http://webhook-translator:9998/scalein_vdu
519 - name: alarm-webhook
520 webhook_configs:
521 - url: http://webhook-translator:9998/vdu_alarm
522 route:
523 group_wait: 10s
524 group_interval: 2m
525 receiver: default-receiver
526 routes:
527 - receiver: vdu-webhook
528 repeat_interval: 15m
529 matchers:
530 - alertname = "vdu_down"
531 - receiver: 'scaleout-webhook'
532 repeat_interval: 5m
533 matchers:
534 - alertname =~ "^scaleout_.*"
535 - receiver: 'scalein-webhook'
536 repeat_interval: 5m
537 matchers:
538 - alertname =~ "^scalein_.*"
539 - receiver: 'alarm-webhook'
540 repeat_interval: 5m
541 matchers:
542 - alertname =~ "^vdu_alarm_.*"
543 prometheus-pushgateway:
544 fullnameOverride: "pushgateway-prometheus-pushgateway"
545
garciadeblas8080e4b2023-04-14 09:57:17 +0200546ro:
547 enabled: true
garciadeblas29484f12023-05-25 10:36:17 +0200548 # logLevel: DEBUG
garciadeblas8080e4b2023-04-14 09:57:17 +0200549 service:
550 port: 9090
551 image: {}
552 # repository: opensourcemano/ro
garciadeblas6e459782023-06-01 00:04:35 +0200553 # tag: "testing-daily"
garciadeblas8080e4b2023-04-14 09:57:17 +0200554 # replicaCount: 1
555 useOsmSecret: true
556 # secretName: "ro-secret"
557
558vca:
garciadeblas8375da12023-10-10 10:52:29 +0200559 enabled: false
garciadeblas8080e4b2023-04-14 09:57:17 +0200560 # host: ""
561 # secret: ""
562 # cacert: ""
563 # pubkey: ""
564
565webhookTranslator:
566 enabled: true
garciadeblas18582e92024-05-21 12:13:50 +0200567 # replicaCount: 1
garciadeblas8080e4b2023-04-14 09:57:17 +0200568 image: {}
569 # repository: opensourcemano/webhook
garciadeblas6e459782023-06-01 00:04:35 +0200570 # tag: "testing-daily"
garciadeblas18582e92024-05-21 12:13:50 +0200571 ingress: {}
572 # host: webhook.<IP_ADDRESS>.nip.io
garciadeblas8080e4b2023-04-14 09:57:17 +0200573 # replicaCount: 1
garciadeblas18582e92024-05-21 12:13:50 +0200574 service: {}
575 # type: NodePort
576 # nodePort: 9998
577 # port: 9998