github cloudposse/terraform-aws-route53-cluster-zone 0.15.0
v0.15.0

latest releases: 0.16.1, v0, 0.16.0...
2 years ago
git.io->cloudposse.tools update @dylanbannon (#54)

what and why

Change all references to git.io/build-harness into cloudposse.tools/build-harness, since git.io redirects will stop working on April 29th, 2022.

References

  • DEV-143

🚀 Enhancements

don't fail if parent_zone_name is not provided @kevcube (#51)

what

  • because var.parent_zone_name is not required by the module as of #33, let the module work if it's not provided.

why

  • to use the module with a parent zone that is managed elsewhere,
  parent_zone_record_enabled = false
  zone_name                  = "$${stage}.example.com

INSTEAD OF...

  parent_zone_name           = "example.com"
  parent_zone_record_enabled = false
  zone_name                  = "$${stage}.$${parent_zone_name}"

alternatives considered

  • main.tf:25
    "$${parent_zone_name}", coalesce(join("", data.aws_route53_zone.parent_zone.*.name), var.parent_zone_name, "no_parent_zone_name")),
  • I consider removing one of var.parent_zone_id or var.parent_zone_name because offering both can lead to conflict or confusion. If var.parent_zone_id is removed, then we can always rely on var.parent_zone_name instead of coalescing with the output of the data.aws_route53_zone.parent_zone
feat: allow overriding SOA and NS DNS record TTL @bartelemi (#49)

what

  • Provide variables to configure TTL for SOA and NS records
  • Original PR: Change default values of TTL for NS from 30 seconds to 2 days (172800 seconds)
  • Original PR: Change default values of TTL for SOA from 60 seconds to 15 minutes (900 seconds)
  • Preserve previously-hardcoded TTLs as defaults (@osterman @korenyoni) — see below
  • Added the tenant context variable to the zone name template - maybe someone will need it :)

why

Original PR: These values were hardcoded and with too small default values. DNS is supposed to be a cache, and having a low TTL of records like NS or SOA contradicts that idea.

The previously-hardcoded low TTLs are values preferred by Cloud Posse as low TTLs lead to better availability in the event of a negative DNS response, such that the negative DNS answer will not be cached for an extended period of time (see @osterman's comments in this thread).

AWS defaults for TTL:

NS - 172800s
SOA - 900s

Clousposse's defaults:

NS - 60s
SOA - 30s

references

Closes #46

Previous PR has some weird permission issues which I couldn't solve, so I forked it again into a new repo and applied the same changes.

Don't miss a new terraform-aws-route53-cluster-zone release

NewReleases is sending notifications on new releases.