feat: Add support for Oracle OCI object storage #17818
Open
+26,695
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
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
CONTRIBUTING.md
guide (required)feat
PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.docs/sources/setup/upgrade/_index.md
deprecated-config.yaml
anddeleted-config.yaml
files respectively in thetools/deprecated-config-checker
directory. Example PR