-
Task
-
Resolution: Done
-
Normal
-
Logging 5.9.0
-
8
-
False
-
None
-
False
-
NEW
-
OBSDA-527 - Enable Grafana support for cloud providers in Loki
-
NEW
-
Release Note Not Required
-
Upstream Only
-
-
-
Log Storage - Sprint 244, Log Storage - Sprint 245, Log Storage - Sprint 246
Propose an upstream Loki migration path to use Thanos Package objstore to unify workload identity implementation among Loki, Mimir and Tempo.
Goals
- Propose a design and migration strategy to gradually update Loki object storage clients from custom implementations to thanos-io/objstore.
- Vet and provide configuration migration risk and mitigations for users to use the new package.
Developer Notes
- The thanos.io/objstore package is currently included in the code base using the bucket/client.go wrapper and only use by the ruler component (here and here)
- The bucket client related code that needs to replaced per provider is:
- Azure: blob_storage_client.go
- AWS: s3_storage_client.go
- GCP: gcs_object_client.go
- OpenStack: swift_object_client.go
- Local: fs_object_client.go
- We need a per-provider list of flags/config-settings/env-vars that will change when using the new implementation classified in breaking and non-breaking changes.
- Additional features should be considers, e.g. SSE in AWS S3, Hedging, Prefixed Buckets.
- A checklist of federation identity should be listed and ensured when switching to the new implementation.
- Consider to list any changes in exported metrics and their namespaces.
- Consider existing implementation in Grafana Mimir: https://github.com/grafana/mimir/tree/main/pkg/storage/bucket