canonical / tempo-k8s-operator

This charmed operator automates the operational procedures of running Grafana Tempo, an open-source tracing backend.
https://charmhub.io/tempo-k8s
Apache License 2.0
3 stars 3 forks source link

S3 support and scaled monolith #127

Closed mmkay closed 3 weeks ago

mmkay commented 4 weeks ago

Issue

Add s3 support to tempo charm and scaled monolithic setup in case application is scaled to more than 1 unit. Closes #62, #119

Solution

Add s3 interface that can be used by s3-integrator.

Context

Even though mimir_config is already using types, I haven't switched to typing yet as I expect we'll have more changes with tempo_cluster soon.

Testing Instructions

In theory the following bundle should work, but it still requires manual steps. Follow the steps added in HACKING.md to deploy minio alongside:

bundle: kubernetes
applications:
  minio:
    charm: minio
    channel: latest/edge
    revision: 316
    base: ubuntu@20.04/stable
    resources:
      oci-image: 543
    scale: 1
    options:
      access-key: minio-access-key
      secret-key: minio-secret
    constraints: arch=amd64
    storage:
      minio-data: kubernetes,1,10240M
    trust: true
  s3-integrator:
    charm: s3-integrator
    channel: latest/stable
    revision: 17
    scale: 1
    options:
      bucket: tempo
    constraints: arch=amd64
  tempo:
    charm: local:tempo-k8s-1
    scale: 1
    constraints: arch=amd64
    storage:
      data: kubernetes,1,1024M
relations:
- - tempo:s3
  - s3-integrator:s3-credentials

Release Notes

PietroPasotti commented 3 weeks ago

YESSSS

mmkay commented 3 weeks ago

two more things still pending from manual tests, not merging yet