Releases: cloudposse/terraform-aws-rds-cluster
v2.1.1
🚀 Enhancements
Add output variable for `master_user_secret` @thedomeffm (#260)
## whatAdd 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
v2.1.0
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
v2.0.0
v1.18.0
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
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:  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:
references
v1.16.0
fix: reserved instance multi_az setting @oycyc (#248)
## whatUsing 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
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
🚀 Enhancements
fix: reserved instances restrictions @oycyc (#244)
## whatThis 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.
Additionally, Terraform will fail if user specifies the wrong engine type. There's no need for this check.
references
🐛 Bug Fixes
fix: reserved instances restrictions @oycyc (#244)
## whatThis 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.
Additionally, Terraform will fail if user specifies the wrong engine type. There's no need for this check.
references
v1.15.0
🚀 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
foraws_rds_reserved_instance
) Thank you @oycyc
🐛 Bug Fixes
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
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
fix: reserved instance output @oycyc (#240)
## whatwhy
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
Output instance endpoints, add attributes to `random_pet` that force a new instance @finchr (#236)
…new instancewhat
- 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.