Skip to main content
Version: 2.0.0

OCI Core

Spring Cloud Oracle provides a core starter that auto-configures OCI authentication and shared infrastructure for the service-specific starters.

Dependency Coordinates

Maven

<dependency>
<groupId>com.oracle.cloud.spring</groupId>
<artifactId>spring-cloud-oci-starter</artifactId>
</dependency>

Gradle

dependencies {
implementation("com.oracle.cloud.spring:spring-cloud-oci-starter")
}

Authentication Configuration

Spring Cloud Oracle supports multiple OCI authentication strategies.

Configuration File Based Authentication

Configuration-file authentication is enabled by default. To set it explicitly:

spring.cloud.oci.config.type=FILE
spring.cloud.oci.config.profile=DEFAULT
spring.cloud.oci.config.file=<FILE_PATH>

For details about the OCI config file format, see the SDK and CLI configuration file documentation.

Simple Authentication

Use SIMPLE when you want to provide credentials directly via Spring configuration:

spring.cloud.oci.config.type=SIMPLE
spring.cloud.oci.config.userId=ocid1.user.oc1..<unique_ID>
spring.cloud.oci.config.tenantId=ocid1.tenancy.oc1..<unique_ID>
spring.cloud.oci.config.fingerprint=<FINGERPRINT>
spring.cloud.oci.config.privateKey=<PRIVATE_KEY_FILE_PATH>
spring.cloud.oci.config.passPhrase=<PASS_PHRASE>
spring.cloud.oci.config.region=<REGION>

All properties are required except spring.cloud.oci.config.passPhrase.

Instance Principal

spring.cloud.oci.config.type=INSTANCE_PRINCIPAL
spring.cloud.oci.config.federation-endpoint=https://auth.us-ashburn-1.oraclecloud.com

See OCI Instance Principal Authentication.

Resource Principal

spring.cloud.oci.config.type=RESOURCE_PRINCIPAL
spring.cloud.oci.config.federation-endpoint=https://auth.us-ashburn-1.oraclecloud.com

See OCI Resource Principal Authentication.

Session Token

spring.cloud.oci.config.type=SESSION_TOKEN

See the OCI session token authentication reference.

Workload Identity

spring.cloud.oci.config.type=WORKLOAD_IDENTITY
spring.cloud.oci.config.federation-endpoint=https://auth.us-ashburn-1.oraclecloud.com

See OKE Workload Identity Authentication.

Region Configuration

To set a region for the entire application:

spring.cloud.oci.region.static=us-ashburn-1

spring.cloud.oci.region.static takes precedence over spring.cloud.oci.config.region and the region in the OCI auth configuration file.

Compartment Configuration

To define a default compartment for OCI operations:

spring.cloud.oci.compartment.static=<COMPARTMENT_OCID>

Starters

StarterDescriptionArtifact
CoreAuto-configures OCI authentication and shared infrastructurecom.oracle.cloud.spring:spring-cloud-oci-starter
Object StorageIntegrates OCI Object Storage with Spring storage and resource APIscom.oracle.cloud.spring:spring-cloud-oci-starter-storage
Autonomous DatabaseProvides access to OCI Autonomous Database lifecycle operationscom.oracle.cloud.spring:spring-cloud-oci-starter-adb
VaultExposes OCI Vault as a Spring property source and API clientcom.oracle.cloud.spring:spring-cloud-oci-starter-vault
StreamingIntegrates OCI Streaming for producing and consuming recordscom.oracle.cloud.spring:spring-cloud-oci-starter-streaming
QueueIntegrates OCI Queue APIs for queue and message operationscom.oracle.cloud.spring:spring-cloud-oci-starter-queue
NotificationsPublishes notifications and manages topics and subscriptionscom.oracle.cloud.spring:spring-cloud-oci-starter-notification
LoggingSends application logs to OCI Loggingcom.oracle.cloud.spring:spring-cloud-oci-starter-logging
Email DeliveryImplements Spring mail integration on OCI Email Deliverycom.oracle.cloud.spring:spring-cloud-oci-starter-email
FunctionsInvokes OCI Functions from Spring applicationscom.oracle.cloud.spring:spring-cloud-oci-starter-function
Oracle NoSQL DatabaseAdds Spring Data style support for Oracle NoSQL Databasecom.oracle.cloud.spring:spring-cloud-oci-starter-nosql
Generative AIExposes OCI Generative AI chat and embedding modelscom.oracle.cloud.spring:spring-cloud-oci-starter-gen-ai

Learn by Example

The repository includes sample applications for the most important integrations:

IntegrationSample
Object Storagespring-cloud-oci-storage-sample
Notificationsspring-cloud-oci-notification-sample
Generative AIspring-cloud-oci-gen-ai-sample
Loggingspring-cloud-oci-logging-sample
Streamingspring-cloud-oci-streaming-sample
Functionsspring-cloud-oci-function-sample
Queuespring-cloud-oci-queue-sample
Autonomous Databasespring-cloud-oci-adb-sample
Vaultspring-cloud-oci-vault-sample

Each sample is intended to be deployable and to show both dependency setup and API usage in context.