Skip to content

feat: Add support for Oracle OCI object storage #17818

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

smuth4
Copy link
Contributor

@smuth4 smuth4 commented May 24, 2025

With the addition of the objstore library, this becomes a pretty simple addition. I used the exact same config struct as objstore, but only added the most relevant ones to the command line flags to avoid cluttering things up. This has been running successfully for a couple days in a small kubernetes cluster with loki-canary.

I wasn't sure where the best place in the docs would be to add an example config since (AFAICT) this is the first storage client that is only supported via objstore, but if I get some direction I'd be happy to do a little write-up:

storage_config:
  use_thanos_objstore: true
common:
  storage:
    object_store:
      oci:
        provider: oke-workload-identity
        bucket: <bucket name>
        region: <region name>

What this PR does / why we need it:
While OCI does have a S3 compatibility layer that can be used to get loki working as per #7713 (comment), supporting it natively allows for a much simpler setup (e.g. workload identity in kubernetes). While I have not done any load/stress testing, one would also hope the native APIs will be faster.

Which issue(s) this PR fixes:
Fixes #7713

Special notes for your reviewer:
Given how small the actual integration is I didn't see any place to write a useful test, but I'd be willing to put in the work there if needed.

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • [N/A] Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR
@smuth4 smuth4 requested a review from a team as a code owner May 24, 2025 13:02
@smuth4 smuth4 force-pushed the feature/oci-obj-storage branch from fd5aa70 to 9418fff Compare May 28, 2025 12:51
This is only available via the new thanos-io/objstore configuration,
and borrows most of the configuration structure from the library as well.
@smuth4 smuth4 force-pushed the feature/oci-obj-storage branch from 9418fff to d8252ca Compare June 4, 2025 18:22
Signed-off-by: Stephen Muth <smuth4@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 participant