Automatic Autonomous Wallet Download & Configuration with Micronaut

March 4, 2021 | 2 minute read
Text Size 100%:

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.

Configure Micronaut OCI Module

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:

Summary

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

Todd Sharp

Todd Sharp is a developer advocate for Oracle focusing on Oracle Cloud. He has worked with dynamic JVM languages and various JavaScript frameworks for more than 14 years, originally with ColdFusion and more recently with Java/Groovy/Grails on the server side. He lives in the Appalachian mountains of north Georgia (in the United States) with his wife and two children.


Previous Post

Podcast #387: Managing Massive Change, Thriving in Chaos

Jim Grisanzio | 2 min read

Next Post


Presenting at BNSF Technology Awareness Day for Students

Javed Mohammed | 2 min read