Back in September, we announced the Micronaut Oracle Cloud Infrastructure module to help developers easily integrate with the OCI SDK as well as use Micronaut for their serverless Oracle Functions. Today, I’m super excited to tell you about an enhancement to that module that is guaranteed to make your life easier and your application more secure when it’s time to connect your Micronaut applications with Autonomous Database - automatic wallet download. That’s right, you no longer have to manually download your wallet and worry about how to distribute it with your application. Just configure your application to use the OCI SDK module, provide your Autonomous DB OCID, DB username and password and Micronaut will download the wallet, store it in memory, and handle creating your connect string and connecting to the DB. Let’s look at a quick example.
To get started, include a dependency on the module in your build.gradle
:
Now determine which type of auth provider you’ll use. Since I have the OCI CLI configured locally, I use a ConfigFileAuthenticationDetailsProvider
, so I add the following to my src/main/resources/application.yml
file.
When I deploy to the cloud, I use a InstancePrincipalsAuthenticationDetailsProvider
by creating a file called src/main/resources/application-oraclecloud.yml
which Micronaut is intelligent enough to use once I deploy to the Oracle Cloud.
Next, add a dependency on the ATP module:
And don’t forget your OJDBC drivers:
And something for connection pooling:
Finally, add a datasource. As mentioned above, you’ll need to provide the OCID for your DB, a schema user and password and a strong password that will be used to encrypt the keys in your wallet.
That’s it! Now start your app and you should notice an entry in the console output when the connection is configured:
In this post, we looked at how to configure a Micronaut application to securely connect to an Autonomous DB instance by automatically downloading, storing and configuring a wallet. To read more about this feature, please refer to the Micronaut documentation.
Photo by Almos Bechtold on Unsplash