Skip to content
Closed
17 changes: 17 additions & 0 deletions charts/plane-enterprise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,23 @@ Note: When the email service is enabled, the cert-issuer will be automatically c
| env.storageClass | <k8s-default-storage-class> | | Creating the persitant volumes for the stateful deployments needs the `storageClass` name. Set the correct value as per your kubernetes cluster configuration. |
| env.secret_key | 60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5 | Yes | This must a random string which is used for hashing/encrypting the sensitive data within the application. Once set, changing this might impact the already hashed/encrypted data |

### Metrics and Telemetry Configuration

| Setting | Default | Required | Description |
| ---------------------------------------- | :---------------------------------------------------: | :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| metrics.enabled | true | No | Enable or disable metrics collection and telemetry. Set to `false` to completely disable all metrics functionality. |
| metrics.telemetry.http_endpoint | https://telemetry.plane.so/v1/metrics | No | Primary OTLP HTTP endpoint for metrics export. Must include the full path `/v1/metrics` for the OTLP exporter to work correctly. This is used for backward compatibility with v1 telemetry. |
| metrics.telemetry.http_v2_endpoint | https://v2.telemetry.plane.so/v1/metrics | No | V2 OTLP HTTP endpoint for enhanced metrics collection. Must include the full path `/v1/metrics`. The API service uses this endpoint to push instance and workspace-level metrics via the OpenTelemetry Protocol. |
| metrics.telemetry.push_interval_minutes | "" | No | Optional interval (in minutes) for pushing metrics. Leave empty for default behavior (every 6 hours). Set to a value like `1` or `5` for testing/development to push metrics more frequently. Only applicable when metrics.enabled is `true`. |
| metrics.telemetry.headers | {} | No | Optional custom headers to include with telemetry requests. Useful for authentication or routing purposes when using custom telemetry backends. |

**Notes:**
- Metrics are collected by the API service and pushed to the configured OTLP endpoint using the OpenTelemetry Protocol over HTTP
- The endpoint URLs must include the full path `/v1/metrics` - the OTLP exporter will not automatically append this path
- Metrics include instance-level data (users, workspaces, projects, issues) and workspace-level data
- When `metrics.enabled=false`, no metrics collection or export will occur
- For self-hosted deployments pointing to your own telemetry infrastructure, update the endpoint URLs accordingly

### Extra Environment Variables

| Setting | Default | Required | Description |
Expand Down
9 changes: 9 additions & 0 deletions charts/plane-enterprise/templates/config-secrets/app-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,13 @@ data:
CORS_ALLOWED_ORIGINS: "http://{{ .Values.license.licenseDomain }},https://{{ .Values.license.licenseDomain }},{{ .Values.env.cors_allowed_origins }}"
{{- else}}
CORS_ALLOWED_ORIGINS: "http://{{ .Values.license.licenseDomain }},https://{{ .Values.license.licenseDomain }}"
{{- end }}

{{- if .Values.metrics.enabled }}
OTLP_ENDPOINT: {{ .Values.metrics.telemetry.http_endpoint | default "" | quote }}
OTLP_V2_ENDPOINT: {{ .Values.metrics.telemetry.http_v2_endpoint | default "" | quote }}
OTEL_EXPORTER_OTLP_PROTOCOL: "http/protobuf"
{{- if .Values.metrics.telemetry.push_interval_minutes }}
METRICS_PUSH_INTERVAL_MINUTES: {{ .Values.metrics.telemetry.push_interval_minutes | quote }}
{{- end }}
{{- end }}
2 changes: 1 addition & 1 deletion charts/plane-enterprise/templates/config-secrets/silo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ stringData:
{{- if .Values.env.silo_envs.hmac_secret_key }}
SILO_HMAC_SECRET_KEY: {{ .Values.env.silo_envs.hmac_secret_key | quote }}
{{- else if (lookup "v1" "Secret" .Release.Namespace (printf "%s-silo-secrets" .Release.Name)) }}
SILO_HMAC_SECRET_KEY: {{ (lookup "v1" "Secret" .Release.Namespace (printf "%s-silo-secrets" .Release.Name)).data.SILO_HMAC_SECRET_KEY | default (randAlphaNum 32) | quote }}
SILO_HMAC_SECRET_KEY: {{ (lookup "v1" "Secret" .Release.Namespace (printf "%s-silo-secrets" .Release.Name)).data.SILO_HMAC_SECRET_KEY | b64dec | default (randAlphaNum 32) | quote }}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

{{- else }}
SILO_HMAC_SECRET_KEY: {{ randAlphaNum 32 | quote }}
{{- end }}
Expand Down
15 changes: 15 additions & 0 deletions charts/plane-enterprise/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -396,3 +396,18 @@ extraEnv: []
# value: "http://proxy.example.com:8080"
# - name: NO_PROXY
# value: "localhost,127.0.0.1,.example.com"

# Metrics collection configuration
metrics:
enabled: true

# Telemetry server configuration
telemetry:
# Primary telemetry endpoint (OTLP HTTP)
# Note: Must include full path /v1/metrics for OTLP exporter
http_endpoint: "https://telemetry.plane.so/v1/metrics"
# V2 telemetry endpoint for enhanced metrics (OTLP HTTP)
# Note: Must include full path /v1/metrics for OTLP exporter
http_v2_endpoint: "https://v2.telemetry.plane.so/v1/metrics"
headers: {}
push_interval_minutes: "" # Optional interval for testing (e.g., "5")