Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Perses Plugin #539

Open
wants to merge 22 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
e9c8de2
chore: initial commit
ibakshay Nov 27, 2024
0c32125
chore(perses): add initial configuration and datasource templates
ibakshay Nov 29, 2024
2eaf01c
Merge branch 'main' into akshay/add-perses-plugin
ibakshay Nov 29, 2024
c66cac0
feat(kube-monitoring): add Perses datasource configuration to plugin …
ibakshay Nov 29, 2024
05843f7
fix(kube-monitoring): update descriptions for Thanos object storage c…
ibakshay Nov 29, 2024
a27dee9
Merge branch 'main' into akshay/add-perses-plugin
ibakshay Dec 6, 2024
2c940df
WIP
ibakshay Dec 6, 2024
5b4d09f
fix(perses): update plugin definition with new documentation and icon…
ibakshay Dec 9, 2024
d183386
fix(plugin): add architecture diagram
ibakshay Dec 9, 2024
7575b10
fix(perses): change datasource kind to GlobalDatasource in configmap …
ibakshay Dec 9, 2024
a636c0d
docs(perses): update README with table of contents and improve dashbo…
ibakshay Dec 9, 2024
f153762
docs(perses): add beta warning to README and update links for dashboa…
ibakshay Dec 9, 2024
0e49235
docs(perses): add perses properties
ibakshay Dec 9, 2024
bb0aa38
chore(kube-monitoring): bump chart and plugin
ibakshay Dec 9, 2024
14ec626
Merge branch 'main' into akshay/add-perses-plugin
ibakshay Dec 10, 2024
4594c59
chore: update licenserc to ignore perses charts and correct ConfigMap…
ibakshay Dec 10, 2024
66f1a4f
fix(perses): increase resolution and fix diagram
ibakshay Dec 10, 2024
d247661
Update perses/plugindefinition.yaml
ibakshay Dec 10, 2024
5a8299e
Update perses/plugindefinition.yaml
ibakshay Dec 10, 2024
95d3590
fix(perses): review comment
ibakshay Dec 10, 2024
9be4aaf
feat(kube-monitoring): enable Perses datasource and update plugin def…
ibakshay Dec 10, 2024
6c270a1
chore(perses): bump version to 0.7.4 in Chart.yaml and plugindefiniti…
ibakshay Dec 11, 2024
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
1 change: 1 addition & 0 deletions .github/licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ header:
- 'cert-manager/charts/**' # ignore the license for the cert-manager charts
- 'alerts/**' # ignore the license for the alerts charts
- 'plutono/**' # ignore the license for the plutono charts
- 'perses/**' # ignore the license for the perses charts
- 'kube-monitoring/**' # ignore the license for the kube-monitoring charts
- 'thanos/**' # ignore the license for this directory
- 'opentelemetry/**' # ignore the license for the opentelemetry charts
Expand Down
2 changes: 1 addition & 1 deletion kube-monitoring/charts/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ maintainers:
name: kube-monitoring
sources:
- https://github.com/cloudoperators/greenhouse-extensions
version: 0.19.2
version: 0.19.3
# prometheus-operator app version
appVersion: v0.77.1
keywords:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{{- if .Values.kubeMonitoring.prometheus.persesDatasource }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ printf "%s-%s" $.Release.Name "perses-datasource" }}
labels:
perses.dev/resource: "true"
{{- include "kube-prometheus-stack.labels" . | indent 4 }}
data:
{{ printf "%s-%s" $.Release.Name "perses-datasource.json" }}: |
{
"kind": "GlobalDatasource",
"metadata": {
"name": "{{ printf "%s-%s" $.Release.Name "prometheus" }}",
},
"spec": {
"default": true,
"plugin": {
"kind": "PrometheusDatasource",
"spec": {
"proxy": {
"kind": "HTTPProxy",
"spec": {
"url": "{{ printf "http://%s-prometheus.%s.svc:9090" $.Release.Name $.Release.Namespace }}"
}
}
}
}
}
}
{{- end }}
3 changes: 3 additions & 0 deletions kube-monitoring/charts/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,9 @@ kubeMonitoring:
# Deploys a Plutono datasource config Secret for this Prometheus
plutonoDatasource: true

# Deploys a Perses datasource ConfigMap for this Prometheus
persesDatasource: false
viennaa marked this conversation as resolved.
Show resolved Hide resolved

prometheusSpec:

## If additional alertmanager configurations are already deployed in a single secret, or you want to manage
Expand Down
13 changes: 9 additions & 4 deletions kube-monitoring/plugindefinition.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ kind: PluginDefinition
metadata:
name: kube-monitoring
spec:
version: 2.6.5
version: 2.6.6
displayName: Kubernetes monitoring
description: Native deployment and management of Prometheus along with Kubernetes cluster monitoring components.
docMarkDownUrl: https://raw.githubusercontent.com/cloudoperators/greenhouse-extensions/main/kube-monitoring/README.md
icon: https://raw.githubusercontent.com/cloudoperators/greenhouse-extensions/main/kube-monitoring/logo.png
helmChart:
name: kube-monitoring
repository: oci://ghcr.io/cloudoperators/greenhouse-extensions/charts
version: 0.19.2
version: 0.19.3
options:
- name: global.commonLabels
description: Labels to add to all resources. This can be used to add a support group or service to all alerts.
Expand Down Expand Up @@ -73,11 +73,11 @@ spec:
required: false
type: secret
- name: kubeMonitoring.prometheus.prometheusSpec.thanos.objectStorageConfig.existingSecret.name
description:
description: The name of the Kubernetes Secret containing the Thanos object storage configuration.
required: false
type: string
- name: kubeMonitoring.prometheus.prometheusSpec.thanos.objectStorageConfig.existingSecret.key
description:
description: The key within the specified Kubernetes Secret that contains the Thanos object storage configuration.
required: false
type: string
- name: kubeMonitoring.prometheus.service.additionalPorts
Expand All @@ -88,3 +88,8 @@ spec:
targetPort: grpc
required: false
type: list
- name: kubeMonitoring.prometheus.persesDatasource
description: Whether to create a datasource for Perses
default: false
required: false
type: bool
179 changes: 179 additions & 0 deletions perses/README.md

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions perses/charts/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
6 changes: 6 additions & 0 deletions perses/charts/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: perses
repository: https://perses.github.io/helm-charts
version: 0.7.2
digest: sha256:6f40f9f5514ad756f14f3cc23b370a316700e4875e6b5bd36c6448f608c32ea7
generated: "2024-11-18T13:10:51.012433+01:00"
22 changes: 22 additions & 0 deletions perses/charts/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: v2
name: perses-plugin
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suffix -plugin is not required.

Suggested change
name: perses-plugin
name: perses

description: A Helm chart for Perses
icon: https://avatars.githubusercontent.com/u/77209215?s=200&v=4
type: application
version: 0.7.2
appVersion: "v0.49.0"
maintainers:
- name: richardtief
- name: ibakshay
annotations:
"helm.sh/validateValues": "false"
keywords:
- monitoring
- metric
- dashboarding
- prometheus
dependencies:
- name: perses
repository: https://perses.github.io/helm-charts
version: 0.7.2

Binary file added perses/charts/charts/perses-0.7.2.tgz
Binary file not shown.
Loading
Loading