OpenChoreo Chooses OpenObserve for Cloud-Native Logging and Tracing


Try OpenObserve Cloud today for more efficient and performant observability.

We are thrilled to announce that OpenChoreo, a CNCF sandbox open-source Internal Developer Platform (IDP) for Kubernetes, has integrated OpenObserve as a supported backend for logging and tracing.
This is more than just a new integration; it’s a signal that OpenObserve is becoming the go-to observability platform for cloud-native teams who want powerful, easy-to-use, and truly open-source observability without the complexity and cost of heavyweight commercial alternatives.
OpenChoreo is a CNCF sandbox project that provides a modular, open-source Internal Developer Platform for Kubernetes. Its architecture is specifically designed to let platform teams plug in their preferred tools for different concerns including observability.
When the OpenChoreo community went looking for an observability backend to integrate, they chose OpenObserve. They built two dedicated modules:
Want to try it yourself? Here's a concise walkthrough to get the OpenObserve-backed tracing module running in your OpenChoreo cluster. Read deatils here.
openchoreo-observability-plane Helm chart with tracing adapter enabled:--set observer.tracingAdapter.enabled="true"
OpenChoreo uses the External Secrets Operator to manage secrets. Add your OpenObserve credentials to your secret store and create a Kubernetes secret named openobserve-admin-credentials.
The example below uses OpenBao (as set up in the OpenChoreo installation guide):
kubectl exec -it -n openbao openbao-0 -- \
bao kv put secret/openobserve-admin-credentials \
ZO_ROOT_USER_EMAIL='YOUR_USERNAME' \
ZO_ROOT_USER_PASSWORD='YOUR_PASSWORD'
Then create an ExternalSecret to pull those credentials into your cluster:
kubectl apply -f - <<EOF
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: openobserve-admin-credentials
namespace: openchoreo-observability-plane
spec:
refreshInterval: 1h
secretStoreRef:
kind: ClusterSecretStore
name: default
target:
name: openobserve-admin-credentials
data:
- secretKey: ZO_ROOT_USER_EMAIL
remoteRef:
key: openobserve-admin-credentials
property: ZO_ROOT_USER_EMAIL
- secretKey: ZO_ROOT_USER_PASSWORD
remoteRef:
key: openobserve-admin-credentials
property: ZO_ROOT_USER_PASSWORD
EOF
Run the following Helm command to install the tracing module in standalone mode (default, recommended for most use cases):
helm upgrade --install observability-tracing-openobserve \
oci://ghcr.io/openchoreo/helm-charts/observability-tracing-openobserve \
--create-namespace \
--namespace openchoreo-observability-plane \
--version 0.2.1
That's it! OpenObserve is now your distributed tracing backend in OpenChoreo.
Need production-grade scale? Switch to the distributed HA deployment, which uses separate components (router, ingester, querier, etc.) backed by object storage (S3, MinIO, etc.):
helm upgrade --install observability-tracing-openobserve \
oci://ghcr.io/openchoreo/helm-charts/observability-tracing-openobserve \
--namespace openchoreo-observability-plane \
--version 0.2.1 \
--reuse-values \
--set openobserve-standalone.enabled=false \
--set openobserve.enabled=true
Refer to the OpenObserve Helm chart documentation to configure the distributed deployment.
If OpenObserve is already installed via the observability-logs-openobserve module, disable the bundled standalone chart to avoid conflicts:
helm upgrade --install observability-tracing-openobserve \
oci://ghcr.io/openchoreo/helm-charts/observability-tracing-openobserve \
--create-namespace \
--namespace openchoreo-observability-plane \
--version 0.2.1 \
--set openobserve-standalone.enabled=false
One thing the OpenChoreo contributor specifically called out was the responsiveness of the OpenObserve community on Slack. When questions came up during development, answers came quickly.
This matters to us. OpenObserve is not just a product, it's a community. We believe that open source only works when the people behind it are genuinely invested in helping others succeed. We're proud of our community, and we're grateful to the OpenChoreo team for giving us the opportunity to support them.
If you are building or running a Kubernetes-based platform and you need observability that is:
then OpenObserve is worth a serious look.
The OpenChoreo integration is a real-world example of teams choosing OpenObserve not because they had to, but because it genuinely made their lives easier. That's the kind of adoption we're building toward.
And if you want to explore OpenChoreo and the OpenObserve modules:
Have you integrated OpenObserve into your project? We'd love to hear about it. Reach out to us on Slack or tag us on social media.