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

Clean up tracing databag in v3 #105

Closed mmkay closed 1 month ago

mmkay commented 2 months ago

Enhancement Proposal

In tracing v2, we made several choices about the structure of the databag. Provider side exposes:

- host - used to build internal URL. Doesn't contain the scheme
- receivers - list of supported receivers with their ports
- external_url - when ingress is there, it's the ingressed URL, it contains the scheme
- internal_scheme - optional, used in combination with host (and receivers) to build the path. Can be either 'http' or 'https'

This structure has its quirks as we wanted to keep as backwards compatible as possible:

We could do one of the following:

Option 1:

Option 2:

PietroPasotti commented 1 month ago

question: do we always need to give an internal url?

This is how the provider databag could look like: addresses: []

PietroPasotti commented 1 month ago

todo: determine if we can drop v1 (does cos-lite stable charms still use it?) or we need BC with v1 and v2 todo: update charm-relation-interfaces

PietroPasotti commented 1 month ago

decision: so long as nobody's using it

PietroPasotti commented 1 month ago

let's see if we can keep the changes contained to the interface and keep the charm-facing API the same, so we don't have to bump the charm lib major, but only the interface.