dapr / components-contrib

Community driven, reusable components for distributed apps
Apache License 2.0
543 stars 470 forks source link

Support Amazon Aurora within Dapr #3254

Open sicoyle opened 9 months ago

sicoyle commented 9 months ago

Describe the feature

There currently is no support for Amazon Aurora within Dapr, ie. there is no state.aws.aurora. I wanted to create an issue to discuss the 2 options to introduce support for Amazon Aurora as a component.

  1. Update the PostgreSQL component with a light wrapper adding the required AWS auth fields
  2. Add a specific component for state.aws.aurora

What would be the preferred approach here?

Release Note

RELEASE NOTE: Add Amazon Aurora support within Dapr

sicoyle commented 9 months ago

Documenting the discussion on discord over to here:

Amazon Aurora supports multiple database technologies. Adding a generic Aurora component would introduce maintenance overhead that is unideal, and so there is a way to support it for the existing PostgreSQL component. Alternatively, this can become a new component that under the hood uses the shared postgres implementation (see CockroachDB for reference).

Reference code thanks to @berndverst

Additionally, Azure Postgres is supported using a new enableAzureAD metadata field. See below for reference for a corresponding "Amazon Postgres" implementation:

The above summary is compiled from the Discord discussion here: https://discord.com/channels/778680217417809931/781589820128493598/1181670307065499678

sicoyle commented 9 months ago

If someone could add the help wanted label, then that would be much appreciated!

yaron2 commented 9 months ago

Its best to use the existing component and add the required AWS configuration to it. If it can work transparently than great, if not then it can be set using metadata.

berndverst commented 9 months ago

Its best to use the existing component and add the required AWS configuration to it. If it can work transparently than great, if not then it can be set using metadata.

Yup. That was exactly my recommendation.

See entire thread starting here: https://discord.com/channels/778680217417809931/781589820128493598/1181677547818328134

sicoyle commented 6 months ago

/assign