Skip to content

Releases: cloudposse/terraform-aws-rds-cluster

v2.1.1

08 Jul 04:50
7acb02d
Compare
Choose a tag to compare

🚀 Enhancements

Add output variable for `master_user_secret` @thedomeffm (#260) ## what

Add master_user_secret (renamed followed the cloudposse naming replacing master with admin) as output.

why

I want to add the secret to my beanstalk environment, but I can not reference the secret in terraform, because the master_user_secret is not available.

references

Add output block that contains the the secret ARN (see master_user_secret reference in the terraform docs).

... but it was not added 😢


I am not sure how to configure the output correctly, beacuse the value just exists when the manage_admin_user_password is true. Does the current implementation probably result in problems? My terraform knowledge is limited. 😅

🤖 Automatic Updates

Fix go version in tests @osterman (#265) ## what - Update go `1.24`

why

  • Error loading shared library libresolv.so.2 in Go 1.20

References

Replace Makefile with atmos.yaml @osterman (#264) ## what - Remove `Makefile` - Add `atmos.yaml`

why

  • Replace build-harness with atmos for readme genration

References

  • DEV-3229 Migrate from build-harness to atmos

v2.1.0

13 May 18:44
Compare
Choose a tag to compare
chore: add port output @nitrocode (#262) ## what
  • chore: add port output

why

  • It's better to grab the port from the output so I do not need to save the port to a local when calling the module, otherwise I'll have the port hard coded in two places

references

N/A

Reader independent scaling @jfcoz (#256) ## what

allow to scale reader independently from primary using promotion_tier >= 2

why

This allow to reduce costs

references

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.how-it-works.html#aurora-serverless-v2.how-it-works.scaling

v2.0.0

11 Mar 16:28
Compare
Choose a tag to compare
fix: bump hashicorp/aws to 5.61.0 @pazaan (#255) ## what

Bump hashicorp/aws to 5.61.0.

why

hashicorp/aws needs to be at least 5.61.0 to support performance_insights_enabled in aws_rds_cluster. This is in order to support the changes made in PR #250.

references

v1.18.0

05 Feb 06:27
6240bc4
Compare
Choose a tag to compare
fix: Add perfomance inside to primary cluster @djakielski (#250) ## what
  • Add performace inside config also on primary cluster

why

  • had issues with incompatible cluster and instance parameter
  • you can enable performance inside on cluster

references

v1.17.0

17 Dec 13:03
cb92b8a
Compare
Choose a tag to compare
fix: reserved instances, aurora rds specifics @oycyc (#249) ## what RDS Reserved Instances multi AZ mode is never available for Aurora engines, see images on the console - this PR checks to ensure that it is set to false if the engine is Aurora: ![image](https://github.com/user-attachments/assets/58a2ebb4-400a-41ba-8b07-1560700d16a1) ![image](https://github.com/user-attachments/assets/66bdf1df-1a22-4757-91fc-cd91e540a2bf)

why

That configuration isn't really applicable anyways since this statement from the AWS docs https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithReservedDBInstances.html:
image

references

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_WorkingWithReservedDBInstances.html

v1.16.0

13 Dec 19:16
4373b2b
Compare
Choose a tag to compare
fix: reserved instance multi_az setting @oycyc (#248) ## what

Using local.is_regional_cluster to determine whether or not it is Multi-AZ is not accurate. local.is_regional_cluster only checks if var.cluster_type == "regional", which determines if this is a regional vs global cluster

I could have a regional cluster, but it is NOT multi-az. One determining factor is how many instances in the cluster, if ever more than 1 in a single cluster, then it has to be in multiple AZs. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html

image

why

If I have a regional cluster, this thinks that it's ALWAYS multi-az, which is not true.

references

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html

v1.15.1

12 Dec 15:45
75cc76a
Compare
Choose a tag to compare

🚀 Enhancements

fix: reserved instances restrictions @oycyc (#244) ## what

This conditional check on whether or not to enable reserved instances is too restrictive. contains(["mysql", "postgresql"], local.reserved_instance_engine) is saying that only allow it if it is MySQL or PostgreSQL.

I think contains was originally meant to be like in the literal sense of "contains". Since in my case, I'm using aurora-postgresql, and it fails this check, yet it is one of the options for reserved instances.

why

endswith might be better, but it is TOO restrictive, seeing that there's so many options.
image
Additionally, Terraform will fail if user specifies the wrong engine type. There's no need for this check.

image

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_reserved_instance_offering

🐛 Bug Fixes

fix: reserved instances restrictions @oycyc (#244) ## what

This conditional check on whether or not to enable reserved instances is too restrictive. contains(["mysql", "postgresql"], local.reserved_instance_engine) is saying that only allow it if it is MySQL or PostgreSQL.

I think contains was originally meant to be like in the literal sense of "contains". Since in my case, I'm using aurora-postgresql, and it fails this check, yet it is one of the options for reserved instances.

why

endswith might be better, but it is TOO restrictive, seeing that there's so many options.
image
Additionally, Terraform will fail if user specifies the wrong engine type. There's no need for this check.

image

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/rds_reserved_instance_offering

v1.15.0

09 Dec 18:34
22dc338
Compare
Choose a tag to compare

🚀 Enhancements

  • Implement and close #237 (add option for local write forwarding) Thank you @Junaid-Tem
  • Implement and close #239 (allow the configuration of reservation_id for aws_rds_reserved_instance) Thank you @oycyc

🐛 Bug Fixes

  • Partly revert #236 (see discussion below). Closes #241
Multiple cleanups @Nuru (#242) ## what
  • Partly revert #236 (see discussion below)
  • Allow explicitly naming parameter group
  • Use full name of engine for reserved DB instances
  • Implement and close #197
  • Implement and close #199
  • Implement and close #230 Thank you @raymondchen625

why

  • Closes #241
  • Closes #225
  • Instance engine should match cluster engine
  • Consolidate PRs

discussion: why partially revert #236?

PR #236 enhanced the random_pet that determines part of the name of the DB instances so that the name would change whenever the instances would need to be recreated. Unfortunately, as a side-effect, that causes all instances created with earlier versions of this module to be replaced.

Upon further investigation, it was determined that all the "keepers" added by the PR would also force the cluster to be replaced. Unlike replacing an instance, replacing the cluster results in data loss. Also, unless you change the name of the cluster, the module both before and after the PR would fail, because it would try to create a new cluster with the same name before destroying the old cluster.

We prefer this failure mode, requiring the user to explicitly destroy the cluster before creating the new one, because it puts the user on notice about the potential data loss. So given that the changes in the PR did not make something work that did not work before, and it did cause disruption, we reverted the change to the keepers.

v1.14.0

04 Dec 17:52
f04ac08
Compare
Choose a tag to compare
fix: reserved instance output @oycyc (#240) ## what

Fix the output
image

How it will look with this:
image

why

It does not need to be a join with a [*] this will cause error, just referring to it with the resource name will output everything as one object.

references

See the Terraform provider docs https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/rds_reserved_instance#attribute-reference

v1.13.0

09 Nov 00:00
Compare
Choose a tag to compare
Output instance endpoints, add attributes to `random_pet` that force a new instance @finchr (#236) …new instance

what

  • output instance endpoints
  • add aws_rds_cluster_instance attributes that force a new instance to the randmon_pet resource.

why

  • I need the actual instance endpoints for the Datadog DMS integration, the default dashboards work better with the exact instance identifier.
  • Currently if any of these attributes change (db_subnet_group_name, engine) it will bypass the random_pet and attempt to create instances with the same identifier.

references