---
title: Charmhub | Deploy Tempo Bundle using Charmhub - The Open Operator Collection
description: Deploy the latest version of Tempo Bundle as a Kubernetes Operator on
  any cloud.
url: https://charmhub.io/tempo-bundle/configurations/tempo-coordinator-k8s
---

##### We've discontinued the registration of new Bundles

New Bundle registrations are no longer accepted. Existing bundles remain functional. We recommend using the Juju Terraform Provider for new deployments.

[Learn more](https://discourse.charmhub.io/t/discontinuing-new-charmhub-bundle-registrations/15344)

# Tempo Bundle

[Canonical Observability](https://charmhub.io/publisher/observability "View all packages from Canonical Observability")
| bundle

* [Canonical Observability](https://charmhub.io/publisher/observability "View all packages from Canonical Observability")
  | bundle

Platform:

edge 1

```
juju deploy tempo-bundle --channel edge
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [S3 Integrator](https://charmhub.io/tempo-bundle/configurations/s3-integrator)
* [Tempo Coordinator K8S](https://charmhub.io/tempo-bundle/configurations/tempo-coordinator-k8s)
* [Tempo Worker K8S](https://charmhub.io/tempo-bundle/configurations/tempo-worker-k8s)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* always\_enable\_jaeger\_grpc | boolean

  Enable routing to the receiver for the 'jaeger\_grpc' protocol in Tempo, even if there is no integration currently
  requesting it. The receiver is always enabled but will not accessible otherwise.
* always\_enable\_jaeger\_thrift\_http | boolean

  Enable routing to the receiver for the 'jaeger\_thrift\_http' protocol in Tempo, even if there is no integration
  currently requesting it. The receiver is always enabled but will not accessible otherwise.
* always\_enable\_otlp\_grpc | boolean

  Enable routing to the receiver for the 'otlp\_grpc' protocol in Tempo, even if there is no integration currently
  requesting it. The receiver is always enabled but will not accessible otherwise.
* always\_enable\_otlp\_http | boolean

  Enable routing to the receiver for the 'otlp\_http' protocol in Tempo, even if there is no integration currently
  requesting it. The receiver is always enabled but will not accessible otherwise.
* always\_enable\_zipkin | boolean

  Enable routing to the receiver for the 'zipkin' protocol in Tempo, even if there is no integration currently
  requesting it. The receiver is always enabled but will not accessible otherwise.
* cpu\_limit | string

  K8s cpu resource limit for the nginx container deployed by the coordinator,
  e.g. "1" or "500m". Default is unset (no limit). This is DEPRECATED and will be removed in track 3.
  The right way to do this now is to set constraints using the juju API.
* memory\_limit | string

  K8s memory resource limit for the nginx container deployed by the coordinator,
  e.g. "1Gi". Default is unset (no limit). This is DEPRECATED and will be removed in track 3.
  The right way to do this now is to set constraints using the juju API.
* retention-period | int

  Default: 720

  Maximum trace retention period, in hours. This will be used to configure the compactor to clean up trace data after this time.
  Defaults to 720 hours, which is equivalent to 30 days. Per-stream retention limits are currently not supported.
