Closed ekeren closed 6 months ago
What about an @winglibs/rds
instead? RDS is nice but a lot of wing usage is serverless and AWS's serverless postgres offering is pretty bad. Not to mention the inclusion of a RDS Proxy abstraction will likely make this useful in AWS only.
What about an @winglibs/rds instead? RDS is nice but a lot of wing usage is serverless and AWS's serverless postgres offering is pretty bad. Not to mention the inclusion of a RDS Proxy abstraction will likely make this useful in AWS only.
I don't have any strong opinion here, questions/issues:
I feels like bring sql;
is the right namespace for all these models
new sql.Postgress();
new sql.MySql();
new sql.SqlLite();
Isn't RDS proxy a non functional concern?
We will probably need to support both RDS and Aurora
I think this should be bring postgres
, because that's the intent of the developer. RDS is a specific implementation of postgres on AWS and theoretically, any Postgres installation should work if that's the surface area we expose.
I don't think we should put all of the SQL databases in the same library...
specific implementation
We have several winglibs that are intentionally (and named with) specific implementations even though they could technically fit as part of a broader abstraction
I think the best way to think about this is what is the surface area we want to expose to the application, and to my understanding the surface area is Postgress (the app uses the postgress client).
So from a developer standpoint, they are saying "I want a postgress database". The platform team can then decide how this postgres database is going to be deployed, and RDS is one of the options.
Are there RDS-specific APIs that the user would want to be able to use in preflight or inflight code? Here's a list I found on AWS's website: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html
If there are any in this list that seem useful for application code, and there are ways to model them in the simulator, then a separate winglib makes more sense. If not, then I'd lean towards packaging it as part of the postgres
winglib.
In the latter case, maybe the postgres
winglib could add a platform parameter for tf-aws
that lets you decide whether you want the implementation to use RDS or Neon.
Are there RDS-specific APIs that the user would want to be able to use in preflight or inflight code? Here's a list I found on AWS's website: https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html
I've asked the designated customer, and they said that they don't use any non postgress API
In the latter case, maybe the postgres winglib could add a platform parameter for tf-aws that lets you decide whether you want the implementation to use RDS or Neon.
@Chriscbr, this is quite similar to my original proposal beside the fact that I think that RDS should be the default.
Sounds good to me 👍 PRs welcome
Completed in https://github.com/winglang/winglibs/pull/219
Use Case
You can now use
@winglibs/postgress
for your RDS deployments on AWS, this release also include:connectionString
valueThis is a breaking change, while previous versions of
tf-aws
where creating a neon based DB, from now on the default if RDS, in order to override this, please use platform parametersProposed Solution
No response
Implementation Notes
No response
Component
Libraries
Community Notes