---
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-worker-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)

* cpu\_limit | string

  K8s cpu resource limit, e.g. "1" or "500m". Default is unset (no limit). This value is used
  for the "limits" portion of the resource requirements.
  See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
* memory\_limit | string

  K8s memory resource limit, e.g. "1Gi". Default is unset (no limit). This value is used
  for the "limits" portion of the resource requirements.
  See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
* role-all | boolean

  Default: True

  Configure the application to run with all roles enabled. This is the default configuration.
  This is a meta-role that configures the application to enable all other roles. Under the hood, the `all` role
  is mapped to Tempo's `scalable-single-binary`.
  Each Tempo application can only have exactly one `role-X` config set to `true` at any given time.
  So if you want to configure this app to run with a role other than `all`, remember to set `all` to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
* role-compactor | boolean

  Configure the application to run as this Tempo role. Each Tempo application can only have exactly one
  `role-X` config set to `true`. So if you want to enable a role, remember to set all other roles to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
* role-distributor | boolean

  Configure the application to run as this Tempo role. Each Tempo application can only have exactly one
  `role-X` config set to `true`. So if you want to enable a role, remember to set all other roles to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
* role-ingester | boolean

  Configure the application to run as this Tempo role. Each Tempo application can only have exactly one
  `role-X` config set to `true`. So if you want to enable a role, remember to set all other roles to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
* role-metrics-generator | boolean

  Configure the application to run as this Tempo role. Each Tempo application can only have exactly one
  `role-X` config set to `true`. So if you want to enable a role, remember to set all other roles to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
* role-querier | boolean

  Configure the application to run as this Tempo role. Each Tempo application can only have exactly one
  `role-X` config set to `true`. So if you want to enable a role, remember to set all other roles to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
* role-query-frontend | boolean

  Configure the application to run as this Tempo role. Each Tempo application can only have exactly one
  `role-X` config set to `true`. So if you want to enable a role, remember to set all other roles to `false`.
  Invalid configurations will result in the component to stop working and the app to set blocked status.
  Note that for a tempo deployment as a whole to be consistent, each role
  (except the optional 'metrics-generator') needs to be assigned to at least one worker node. If this condition
  is not met, the coordinator charm will set blocked status and the deployment will shut down.
