2.0.0 (2024-06-23)
⚠ BREAKING CHANGES
- previously the default VPC strategy was used, but as
a database should always be in an isolated subnet, this default makes
a lot more sense. But will break code if your VPC does not have an
isolated subnet, and for example only has egress only subnets.
So provider now allows you to specify a vpcSubnet selection.
- cluster on role had to be the same anyway, any other
configuration would not have worked. But this breaks existing code.
Features
- add CDK custom resources to manage a PostgreSQL Aurora Serverless database (fad2cb3)
- add fromDatabaseName to database so we can add dependencies everywhere (ef5387e)
- add secretname property to role (2fccfb0)
- add secretname property to role (d6dd682)
- add support rds postgres instance union (#3) (6bc7c7c), closes #27
- allow default database name different from root user name (8f6e4ee)
- check if either database or databaseName is set (f7601c2)
- detect absence of a security group in an imported cluster (5b3271a)
- grant connect on given database to role (49a0932)
- make logging optional (ac1b9ef)
- make role's secret available via a property (3c25b23)
- place sql lambda handler explicitly in a private isolated network (2791bb9)
- provider.ts: enable lambda customization (037d900)
- release as version 1 so we get semantic versioning (2bd2e3a)
- remove cluster from role, and use cluster from provider (34cc647)
- require node 18 runtime (cdd2cca)
- retry role creation as this frequently fails with: tuple concurrently updated (6c66ebf)
- role: add databaseName again as this is still useful (021e519)
- sql: enable rollback (d491b62)
- support database clusters and Aurora Serverless v2 (ec9a8ac)
- support deleting database and role under more circumstances (f92eae2)
- update constructs to 10.3.0 and cdk to 2.124.0 (dac40d2)
- update node to v16 (28578c7)
- use npm as package manager instead of yarn (b4976c8)
Bug Fixes
- create role with login ability (ba76d07)
- grant explicit decrypt key permission when encryption key specified (875b453)
- handle case where role gets a login database that does not yet exist (18bcc57)
- load handler via relative path (b01732f)
- provider: depend on (ingress) security group (eedb493)
- provider: remove circular dependency (00153d0)
- recognise databaseName property when setting dbName property in secret (2c0df21)
- retry getting secret as IAM caching can fail just updated policies (0fab79d)
- retry longer as IAM update delays still happen after 1500ms (26e6ec7)
- role: allow delete from database not called postgres (0dbb680)
- role: allow role without db (7fa7102)
- role: remove dependency on secret, creates circular dependencies (5e8ee42)
- skip rename role name if rolename hasn't changed (d7b02e1)
- src/handler.ts: drop role with permissions (0424a3b)
- src/handler.ts: handle non-existent roles (953ad28)
- src/handler.ts: revert role behavior (bbe4927)
- support finding handler.js in SST (bfa2366)
- use __dirname to find handler (dbf1d18)
- use handler.ts file if we can find it, else assume handler.js (9f150a3)