From fc57c5b900ff9295e964fba7f64dfc8086cfd129 Mon Sep 17 00:00:00 2001 From: Daniil Nedostup Date: Thu, 30 Jan 2025 18:29:28 +0200 Subject: [PATCH] chore: Implement Karma dashboard (#221) --- README.md | 5 ++++ .../core/addons/karma-dashboard/Chart.yaml | 17 +++++++++++ .../core/addons/karma-dashboard/README.md | 22 ++++++++++++++ .../core/addons/karma-dashboard/values.yaml | 11 +++++++ clusters/core/apps/README.md | 2 ++ .../core/apps/templates/karma-dashboard.yaml | 29 +++++++++++++++++++ clusters/core/apps/values.yaml | 4 +++ 7 files changed, 90 insertions(+) create mode 100644 clusters/core/addons/karma-dashboard/Chart.yaml create mode 100644 clusters/core/addons/karma-dashboard/README.md create mode 100644 clusters/core/addons/karma-dashboard/values.yaml create mode 100644 clusters/core/apps/templates/karma-dashboard.yaml diff --git a/README.md b/README.md index 8ee9089..416b81d 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,11 @@ make update-readme | cert-manager | 1.16.1 | v1.16.1 | False | False | | defectdojo | 1.6.127 | 2.34.1 | False | False | | dependency-track | 0.24.0 | v4.12.2 | False | False | +| karma-dashboard | 2.9.3 | v0.120 | False | False | +| karpenter-np | 0.1.0 | 0.1.0 | False | False | +| karpenter | 1.0.8 | 1.0.8 | False | False | +| keda-tenants | 0.1.0 | 0.1.0 | False | False | +| keda | 2.15.2 | 2.15.1 | False | False | | kuberocketci | 3.10.2 | 3.10.2 | False | False | | kuberocketci-pipelines | N/A | N/A | False | False | | kuberocketci-rbac | 0.1.0 | 0.1.0 | False | False | diff --git a/clusters/core/addons/karma-dashboard/Chart.yaml b/clusters/core/addons/karma-dashboard/Chart.yaml new file mode 100644 index 0000000..c214b1e --- /dev/null +++ b/clusters/core/addons/karma-dashboard/Chart.yaml @@ -0,0 +1,17 @@ +apiVersion: v2 +name: karma +description: A Helm chart for Karma - an UI for Prometheus Alertmanager + +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +type: application + +# The chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 2.9.3 +appVersion: "v0.120" + +dependencies: +- name: karma + version: 2.9.3 + repository: https://wiremind.github.io/wiremind-helm-charts diff --git a/clusters/core/addons/karma-dashboard/README.md b/clusters/core/addons/karma-dashboard/README.md new file mode 100644 index 0000000..0ade036 --- /dev/null +++ b/clusters/core/addons/karma-dashboard/README.md @@ -0,0 +1,22 @@ +# karma + +![Version: 2.9.3](https://img.shields.io/badge/Version-2.9.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.120](https://img.shields.io/badge/AppVersion-v0.120-informational?style=flat-square) + +A Helm chart for Karma - an UI for Prometheus Alertmanager + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://wiremind.github.io/wiremind-helm-charts | karma | 2.9.3 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| karma.env[0].name | string | `"ALERTMANAGER_URI"` | | +| karma.env[0].value | string | `"http://prom-alertmanager.monitoring.svc:9093/"` | | +| karma.ingress.enabled | bool | `true` | | +| karma.ingress.hosts[0] | string | `"karma-dashboard.example.com"` | | +| karma.ingress.path | string | `"/"` | | + diff --git a/clusters/core/addons/karma-dashboard/values.yaml b/clusters/core/addons/karma-dashboard/values.yaml new file mode 100644 index 0000000..df40e30 --- /dev/null +++ b/clusters/core/addons/karma-dashboard/values.yaml @@ -0,0 +1,11 @@ +karma: + env: + # Specify the Alertmanager URI + - name: ALERTMANAGER_URI + value: "http://prom-alertmanager.monitoring.svc:9093/" + ingress: + enabled: true + path: / + # Specify the hostname for the ingress resource + hosts: + - "karma-dashboard.example.com" diff --git a/clusters/core/apps/README.md b/clusters/core/apps/README.md index 230b7ce..ab7b7e1 100644 --- a/clusters/core/apps/README.md +++ b/clusters/core/apps/README.md @@ -56,6 +56,8 @@ EDP Cluster Addons that extend the Kubernetes Cluster Functionality | ingress-nginx.enable | bool | `false` | | | jaeger-operator.createNamespace | bool | `false` | | | jaeger-operator.enable | bool | `false` | | +| karma-dashboard.createNamespace | bool | `false` | | +| karma-dashboard.enable | bool | `false` | | | karpenter-np | object | `{"createNamespace":false,"enable":false}` | Application with Karpenter resources: NodePools and NodeClass | | karpenter.createNamespace | bool | `false` | | | karpenter.enable | bool | `false` | | diff --git a/clusters/core/apps/templates/karma-dashboard.yaml b/clusters/core/apps/templates/karma-dashboard.yaml new file mode 100644 index 0000000..62fead4 --- /dev/null +++ b/clusters/core/apps/templates/karma-dashboard.yaml @@ -0,0 +1,29 @@ +{{- if and (index .Values "karma-dashboard") (index .Values "karma-dashboard" "enable") -}} +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: {{ .Values.destinationServer}}-karma-dashboard + namespace: {{ .Values.argoNamespace | default "argocd" }} + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: {{ .Values.argoProject | default "default" }} + source: + repoURL: {{ .Values.repoUrl }} + path: clusters/{{ .Values.clusterName }}/addons/karma-dashboard + targetRevision: {{ .Values.targetRevision }} + helm: + releaseName: karma-dashboard + destination: + name: {{ .Values.destinationServer | default "in-cluster" }} + namespace: monitoring + syncPolicy: + syncOptions: + - CreateNamespace={{ (index .Values "karma-dashboard" "createNamespace") }} + retry: + limit: 1 + backoff: + duration: 5s + factor: 2 + maxDuration: 1m +{{- end -}} diff --git a/clusters/core/apps/values.yaml b/clusters/core/apps/values.yaml index 6084aa8..45821b4 100644 --- a/clusters/core/apps/values.yaml +++ b/clusters/core/apps/values.yaml @@ -59,6 +59,10 @@ dependency-track: createNamespace: false enable: false +karma-dashboard: + createNamespace: false + enable: false + # -- Application with Karpenter resources: NodePools and NodeClass karpenter-np: createNamespace: false