Skip to content

Commit 85a4553

Browse files
Add Oracle Cloud Infrastructure (OCI) Object Storage backend (#7718)
* Add OCI bucket config and flags Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com> * Add OCI bucket client and vendor OCI SDK Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com> * Enable retries by default for OCI backend Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com> * Register OCI storage backend Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com> * Document OCI backend and update CHANGELOG Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com> --------- Signed-off-by: Harsha Yuvaraj <harshavardanyuvaraj@gmail.com>
1 parent 55a0971 commit 85a4553

10 files changed

Lines changed: 774 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* [FEATURE] Querier: Add timeout classification to classify query timeouts as 4XX (user error) or 5XX (system error) based on phase timing. When enabled, queries that spend most of their time in PromQL evaluation return `422 Unprocessable Entity` instead of `503 Service Unavailable`. #7374
1616
* [FEATURE] Querier: Implement Resource Based Throttling in Querier. #7442
1717
* [FEATURE] Querier: Add resource-based query eviction that automatically cancels the heaviest running query when CPU or heap utilization exceeds configured thresholds. #7488
18+
* [FEATURE] Storage: Add support for Oracle Cloud Infrastructure (OCI) Object Storage as a backend for blocks, ruler, and alertmanager storage. Configured via `-<prefix>.oci.*` flags with `backend: oci`. #7718
1819
* [ENHANCEMENT] Upgrade prometheus alertmanager version to v0.32.1. #7462
1920
* [ENHANCEMENT] Tenant Federation: Avoid purging the regex resolver LRU cache on user-sync ticks when the set of known users has not changed. #7489
2021
* [ENHANCEMENT] Parquet Converter: Add a ring status page to expose the ring status. #7455

docs/blocks-storage/querier.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ The `blocks_storage_config` configures the blocks storage.
380380

381381
```yaml
382382
blocks_storage:
383-
# Backend storage to use. Supported backends are: s3, gcs, azure, swift,
383+
# Backend storage to use. Supported backends are: s3, gcs, azure, swift, oci,
384384
# filesystem.
385385
# CLI flag: -blocks-storage.backend
386386
[backend: <string> | default = "s3"]
@@ -659,6 +659,60 @@ blocks_storage:
659659
# CLI flag: -blocks-storage.swift.request-timeout
660660
[request_timeout: <duration> | default = 5s]
661661

662+
oci:
663+
# The OCI configuration provider to use. Supported values are: default,
664+
# instance-principal, raw, oke-workload-identity.
665+
# CLI flag: -blocks-storage.oci.provider
666+
[provider: <string> | default = "default"]
667+
668+
# The OCI bucket name.
669+
# CLI flag: -blocks-storage.oci.bucket
670+
[bucket: <string> | default = ""]
671+
672+
# The OCID of the compartment that contains the bucket.
673+
# CLI flag: -blocks-storage.oci.compartment-ocid
674+
[compartment_ocid: <string> | default = ""]
675+
676+
# The OCID of the tenancy. Required when the provider is 'raw'.
677+
# CLI flag: -blocks-storage.oci.tenancy-ocid
678+
[tenancy_ocid: <string> | default = ""]
679+
680+
# The OCID of the user. Required when the provider is 'raw'.
681+
# CLI flag: -blocks-storage.oci.user-ocid
682+
[user_ocid: <string> | default = ""]
683+
684+
# The OCI region. Required when the provider is 'raw'.
685+
# CLI flag: -blocks-storage.oci.region
686+
[region: <string> | default = ""]
687+
688+
# The fingerprint of the API signing key. Required when the provider is
689+
# 'raw'.
690+
# CLI flag: -blocks-storage.oci.fingerprint
691+
[fingerprint: <string> | default = ""]
692+
693+
# The API signing private key in PEM format. Required when the provider is
694+
# 'raw'.
695+
# CLI flag: -blocks-storage.oci.private-key
696+
[privatekey: <string> | default = ""]
697+
698+
# The passphrase for the API signing private key, if the key is encrypted.
699+
# CLI flag: -blocks-storage.oci.private-key-passphrase
700+
[passphrase: <string> | default = ""]
701+
702+
# The part size in bytes used for multipart uploads. 0 uses the provider
703+
# default.
704+
# CLI flag: -blocks-storage.oci.part-size
705+
[part_size: <int> | default = 0]
706+
707+
# The maximum number of request attempts when encountering recoverable
708+
# errors. Values of 0 or 1 disable retries.
709+
# CLI flag: -blocks-storage.oci.max-request-retries
710+
[max_request_retries: <int> | default = 3]
711+
712+
# The fixed interval in seconds to wait between request retry attempts.
713+
# CLI flag: -blocks-storage.oci.request-retry-interval
714+
[request_retry_interval: <int> | default = 10]
715+
662716
filesystem:
663717
# Local filesystem storage directory.
664718
# CLI flag: -blocks-storage.filesystem.dir

docs/blocks-storage/store-gateway.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ The `blocks_storage_config` configures the blocks storage.
438438

439439
```yaml
440440
blocks_storage:
441-
# Backend storage to use. Supported backends are: s3, gcs, azure, swift,
441+
# Backend storage to use. Supported backends are: s3, gcs, azure, swift, oci,
442442
# filesystem.
443443
# CLI flag: -blocks-storage.backend
444444
[backend: <string> | default = "s3"]
@@ -717,6 +717,60 @@ blocks_storage:
717717
# CLI flag: -blocks-storage.swift.request-timeout
718718
[request_timeout: <duration> | default = 5s]
719719

720+
oci:
721+
# The OCI configuration provider to use. Supported values are: default,
722+
# instance-principal, raw, oke-workload-identity.
723+
# CLI flag: -blocks-storage.oci.provider
724+
[provider: <string> | default = "default"]
725+
726+
# The OCI bucket name.
727+
# CLI flag: -blocks-storage.oci.bucket
728+
[bucket: <string> | default = ""]
729+
730+
# The OCID of the compartment that contains the bucket.
731+
# CLI flag: -blocks-storage.oci.compartment-ocid
732+
[compartment_ocid: <string> | default = ""]
733+
734+
# The OCID of the tenancy. Required when the provider is 'raw'.
735+
# CLI flag: -blocks-storage.oci.tenancy-ocid
736+
[tenancy_ocid: <string> | default = ""]
737+
738+
# The OCID of the user. Required when the provider is 'raw'.
739+
# CLI flag: -blocks-storage.oci.user-ocid
740+
[user_ocid: <string> | default = ""]
741+
742+
# The OCI region. Required when the provider is 'raw'.
743+
# CLI flag: -blocks-storage.oci.region
744+
[region: <string> | default = ""]
745+
746+
# The fingerprint of the API signing key. Required when the provider is
747+
# 'raw'.
748+
# CLI flag: -blocks-storage.oci.fingerprint
749+
[fingerprint: <string> | default = ""]
750+
751+
# The API signing private key in PEM format. Required when the provider is
752+
# 'raw'.
753+
# CLI flag: -blocks-storage.oci.private-key
754+
[privatekey: <string> | default = ""]
755+
756+
# The passphrase for the API signing private key, if the key is encrypted.
757+
# CLI flag: -blocks-storage.oci.private-key-passphrase
758+
[passphrase: <string> | default = ""]
759+
760+
# The part size in bytes used for multipart uploads. 0 uses the provider
761+
# default.
762+
# CLI flag: -blocks-storage.oci.part-size
763+
[part_size: <int> | default = 0]
764+
765+
# The maximum number of request attempts when encountering recoverable
766+
# errors. Values of 0 or 1 disable retries.
767+
# CLI flag: -blocks-storage.oci.max-request-retries
768+
[max_request_retries: <int> | default = 3]
769+
770+
# The fixed interval in seconds to wait between request retry attempts.
771+
# CLI flag: -blocks-storage.oci.request-retry-interval
772+
[request_retry_interval: <int> | default = 10]
773+
720774
filesystem:
721775
# Local filesystem storage directory.
722776
# CLI flag: -blocks-storage.filesystem.dir

0 commit comments

Comments
 (0)