Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 37.3 KB

File metadata and controls

100 lines (76 loc) · 37.3 KB

perses-operator

A Helm chart for the Perses Operator - manages Perses instances and dashboards on Kubernetes

Version: 0.4.0 Type: application AppVersion: 0.4.0

Prerequisites

  • Kubernetes 1.26+
  • Helm 3.x
  • cert-manager installed in the cluster (required when certManager.enable=true, which is the default)

Installing the Chart

To install the chart with the release name perses-operator (requires cert-manager):

helm repo add perses https://perses.github.io/helm-charts
helm repo update
helm install perses-operator perses/perses-operator

To install without cert-manager (not recommended for production):

helm install perses-operator perses/perses-operator --set certManager.enable=false

Note: When cert-manager is disabled, the chart generates a self-signed TLS certificate for the webhook server. CRD conversion webhooks (v1alpha1 <-> v1alpha2) are also disabled, so only v1alpha2 resources can be used. This is suitable for development and testing but not recommended for production.

Uninstalling the Chart

To uninstall/delete the perses-operator deployment:

helm delete perses-operator

Note: CRDs are kept by default when uninstalling. To remove them, set crd.keep=false before uninstalling or delete them manually.

Upgrading

To 0.4.0

Starting from this release, the chart version is aligned with the perses-operator appVersion. This means chart version 0.4.0 tracks perses-operator v0.4.0. Previous chart versions (0.1.x, 0.2.x) used independent versioning.

To 0.2.0

This release updates CRDs to default to perses.dev/v1alpha2. The v1alpha1 API version is deprecated and will be removed in a future release. Existing v1alpha1 resources are automatically converted via the conversion webhook when cert-manager is enabled. Users should migrate their manifests to use v1alpha2.

Values

Key Type Default Description
certManager object {"enable":true} Cert-manager integration for TLS certificates. Required for webhook and metrics endpoint certificates.
certManager.enable bool true Enable cert-manager integration
crd object {"enable":true,"keep":true} Custom Resource Definitions
crd.enable bool true Install CRDs with the chart
crd.keep bool true Keep CRDs when uninstalling
kubeRbacProxy object {"image":{"repository":"quay.io/brancz/kube-rbac-proxy","tag":"v0.21.2"},"resources":{"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"5m","memory":"64Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}}} Kube RBAC Proxy sidecar configuration
kubeRbacProxy.image.repository string "quay.io/brancz/kube-rbac-proxy" Kube RBAC Proxy image repository
kubeRbacProxy.image.tag string "v0.21.2" Kube RBAC Proxy image tag
kubeRbacProxy.resources object {"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"5m","memory":"64Mi"}} Kube RBAC Proxy resource limits and requests
kubeRbacProxy.securityContext object {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}} Kube RBAC Proxy container security context
manager object {"affinity":{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"kubernetes.io/arch","operator":"In","values":["amd64","arm64","ppc64le","s390x"]},{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}]}}},"args":["--leader-elect"],"env":[],"image":{"pullPolicy":"IfNotPresent","repository":"docker.io/persesdev/perses-operator","tag":"v0.4.0"},"imagePullSecrets":[],"nodeSelector":{},"podSecurityContext":{},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"10m","memory":"64Mi"}},"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}},"tolerations":[]} Configure the controller manager deployment
manager.affinity object {"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"kubernetes.io/arch","operator":"In","values":["amd64","arm64","ppc64le","s390x"]},{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}]}}} Manager pod affinity
manager.args list ["--leader-elect"] Arguments passed to the manager container
manager.env list [] Environment variables for the manager container
manager.image.pullPolicy string "IfNotPresent" Image pull policy
manager.image.repository string "docker.io/persesdev/perses-operator" Container image repository
manager.image.tag string "v0.4.0" Container image tag
manager.imagePullSecrets list [] Image pull secrets
manager.nodeSelector object {} Manager pod node selector
manager.podSecurityContext object {} Pod-level security settings
manager.replicas int 1 Number of replicas
manager.resources object {"limits":{"cpu":"500m","memory":"128Mi"},"requests":{"cpu":"10m","memory":"64Mi"}} Resource limits and requests
manager.securityContext object {"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]}} Container-level security settings
manager.tolerations list [] Manager pod tolerations
metrics object {"enable":true,"port":8082} Controller metrics endpoint. Enable to expose /metrics endpoint with RBAC protection.
metrics.enable bool true Enable metrics endpoint
metrics.port int 8082 Metrics server port
prometheus object {"enable":false} Prometheus ServiceMonitor for metrics scraping. Requires prometheus-operator to be installed in the cluster.
prometheus.enable bool false Enable ServiceMonitor creation
rbacHelpers object {"enable":false} Helper RBAC roles for managing custom resources
rbacHelpers.enable bool false Install convenience admin/editor/viewer roles for CRDs
testFramework object {"enabled":true,"image":{"registry":"ghcr.io","repository":"cloudoperators/greenhouse-extensions-integration-test","tag":"main"},"imagePullPolicy":"IfNotPresent"} Helm test framework configuration
testFramework.enabled bool true Enable helm test resources
testFramework.image.registry string "ghcr.io" Test image registry
testFramework.image.repository string "cloudoperators/greenhouse-extensions-integration-test" Test image repository
testFramework.image.tag string "main" Test image tag
testFramework.imagePullPolicy string "IfNotPresent" Test image pull policy
webhook object {"enable":true,"port":9443} Webhook server configuration
webhook.enable bool true Enable webhook server
webhook.port int 9443 Webhook server port

Autogenerated from chart metadata using helm-docs v1.14.2