Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added helm-charts/assets/opea-metrics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added helm-charts/assets/opea-scaling.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions helm-charts/chatqna/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ name: chatqna
description: The Helm chart to deploy ChatQnA
type: application
dependencies:
- name: dashboard
version: 0-latest
repository: "file://../common/dashboard"
condition: global.monitoring
- name: tgi
version: 0-latest
alias: tgi-guardrails
Expand Down
3 changes: 3 additions & 0 deletions helm-charts/chatqna/hpa-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
# Default upstream configMap is in:
# - https://github.com/kubernetes-sigs/prometheus-adapter/blob/master/deploy/manifests/config-map.yaml

dashboard:
scaling: true

autoscaling:
enabled: true

Expand Down
8 changes: 7 additions & 1 deletion helm-charts/chatqna/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ chatqna-ui:
tag: "latest"
containerPort: "5173"

dashboard:
prefix: "OPEA ChatQnA"

global:
http_proxy: ""
https_proxy: ""
Expand All @@ -129,8 +132,11 @@ global:
# modelUseHostPath: /mnt/opea-models
# modelUsePVC: model-volume

# Install Prometheus serviceMonitors for service components
# Prometheus monitoring + Grafana dashboard(s) for service components?
monitoring: false

# Prometheus/Grafana namespace for Dashboard installation
prometheusNamespace: monitoring

# Prometheus Helm install release name needed for serviceMonitors
prometheusRelease: prometheus-stack
9 changes: 9 additions & 0 deletions helm-charts/common/dashboard/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (C) 2025 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

apiVersion: v2
name: dashboard
description: Grafana dashboard(s) Helm chart for OPEA application(s)
type: application
version: 0-latest
appVersion: "1.0"
27 changes: 27 additions & 0 deletions helm-charts/common/dashboard/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Dashboards

Helm chart for installing Grafana dashboard(s) for OPEA application(s).

## Installing the Chart

After cluster [monitoring support](../../monitoring.md) with Prometheus + Grafana,
and some OPEA application(s) with monitoring enabled (`--set global.monitoring=true`)
have been [installed](../../README.md) to the cluster, Grafana dashboard(s) for
those OPEA application(s) can be installed with:

```console
cd GenAIInfra/helm-charts/common
PROM_RELEASE=prometheus-stack # release name for Prometheus/Grafana Helm install
PROM_NAMESPACE=monitoring # namespace where they are installed
helm install opea-dashboard dashboard/ --set global.prometheusNamespace=PROM_NAMESPACE --set global.prometheusRelease=$PROM_RELEASE
```

## Values

| Key | Type | Default | Description |
| ------------------------- | ------ | ------------------ | ------------------------------------------------------------------------------------------------------- |
| prefix | string | `OPEA application` | Title prefix for the installed dashboards |
| metrics | bool | `true` | Whether to install metrics dashboard for the application services |
| scaling | bool | `false` | Whether to install scaling dashboard for the application services scaling, use with [HPA](../../HPA.md) |
| global.promeheusNamespace | string | `monitoring` | Namespace where Prometheus/Grafana are installed, needed to for Grafana to pick up installed dashboard |
| global.promeheusRelease | string | `prometheus-stack` | Release name for Prometheus/Grafana Helm install, needed to for Grafana to pick up installed dashboard |
17 changes: 17 additions & 0 deletions helm-charts/common/dashboard/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "dashboard.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
Loading