diff --git a/chart/pyroscope/Chart.yaml b/chart/pyroscope/Chart.yaml index 0bd3d22..825cb5a 100644 --- a/chart/pyroscope/Chart.yaml +++ b/chart/pyroscope/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: pyroscope description: A Helm chart for Pyroscope type: application -version: 0.2.37 -appVersion: "0.11.1" +version: 0.2.38 +appVersion: "0.11.2" diff --git a/chart/pyroscope/README.md b/chart/pyroscope/README.md index 8089d59..0c7d251 100644 --- a/chart/pyroscope/README.md +++ b/chart/pyroscope/README.md @@ -1,6 +1,6 @@ # pyroscope -![Version: 0.2.37](https://img.shields.io/badge/Version-0.2.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.11.1](https://img.shields.io/badge/AppVersion-0.11.1-informational?style=flat-square) +![Version: 0.2.38](https://img.shields.io/badge/Version-0.2.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.11.1](https://img.shields.io/badge/AppVersion-0.11.2-informational?style=flat-square) A Helm chart for Pyroscope @@ -48,62 +48,63 @@ Please refer to [the documentation](https://pyroscope.io/docs/server-configurati ## Values -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| affinity | object | `{}` | Affinity settings for pod assignment | -| deploymentStrategy | object | `{"type":"Recreate"}` | Deployment strategy | -| env | object | `{}` | Extra environment variables | -| extraLabels | object | `{}` | Extra common labels for all resources | -| extraVolumeMounts | list | `[]` | Additional volume mounts for pyroscope server container | -| extraVolumes | list | `[]` | Additional volumes | -| fullnameOverride | string | `""` | Defaults to .Release.Name-.Chart.Name unless .Release.Name contains "pyroscope" | -| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | -| image.repository | string | `"pyroscope/pyroscope"` | image to use for deploying | -| image.tag | string | `"0.11.1"` | Tag for pyroscope image to use | -| imagePullSecrets | list | `[]` | Image pull secrets | -| ingress.annotations | object | `{}` | Ingress annotations (values are templated) | -| ingress.className | string | `""` | Ingress class name | -| ingress.enabled | bool | `false` | Enables Ingress | -| ingress.hosts | list | `[{"host":"chart-example.local","paths":[{"path":"/","pathType":"Prefix"}]}]` | Ingress accepted hostnames | -| ingress.rules | list | `[]` | Ingress custom rules. Take precedence over chart built-ins. | -| ingress.tls | list | `[]` | Ingress TLS configuration | -| livenessProbe.enabled | bool | `true` | Enable Pyroscope server liveness | -| livenessProbe.failureThreshold | int | `3` | Pyroscope server liveness check failure threshold | -| livenessProbe.httpGet.path | string | `"/healthz"` | Pyroscope server liveness check path | -| livenessProbe.httpGet.port | int | `4040` | Pyroscope server liveness check port | -| livenessProbe.initialDelaySeconds | int | `30` | Pyroscope server liveness check intial delay in seconds | -| livenessProbe.periodSeconds | int | `15` | Pyroscope server liveness check frequency in seconds | -| livenessProbe.successThreshold | int | `1` | Pyroscope server liveness check success threshold | -| livenessProbe.timeoutSeconds | int | `30` | Pyroscope server liveness check request timeout | -| nameOverride | string | `""` | Defaults to .Chart.Name | -| nodeSelector | object | `{}` | Node labels for pod assignment | -| persistence.accessModes | list | `["ReadWriteOnce"]` | Persistence access modes | -| persistence.enabled | bool | `false` | Use persistent volume to store data | -| persistence.finalizers | list | `["kubernetes.io/pvc-protection"]` | PersistentVolumeClaim finalizers | -| persistence.size | string | `"10Gi"` | Size of persistent volume claim | -| podAnnotations | object | `{}` | Pod annotations | -| podSecurityContext | object | `{"fsGroup":101}` | Pod securityContext | -| pyroscopeConfigs | object | `{}` | Pyroscope server configuration. Please refer to https://pyroscope.io/docs/server-configuration | -| rbac.clusterRole.annotations | object | `{}` | Cluster role annotations | -| rbac.clusterRole.extraRules | list | `[]` | Extra rules for created cluster role | -| rbac.clusterRole.name | string | `""` | Cluster role name. If not set, the fully qualified app name is used | -| rbac.clusterRoleBinding.annotations | object | `{}` | Cluster role binding annotations | -| rbac.clusterRoleBinding.name | string | `""` | Cluster role binding name. If not set, the fully qualified app name is used | -| rbac.create | bool | `false` | Creates Pyroscope cluster role and binds service account to it; requires service account to be created | -| readinessProbe.enabled | bool | `true` | Enable Pyroscope server readiness | -| readinessProbe.failureThreshold | int | `3` | Pyroscope server readiness check failure threshold count | -| readinessProbe.httpGet.path | string | `"/healthz"` | Pyroscope server readiness check path | -| readinessProbe.httpGet.port | int | `4040` | Pyroscope server readiness check port | -| readinessProbe.initialDelaySeconds | int | `30` | Pyroscope server readiness initial delay in seconds | -| readinessProbe.periodSeconds | int | `5` | Pyroscope server readiness check frequency in seconds | -| readinessProbe.successThreshold | int | `1` | Pyroscope server readiness check success threshold count | -| readinessProbe.timeoutSeconds | int | `30` | Pyroscope server readiness check request timeout | -| resources | object | `{}` | CPU/Memory resource requests/limits | -| securityContext | object | `{}` | Deployment securityContext | -| service.annotations | object | `{}` | Service annotations | -| service.port | int | `4040` | Kubernetes port where service is exposed | -| service.type | string | `"ClusterIP"` | Specify a service type | -| serviceAccount.annotations | object | `{}` | ServiceAccount annotations | -| serviceAccount.create | bool | `true` | Create service account | -| serviceAccount.name | string | `""` | Service account name to use, when empty will be set to created account if serviceAccount.create is set else to default | -| tolerations | list | `[]` | Toleration labels for pod assignment | \ No newline at end of file +| Key | Type | Default | Description | +|-------------------------------------|------|---------|-------------------------------------------------------------------------------------------------------------------------------| +| affinity | object | `{}` | Affinity settings for pod assignment | +| deploymentStrategy | object | `{"type":"Recreate"}` | Deployment strategy | +| env | object | `{}` | Extra environment variables | +| envFrom | object | `{}` | Extra environment variables from secret, create secret "{{YOUR CHART FULLNAME}}-env-secret" under same namspace before use it | +| extraLabels | object | `{}` | Extra common labels for all resources | +| extraVolumeMounts | list | `[]` | Additional volume mounts for pyroscope server container | +| extraVolumes | list | `[]` | Additional volumes | +| fullnameOverride | string | `""` | Defaults to .Release.Name-.Chart.Name unless .Release.Name contains "pyroscope" | +| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | +| image.repository | string | `"pyroscope/pyroscope"` | image to use for deploying | +| image.tag | string | `"0.11.1"` | Tag for pyroscope image to use | +| imagePullSecrets | list | `[]` | Image pull secrets | +| ingress.annotations | object | `{}` | Ingress annotations (values are templated) | +| ingress.className | string | `""` | Ingress class name | +| ingress.enabled | bool | `false` | Enables Ingress | +| ingress.hosts | list | `[{"host":"chart-example.local","paths":[{"path":"/","pathType":"Prefix"}]}]` | Ingress accepted hostnames | +| ingress.rules | list | `[]` | Ingress custom rules. Take precedence over chart built-ins. | +| ingress.tls | list | `[]` | Ingress TLS configuration | +| livenessProbe.enabled | bool | `true` | Enable Pyroscope server liveness | +| livenessProbe.failureThreshold | int | `3` | Pyroscope server liveness check failure threshold | +| livenessProbe.httpGet.path | string | `"/healthz"` | Pyroscope server liveness check path | +| livenessProbe.httpGet.port | int | `4040` | Pyroscope server liveness check port | +| livenessProbe.initialDelaySeconds | int | `30` | Pyroscope server liveness check intial delay in seconds | +| livenessProbe.periodSeconds | int | `15` | Pyroscope server liveness check frequency in seconds | +| livenessProbe.successThreshold | int | `1` | Pyroscope server liveness check success threshold | +| livenessProbe.timeoutSeconds | int | `30` | Pyroscope server liveness check request timeout | +| nameOverride | string | `""` | Defaults to .Chart.Name | +| nodeSelector | object | `{}` | Node labels for pod assignment | +| persistence.accessModes | list | `["ReadWriteOnce"]` | Persistence access modes | +| persistence.enabled | bool | `false` | Use persistent volume to store data | +| persistence.finalizers | list | `["kubernetes.io/pvc-protection"]` | PersistentVolumeClaim finalizers | +| persistence.size | string | `"10Gi"` | Size of persistent volume claim | +| podAnnotations | object | `{}` | Pod annotations | +| podSecurityContext | object | `{"fsGroup":101}` | Pod securityContext | +| pyroscopeConfigs | object | `{}` | Pyroscope server configuration. Please refer to https://pyroscope.io/docs/server-configuration | +| rbac.clusterRole.annotations | object | `{}` | Cluster role annotations | +| rbac.clusterRole.extraRules | list | `[]` | Extra rules for created cluster role | +| rbac.clusterRole.name | string | `""` | Cluster role name. If not set, the fully qualified app name is used | +| rbac.clusterRoleBinding.annotations | object | `{}` | Cluster role binding annotations | +| rbac.clusterRoleBinding.name | string | `""` | Cluster role binding name. If not set, the fully qualified app name is used | +| rbac.create | bool | `false` | Creates Pyroscope cluster role and binds service account to it; requires service account to be created | +| readinessProbe.enabled | bool | `true` | Enable Pyroscope server readiness | +| readinessProbe.failureThreshold | int | `3` | Pyroscope server readiness check failure threshold count | +| readinessProbe.httpGet.path | string | `"/healthz"` | Pyroscope server readiness check path | +| readinessProbe.httpGet.port | int | `4040` | Pyroscope server readiness check port | +| readinessProbe.initialDelaySeconds | int | `30` | Pyroscope server readiness initial delay in seconds | +| readinessProbe.periodSeconds | int | `5` | Pyroscope server readiness check frequency in seconds | +| readinessProbe.successThreshold | int | `1` | Pyroscope server readiness check success threshold count | +| readinessProbe.timeoutSeconds | int | `30` | Pyroscope server readiness check request timeout | +| resources | object | `{}` | CPU/Memory resource requests/limits | +| securityContext | object | `{}` | Deployment securityContext | +| service.annotations | object | `{}` | Service annotations | +| service.port | int | `4040` | Kubernetes port where service is exposed | +| service.type | string | `"ClusterIP"` | Specify a service type | +| serviceAccount.annotations | object | `{}` | ServiceAccount annotations | +| serviceAccount.create | bool | `true` | Create service account | +| serviceAccount.name | string | `""` | Service account name to use, when empty will be set to created account if serviceAccount.create is set else to default | +| tolerations | list | `[]` | Toleration labels for pod assignment | \ No newline at end of file diff --git a/chart/pyroscope/templates/deployment.yaml b/chart/pyroscope/templates/deployment.yaml index 4496327..eecda44 100644 --- a/chart/pyroscope/templates/deployment.yaml +++ b/chart/pyroscope/templates/deployment.yaml @@ -37,12 +37,34 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} + {{- $fullName := include "pyroscope.fullname" . -}} {{- if .Values.env }} env: {{- range $k, $v := .Values.env }} - name: {{ $k }} value: {{ $v }} {{- end }} + {{- if .Values.envFrom }} + {{- range $key, $val := .Values.envFrom }} + - name: {{ $key }} + valueFrom: + secretKeyRef: + name: {{ $fullName }}-env-secret + key: {{ $val }} + {{- end }} + {{- end }} + {{- end }} + {{- if empty .Values.env }} + {{- if .Values.envFrom }} + env: + {{- range $key, $val := .Values.envFrom }} + - name: {{ $key }} + valueFrom: + secretKeyRef: + name: {{ $fullName }}-env-secret + key: {{ $val }} + {{- end }} + {{- end }} {{- end }} ports: - name: api diff --git a/chart/pyroscope/values.yaml b/chart/pyroscope/values.yaml index 5003140..4d16922 100644 --- a/chart/pyroscope/values.yaml +++ b/chart/pyroscope/values.yaml @@ -191,6 +191,8 @@ extraVolumeMounts: [] # -- Extra environment variables env: {} +envFrom: {} + rbac: # -- Creates Pyroscope cluster role and binds service account to it; requires service account to be created create: false