-
Notifications
You must be signed in to change notification settings - Fork 86
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
Add OCI Object Storage Bucket support #15
Add OCI Object Storage Bucket support #15
Conversation
6d87144
to
9192332
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, just add a changelog and we should be good to go.
Signed-off-by: aaron.tam <[email protected]>
9192332
to
bddbe9a
Compare
Thanks @wiardvanrij for reviewing it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for the hard work and patience 🤗
🎉 |
OMG. I can't believe it. Go Thanos !!! |
Yea thanks @aarontams :) |
We haven't actually discussed the cadence of the updates of objstore among Thanos maintainers (assuming at the very least before each major release), however, if you want to immediately have this on Thanos main branch, @aarontams you should send another PR to Thanos main repo to bump up the dependency version. |
Signed-off-by: aaron.tam <[email protected]>
Changes
Add Oracle Cloud Infrastructure (OCI) Object Storage Bucket support
OCI Object Storage supports three different providers, default, instance principle, and raw. A lot of OCI users like to use Instance principle to security. It is very important to support instance principle for the OCI users.
S3 doesn't support OCI instance principle.
Support multiple prometheus instances with a single bucket
By default, like other clients, this new Thanos OCI Object Storage client will storage the data from a single prometheus instance to the top directory of the bucket. This means each bucket can only store one prometheus instance data.
In OCI, a lot of users like to put different type of data in a single bucket.
To support multiple prometheus instances with a single bucket, a new object_base_path option is introduced in this OCI Object Storage client. If defined, the value will be used as the prefix of the prometheus data in OCI bucket.
For example, if you want to use the same bucket for 2 prometheus instances, you can define object_base_path as /path/for/prometheus1 for the first prometheus instance, and /path/for/prometheus2 for the second prometheus instance.
Three tests are included here to demo how the object_base_path work.
Verification
From original PR: Running similar OCI client against 3 prometheus instances for over 50 days without any issue.
For each prometheus instance
Testing from this PR
See the test steps in README.md under OCI section.
Original PR: thanos-io/thanos#4661