Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AWS JDBC Wrapper Driver Support for Aurora Postgres/MSSQL with Hibernate ORM #1201

Closed
rorychatterton opened this issue Apr 1, 2024 · 3 comments
Labels

Comments

@rorychatterton
Copy link

This issue is a request to provide wrapper to Mysql & Postgres data sources to use the AWS JDBC Wrapper Driver.

Why?

The JDBC Wrapper driver provides additional support for connectivity to AWS Aurora hosted databases with features like:

  • Cluster Failover
  • AWS Secrets Manager Credential Management for database
  • IAM Authentication Token authentication for database
  • Failover Monitoring

Approach

I imagine this would be a case of adding an additional wrapper around the existing Postgres and MySQL.

We might then consume the uplifted driver like:

Postgres
implementation("io.quarkus", "quarkus-jdbc-postgresql")
implementation("io.quarkiverse.amazonservices", "quarkus-jdbc-postgresql-aurora")

MySQL
implementation("io.quarkus", "quarkus-jdbc-mysql")
implementation("io.quarkiverse.amazonservices", "quarkus-jdbc-mysql-aurora")

Plugin Parameters

A number of options are exposed using AWS JDBCDriver Parameters (normally injected into the data source on creation).

These could be exposed as properties to be configurable by the end consumer to enable/disable specific features and plugins

Other

The Hibernate ORM documentation warns against defining a custom ORM datasource as it is likely to fail the GraalVM build.

I am not super confident in my graalvm knowledge, but do believe this would be useful for the community.

@scrocquesel
Copy link
Member

I believe this falls somewhat outside the scope of this project, which primarily focuses on providing support for the AWS SDK. I guess the JDBC driver deserves a new Quarkiverse project by its own.

Thought, it appears to leverage the AWS SDK internally (at least for RDS, STS, and AUTH). STS, is already supported with GraalVM substitution. We do have an open call for contributions regarding RDS. And AUTH could be added as necessary.

@rorychatterton
Copy link
Author

I wasn't too sure whether it constituted its own extension or not, as I imagine it will end up being quite a small plugin.

If I manage to get a version of this working (Assuming RDS and Auth are also covered), would you be open to a pull request for this feature?

Otherwise I'll close the Issue, and if I get it working, investigate opening an extension.

Copy link

github-actions bot commented Jun 2, 2024

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants