Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/os-observability/tempo-operator

Grafana Tempo Kubernetes operator
https://github.com/os-observability/tempo-operator

distributed-tracing grafana jaeger jaegertracing observability opentelemetry zipkin

Last synced: about 11 hours ago
JSON representation

Grafana Tempo Kubernetes operator

Awesome Lists containing this project

README

        

# Grafana Tempo operator

This is a Kubernetes operator for [Grafana Tempo](https://github.com/grafana/tempo).

## Features

* **Resource Limits** - Specify overall resource requests and limits in the `TempoStack` CR; the operator assigns fractions of it to each component
* **AuthN and AuthZ** - Supports OpenID Control (OIDC) and role-based access control (RBAC)
* **Managed upgrades** - Updating the operator will automatically update all managed Tempo clusters
* **Multitenancy** - Multiple tenants can send traces to the same Tempo cluster
* **mTLS** - Communication between the Tempo components can be secured via mTLS
* **Jaeger UI** - Traces can be visualized in Jaeger UI and exposed via Ingress or OpenShift Route
* **Observability** - The operator and `TempoStack` operands expose telemetry (metrics, traces) and integrate with Prometheus `ServiceMonitor` and `PrometheusRule`

## Documentation

* [Operator documentation](https://grafana.com/docs/tempo/next/setup/operator/)
* [Tempo CRD design](https://docs.google.com/document/d/1avSSf__R226l2b3hbcpXlYH7w6iKtXZsd9VTcpxDqng/edit)

## Deploy

1. Install cert-manager and minio: `make cert-manager deploy-minio`

2. Build and deploy operator:

```bash
IMG_PREFIX=docker.io/${USER} OPERATOR_VERSION=$(date +%s).0.0 make docker-build docker-push deploy
```

3. Create a secret for minio in the namespace you are using:
```yaml
kubectl apply -f - <