<!-- Generated by npm run confighub-example-guides. Do not edit by hand. -->

# grafana/tempo 1.24.4 - s3-query-observability

This guide explains the journey from a public Helm chart to a ConfigHub Space. Use it when you want to know why this preset exists, what problem it solves, how to repeat it, and what still needs care.

It is generated from the same records that build the package, chart page, render intent, scripts, and receipts. The proof links are lower down.

## Why this preset exists

Helm charts often expose many settings, but a values file alone does not tell the whole operations story. A team still needs to know what Kubernetes objects will be created, which Secrets or CRDs must already exist, whether hooks or setup jobs need special handling, and what evidence backs the result.

This preset is a named answer for one useful operating choice. It keeps the upstream chart, records the inputs and rendered YAML, and gives the team a repeatable starting point instead of a private values-file guess.

## What this is

This is the `s3-query-observability` preset config for `grafana/tempo@1.24.4`. The repo also calls this a base variant. tempo S3 query and observability variant rendered from grafana/tempo@1.24.4.

The matching catalog page is [grafana/tempo@1.24.4](https://confighub.github.io/helm-expt/site/charts/grafana-tempo-1-24-4.html).

## The chart journey

We keep the Helm chart. We lock `grafana/tempo@1.24.4`, choose the `s3-query-observability` preset config, render it with the recorded values, namespace, release name, and Kubernetes capabilities, then save the output as files.

That captured output is the render variant: [`recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml`](https://github.com/confighub/helm-expt/blob/main/recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml). It contains 8 Kubernetes object(s): ConfigMap x2, Ingress x1, NetworkPolicy x1, Service x1, ServiceAccount x1, ServiceMonitor x1, StatefulSet x1.

The public package is `oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/grafana-tempo:1.24.4`. Users can pull it without cloning this repo. When someone runs `cub installer upload`, ConfigHub stores the rendered Kubernetes YAML in a Space so it can be searched, compared, reviewed, changed, and delivered. The example script defaults to Space `helm-tempo-s3-query-observability`, but users can choose another name with `CUB_SPACE=...`.

## What to check

This preset config records 3 prerequisites: 1 CRD, 1 Secret, 1 other item. Follow the instructions below before you apply the rendered objects.

The catalog does not currently record a separate hook, setup job, or cleanup step for this preset.

Some CRDs must already exist before the rendered objects are applied. At least one Secret must be created with your values before apply. Known limitation: ha (tempo single-binary chart; HA is the separate tempo-distributed chart).

## Why you can trust it

- The chart version, source, namespace, release name, values, and capability profile are recorded in the render intent.
- The render variant is committed as YAML and contains 8 Kubernetes object(s).
- The installer package OCI ref points to the package users pull for this chart version.
- Render parity is recorded as passing for this preset config.
- Prerequisites are named before apply, so they are not discovered after rollout.

This is a claim about this recorded preset config. It is not a claim that every possible values file for this chart has been checked.

## Repeat it

Fast path with no ConfigHub account:

```sh
bash <(curl -fsSL https://confighub.github.io/helm-expt/site/sh/grafana-tempo-1-24-4/s3-query-observability/try.sh)
```

Fast path with a ConfigHub account:

```sh
bash <(curl -fsSL https://confighub.github.io/helm-expt/site/sh/grafana-tempo-1-24-4/s3-query-observability/confighub.sh)
```

The core render command is:

```sh
cub installer setup --pull oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/grafana-tempo:1.24.4 --base s3-query-observability --work-dir ./grafana-tempo-1-24-4-s3-query-observability --non-interactive --namespace tempo
```

After upload, create environment versions with `cub variant create` and move reviewed changes with `cub variant promote`. The walkthrough is [After Upload: Create A Variant And Promote Changes](../../../../docs/user/variants-after-upload.md).

## Preset details

| Item | Value |
| --- | --- |
| Chart | `grafana/tempo@1.24.4` |
| Preset config | `s3-query-observability` |
| Namespace | `tempo` |
| Release name | `tempo` |
| Values | [`recipes/grafana/tempo/1.24.4/effective-values-s3-query-observability.yaml`](https://github.com/confighub/helm-expt/blob/main/recipes/grafana/tempo/1.24.4/effective-values-s3-query-observability.yaml) |
| Render intent | [`data/helm-render-intents/intents/grafana-tempo-1-24-4-s3-query-observability.yaml`](https://github.com/confighub/helm-expt/blob/main/data/helm-render-intents/intents/grafana-tempo-1-24-4-s3-query-observability.yaml) |
| Render variant | [`recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml`](https://github.com/confighub/helm-expt/blob/main/recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml) |
| Package base | [`packages/grafana/tempo/1.24.4/bases/s3-query-observability`](https://github.com/confighub/helm-expt/tree/main/packages/grafana/tempo/1.24.4/bases/s3-query-observability) |
| Scripts | [try.sh](https://confighub.github.io/helm-expt/site/sh/grafana-tempo-1-24-4/s3-query-observability/try.sh) · [confighub.sh](https://confighub.github.io/helm-expt/site/sh/grafana-tempo-1-24-4/s3-query-observability/confighub.sh) |

## Prerequisites and lifecycle steps

| When | What | How it is handled |
| --- | --- | --- |
| Before install | ClusterFeature: Secret tempo/tempo-s3-credentials keys access_key,secret_key | kubectl -n tempo create secret generic tempo-s3-credentials --from-literal=access_key=<value> --from-literal=secret_key=<value> |
| Before install | ClusterFeature: S3-compatible object store tempo/tempo-object-store | create or bind an S3-compatible endpoint, bucket, and credentials before apply |
| Before install | 1 CRD: servicemonitors.monitoring.coreos.com | Included in the public package as prerequisites/target-facts/s3-query-observability-crds.yaml. The generated try script applies it and waits for the required CRD before installing the main objects. |

## Evidence

| Check | Status |
| --- | --- |
| Render parity | `yes` |
| ConfigHub scan/upload proof | `yes` |
| Earlier local-cluster test | `no` |
| GitOps OCI live run | `watch` |
| Live Helm vs ConfigHub comparison | `watch` |
| Lifecycle routes | `0` |

## Limits

- Local kind evidence is no for this preset config.
- GitOps OCI live evidence is watch for this preset config.
- Known gap for this row: ha (tempo single-binary chart; HA is the separate tempo-distributed chart).
- Production support is target-scoped. Use production support decisions before claiming production readiness.

## Source files

- Chart page: [https://confighub.github.io/helm-expt/site/charts/grafana-tempo-1-24-4.html](https://confighub.github.io/helm-expt/site/charts/grafana-tempo-1-24-4.html)
- Render intent: [`data/helm-render-intents/intents/grafana-tempo-1-24-4-s3-query-observability.yaml`](https://github.com/confighub/helm-expt/blob/main/data/helm-render-intents/intents/grafana-tempo-1-24-4-s3-query-observability.yaml)
- Rendered YAML: [`recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml`](https://github.com/confighub/helm-expt/blob/main/recipes/grafana/tempo/1.24.4/revisions/s3-query-observability/r001/rendered/release-objects.yaml)
- Package source: [`packages/grafana/tempo/1.24.4/bases/s3-query-observability`](https://github.com/confighub/helm-expt/tree/main/packages/grafana/tempo/1.24.4/bases/s3-query-observability)
- Generated scripts: [`site/sh/grafana-tempo-1-24-4/s3-query-observability`](https://github.com/confighub/helm-expt/tree/main/site/sh/grafana-tempo-1-24-4/s3-query-observability)
- Preset doctrine: [Helm Chart Presets And Values](../../../../docs/user/helm-presets-and-values.md)
