Skip to content

Add Oracle Cloud Infrastructure (OCI) Object Storage backend#7718

Open
harsha-yuvaraj wants to merge 5 commits into
cortexproject:masterfrom
harsha-yuvaraj:feature/oci-storage-backend
Open

Add Oracle Cloud Infrastructure (OCI) Object Storage backend#7718
harsha-yuvaraj wants to merge 5 commits into
cortexproject:masterfrom
harsha-yuvaraj:feature/oci-storage-backend

Conversation

@harsha-yuvaraj

Copy link
Copy Markdown

What this PR does:

Adds Oracle Cloud Infrastructure (OCI) Object Storage as a storage backend for blocks, ruler, and alertmanager, wrapping the OCI provider already shipped by Thanos objstore. Select it with backend: oci and configure via -<prefix>.oci.* flags.

  • pkg/storage/bucket/oci/config.go — config struct + flags (auth providers: default, instance-principal, raw, oke-workload-identity)
  • pkg/storage/bucket/oci/bucket_client.go — thin wrapper over objstore/providers/oci
  • pkg/storage/bucket/client.go — backend registration (constant, SupportedBackends, config field, NewClient case)
  • Vendored github.com/oracle/oci-go-sdk/v65

Because ruler/alertmanager/blocks validate against bucket.SupportedBackends, OCI is available to all three with no extra wiring. Retries are enabled by default (max_request_retries: 3, request_retry_interval: 10s) for parity with the other backends; the provider performs no retries when these are 0/1.

Which issue(s) this PR fixes:

Fixes #7593

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated
  • docs/configuration/v1-guarantees.md updated (OCI listed as experimental)

Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com>
Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com>
Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com>
Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com>
Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com>
@dosubot dosubot Bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code storage/blocks Blocks storage engine labels Jul 23, 2026
@krunaljain

Copy link
Copy Markdown
Contributor

Should this PR be broken down?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update Go code size/XL storage/blocks Blocks storage engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Oracle Cloud OCI storage backend

2 participants