From b40788eac2b6a625c944009ff16e1353f026d6b3 Mon Sep 17 00:00:00 2001 From: Ronny Trommer Date: Fri, 9 Aug 2024 12:02:02 +0200 Subject: [PATCH] fix(deployment): Get the helm chart working with Perses 0.47.0 (#16) Signed-off-by: Ronny Trommer --- charts/perses/Chart.yaml | 4 +- charts/perses/README.md | 108 +++++++++++------------ charts/perses/templates/statefulset.yaml | 2 +- charts/perses/values.schema.json | 8 +- charts/perses/values.yaml | 9 +- 5 files changed, 65 insertions(+), 66 deletions(-) diff --git a/charts/perses/Chart.yaml b/charts/perses/Chart.yaml index 67e7fd3..a83b974 100644 --- a/charts/perses/Chart.yaml +++ b/charts/perses/Chart.yaml @@ -3,8 +3,8 @@ name: perses description: Perses helm chart icon: https://avatars.githubusercontent.com/u/77209215?s=200&v=4 type: application -version: 0.3.0 -appVersion: "0.42.1" +version: 0.4.0 +appVersion: "v0.47.0" sources: - https://github.com/perses/perses annotations: diff --git a/charts/perses/README.md b/charts/perses/README.md index 4e67024..846e4e8 100644 --- a/charts/perses/README.md +++ b/charts/perses/README.md @@ -4,7 +4,7 @@ Perses helm chart -![Version: 0.3.0](https://img.shields.io/badge/Version-0.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.42.1](https://img.shields.io/badge/AppVersion-0.42.1-informational?style=flat-square) +![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.47.0](https://img.shields.io/badge/AppVersion-v0.47.0-informational?style=flat-square) ## Installing the Chart @@ -26,58 +26,56 @@ helm delete my-release ## Values -| Key | Type | Default | Description | -|-----------------------------|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| annotations | object | `{}` | Statefulset Annotations | -| config | object | `{"annotations":{},"database":{"file":{"extension":"json","folder":"/perses"},"sql":{}},"important_dashboards":[],"provisioning":{"folders":["/etc/perses/datasources"]},"schemas":{"datasources_path":"/etc/perses/schemas/datasources","panels_path":"/etc/perses/schemas/panels","queries_path":"/etc/perses/schemas/queries","variables_path":"/etc/perses/schemas/variables"},"security":{"enableAuth":false,"readOnly":false}}` | Perses configuration file ref: https://github.com/perses/perses/blob/main/docs/user-guides/configuration.md | -| config.annotations | object | `{}` | Annotations for config | -| config.database | object | `{"file":{"extension":"json","folder":"/perses"},"sql":{}}` | Database config based on data base type | -| config.database.file | object | `{"extension":"json","folder":"/perses"}` | file system configs | -| config.database.sql | object | `{}` | SQL Config | -| config.important_dashboards | list | `[]` | Important dashboards list | -| config.provisioning | object | `{"folders":["/etc/perses/datasources"]}` | provisioning config | -| config.schemas | object | `{"datasources_path":"/etc/perses/schemas/datasources","panels_path":"/etc/perses/schemas/panels","queries_path":"/etc/perses/schemas/queries","variables_path":"/etc/perses/schemas/variables"}` | Schemas paths | -| config.security.enableAuth | bool | `false` | Enable Authentication | -| config.security.readOnly | bool | `false` | Configure Perses instance as readonly | -| datasources | list | `[]` | Configure datasources ref: https://github.com/perses/perses/blob/90beed356243208f14cf2249bebb6f6222cb77ae/docs/datasource.md | -| fullnameOverride | string | `""` | Override fully qualified app name | -| image.name | string | `"persesdev/perses"` | Perses image repository and name | -| image.pullPolicy | string | `"IfNotPresent"` | Default image pull policy | -| image.version | string | `""` | Overrides the image tag whose default is the chart appVersion. | -| ingress | object | `{"annotations":{},"enabled":false,"hostname":"perses.local","ingressClassName":"","path":"/","pathType":"Prefix"}` | Configure the ingress resource that allows you to access Thanos Query Frontend ref: https://kubernetes.io/docs/concepts/services-networking/ingress/ | -| ingress.annotations | object | `{}` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. For a full list of possible ingress annotations, please see ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md | -| ingress.enabled | bool | `false` | Enable ingress controller resource | -| ingress.hostname | string | `"perses.local"` | Default host for the ingress resource | -| ingress.ingressClassName | string | `""` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster . ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/ | -| ingress.path | string | `"/"` | Ingress path | -| ingress.pathType | string | `"Prefix"` | Ingress path type | -| livenessProbe | object | `{"enabled":true,"failureThreshold":5,"initialDelaySeconds":10,"periodSeconds":60,"successThreshold":1,"timeoutSeconds":5}` | Liveness probe configuration Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| logLevel | string | `"info"` | Log level for Perses be configured in available options "panic", "error", "warning", "info", "debug", "trace" | -| nameOverride | string | `""` | Override name of the chart used in Kubernetes object names. | -| persistence | object | `{"accessModes":["ReadWriteOnce"],"annotations":{},"enabled":false,"labels":{},"size":"8Gi","storageClass":""}` | Persistence parameters | -| persistence.accessModes | list | `["ReadWriteOnce"]` | PVC Access Modes for data volume | -| persistence.annotations | object | `{}` | Annotations for the PVC | -| persistence.enabled | bool | `false` | If disabled, it will use a emptydir volume | -| persistence.labels | object | `{}` | Labels for the PVC | -| persistence.size | string | `"8Gi"` | PVC Storage Request for data volume | -| persistence.storageClass | string | `""` | Specify the `storageClass` used to provision the volume | -| readinessProbe | object | `{"enabled":true,"failureThreshold":5,"initialDelaySeconds":5,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":5}` | Readiness probe configuration Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | -| replicas | int | `1` | Number of pod replicas. | -| resources | object | `{}` | Resource limits & requests. Update according to your own use case as these values might be too low for a typical deployment. ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | -| service | object | `{"annotations":{},"labels":{},"port":8080,"portName":"http","targetPort":8080,"type":"ClusterIP"}` | Expose the Perses service to be accessed from outside the cluster (LoadBalancer service). or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it. | -| service.annotations | object | `{}` | Annotations to add to the service | -| service.labels | object | `{}` | Labeles to add to the service | -| service.port | int | `8080` | Service Port | -| service.portName | string | `"http"` | Service Port Name | -| service.targetPort | int | `8080` | Perses running port | -| service.type | string | `"ClusterIP"` | Service Type | -| serviceAccount | object | `{"annotations":{},"create":true,"name":""}` | Service account for Perses to use. | -| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | -| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | -| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | -| volumeMounts | list | `[]` | Additional VolumeMounts on the output StatefulSet definition. | -| volumes | list | `[]` | Additional volumes on the output StatefulSet definition. | +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| annotations | object | `{}` | Statefulset Annotations | +| config | object | `{"annotations":{},"database":{"file":{"extension":"json","folder":"/perses"},"sql":{}},"important_dashboards":[],"provisioning":{"folders":["/etc/perses/datasources"]},"schemas":{"datasources_path":"/etc/perses/cue/schemas/datasources","interval":"5m","panels_path":"/etc/perses/cue/schemas/panels","queries_path":"/etc/perses/cue/schemas/queries","variables_path":"/etc/perses/cue/schemas/variables"},"security":{"enableAuth":false,"readOnly":false}}` | Perses configuration file ref: https://github.com/perses/perses/blob/main/docs/user-guides/configuration.md | +| config.annotations | object | `{}` | Annotations for config | +| config.database | object | `{"file":{"extension":"json","folder":"/perses"},"sql":{}}` | Database config based on data base type | +| config.database.file | object | `{"extension":"json","folder":"/perses"}` | file system configs | +| config.database.sql | object | `{}` | SQL Config | +| config.important_dashboards | list | `[]` | Important dashboards list | +| config.provisioning | object | `{"folders":["/etc/perses/datasources"]}` | provisioning config | +| config.schemas | object | `{"datasources_path":"/etc/perses/cue/schemas/datasources","interval":"5m","panels_path":"/etc/perses/cue/schemas/panels","queries_path":"/etc/perses/cue/schemas/queries","variables_path":"/etc/perses/cue/schemas/variables"}` | Schemas paths | +| config.security.enableAuth | bool | `false` | Enable Authentication | +| config.security.readOnly | bool | `false` | Configure Perses instance as readonly | +| fullnameOverride | string | `""` | Override fully qualified app name | +| image.name | string | `"persesdev/perses"` | Perses image repository and name | +| image.pullPolicy | string | `"IfNotPresent"` | Default image pull policy | +| image.version | string | `""` | Overrides the image tag whose default is the chart appVersion. | +| ingress | object | `{"annotations":{},"enabled":false,"hostname":"perses.local","ingressClassName":"","path":"/","pathType":"Prefix"}` | Configure the ingress resource that allows you to access Thanos Query Frontend ref: https://kubernetes.io/docs/concepts/services-networking/ingress/ | +| ingress.annotations | object | `{}` | Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. For a full list of possible ingress annotations, please see ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md | +| ingress.enabled | bool | `false` | Enable ingress controller resource | +| ingress.hostname | string | `"perses.local"` | Default host for the ingress resource | +| ingress.ingressClassName | string | `""` | IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster . ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/ | +| ingress.path | string | `"/"` | Ingress path | +| ingress.pathType | string | `"Prefix"` | Ingress path type | +| livenessProbe | object | `{"enabled":true,"failureThreshold":5,"initialDelaySeconds":10,"periodSeconds":60,"successThreshold":1,"timeoutSeconds":5}` | Liveness probe configuration Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| logLevel | string | `"info"` | Log level for Perses be configured in available options "panic", "error", "warning", "info", "debug", "trace" | +| nameOverride | string | `""` | Override name of the chart used in Kubernetes object names. | +| persistence | object | `{"accessModes":["ReadWriteOnce"],"annotations":{},"enabled":false,"labels":{},"size":"8Gi","storageClass":""}` | Persistence parameters | +| persistence.accessModes | list | `["ReadWriteOnce"]` | PVC Access Modes for data volume | +| persistence.annotations | object | `{}` | Annotations for the PVC | +| persistence.enabled | bool | `false` | If disabled, it will use a emptydir volume | +| persistence.labels | object | `{}` | Labels for the PVC | +| persistence.size | string | `"8Gi"` | PVC Storage Request for data volume | +| persistence.storageClass | string | `""` | Specify the `storageClass` used to provision the volume | +| readinessProbe | object | `{"enabled":true,"failureThreshold":5,"initialDelaySeconds":5,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":5}` | Readiness probe configuration Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| replicas | int | `1` | Number of pod replicas. | +| resources | object | `{}` | Resource limits & requests. Update according to your own use case as these values might be too low for a typical deployment. ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | +| service | object | `{"annotations":{},"labels":{},"port":8080,"portName":"http","targetPort":8080,"type":"ClusterIP"}` | Expose the Perses service to be accessed from outside the cluster (LoadBalancer service). or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it. | +| service.annotations | object | `{}` | Annotations to add to the service | +| service.labels | object | `{}` | Labeles to add to the service | +| service.port | int | `8080` | Service Port | +| service.portName | string | `"http"` | Service Port Name | +| service.targetPort | int | `8080` | Perses running port | +| service.type | string | `"ClusterIP"` | Service Type | +| serviceAccount | object | `{"annotations":{},"create":true,"name":""}` | Service account for Perses to use. | +| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | +| serviceAccount.create | bool | `true` | Specifies whether a service account should be created | +| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | +| volumeMounts | list | `[]` | Additional VolumeMounts on the output StatefulSet definition. | +| volumes | list | `[]` | Additional volumes on the output StatefulSet definition. | ---- - -Autogenerated from chart metadata using [helm-docs v1.11.3](https://github.com/norwoodj/helm-docs/releases/v1.11.3) +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) \ No newline at end of file diff --git a/charts/perses/templates/statefulset.yaml b/charts/perses/templates/statefulset.yaml index c59ba66..bf1eafd 100644 --- a/charts/perses/templates/statefulset.yaml +++ b/charts/perses/templates/statefulset.yaml @@ -27,7 +27,7 @@ spec: serviceAccountName: {{ include "perses.serviceAccountName" . }} containers: - name: {{ .Chart.Name }} - image: "{{ .Values.image.name }}:v{{ .Values.image.tag | default .Chart.AppVersion }}" + image: "{{ .Values.image.name }}:{{ .Values.image.version | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} args: - --config=/etc/perses/config/config.yaml diff --git a/charts/perses/values.schema.json b/charts/perses/values.schema.json index 335a412..872f7a7 100644 --- a/charts/perses/values.schema.json +++ b/charts/perses/values.schema.json @@ -186,19 +186,19 @@ "properties": { "panels_path": { "type": "string", - "default": "/etc/perses/schemas/panels" + "default": "/etc/perses/cue/schemas/panels" }, "queries_path": { "type": "string", - "default": "/etc/perses/schemas/queries" + "default": "/etc/perses/cue/schemas/queries" }, "datasources_path": { "type": "string", - "default": "/etc/perses/schemas/datasources" + "default": "/etc/perses/cue/schemas/datasources" }, "variables_path": { "type": "string", - "default": "/etc/perses/schemas/variables" + "default": "/etc/perses/cue/schemas/variables" }, "interval": { "type": "string", diff --git a/charts/perses/values.yaml b/charts/perses/values.yaml index f82fc0b..413aec3 100644 --- a/charts/perses/values.yaml +++ b/charts/perses/values.yaml @@ -101,10 +101,11 @@ config: # -- Schemas paths schemas: - panels_path: "/etc/perses/schemas/panels" - queries_path: "/etc/perses/schemas/queries" - datasources_path: "/etc/perses/schemas/datasources" - variables_path: "/etc/perses/schemas/variables" + panels_path: "/etc/perses/cue/schemas/panels" + queries_path: "/etc/perses/cue/schemas/queries" + datasources_path: "/etc/perses/cue/schemas/datasources" + variables_path: "/etc/perses/cue/schemas/variables" + interval: "5m" # -- Important dashboards list important_dashboards: