Changelog¶
All notable changes to this project will be documented in this file.
[1.3.0] - 2026-03-23¶
Documentation¶
- Add comprehensive documentation, architecture diagram, and examples
- Add checkov config with skip rules for lock table
Ci¶
- Drop aws-5 tests
[1.2.1] - 2026-01-22¶
Bug Fixes¶
- Optimize Lambda memory usage and add lock TTL for graceful failures
Miscellaneous Tasks¶
[1.2.0] - 2025-11-26¶
Features¶
- Add route53_hostname_prefixes for multiple DNS records per instance (#36)
[1.2.0] - 2025-11-25¶
Features¶
- Add route53_hostname_prefixes variable to create multiple DNS records with different prefixes for the same instance IP (#TBD)
- Useful for creating multiple service names (e.g., "ip", "api", "web") pointing to the same instance
- Default:
["ip"]maintains 100% backward compatibility - Applies consistently to both
_PrivateDnsName_and_PublicDnsName_ - All records are automatically deleted when instance terminates
Changed¶
- Lambda function now supports creating and deleting multiple DNS records per instance
- Add route53_hostname_prefixes output to verify configuration
- Update resolve_hostnames() to apply prefixes consistently for both private and public IPs
- Add validation to prevent duplicate prefixes in route53_hostname_prefixes
- Enhance prefix validation to comply with DNS label standards (no leading/trailing hyphens, max 63 chars)
[1.1.1] - 2025-11-15¶
Bug Fixes¶
- DNS records not deleted on instance termination (#33)
[1.1.0] - 2025-11-15¶
Features¶
- Add PublicDnsName special value for route53_hostname (#32)
Miscellaneous Tasks¶
- Update dependency python to 3.14 (#31)
[1.0.1] - 2025-11-14¶
Refactor¶
- Improve release workflow with git-cliff and bumpversion integration
[1.0.0] - 2025-11-14¶
[1.0.0] - 2025-11-13¶
Features¶
- Migrate to terraform-aws-lambda-monitored module (#29)
[Unreleased]¶
Features¶
- Add support for PublicDnsName special value in route53_hostname variable
- Automatically generates hostnames based on instance public IP (e.g., ip-80-90-1-1 for IP 80.90.1.1)
- Works alongside existing PrivateDnsName special value
- Automatically uses public subnets and public IPs when PublicDnsName is specified
- Migrate to terraform-aws-lambda-monitored module
- Add CloudWatch alarms for Lambda errors, throttles, and duration
- Add SNS topic for Lambda monitoring alerts
- Add alarm_emails variable for monitoring notifications
- Add alert_strategy variable (immediate or threshold)
- Export CloudWatch alarm ARNs as map output
- Export SNS topic ARN
- Export Lambda role name
Bug Fixes¶
- Fix DNS records not being deleted when instances are terminated
- The
get_instance_ip()function now properly falls back to instance tags when the IP address isNoneduring instance termination - Resolves issue where orphaned DNS records remained in Route53 after manual instance termination
- Adds integration test
test_dns_record_deletion_on_manual_terminationto verify proper DNS cleanup - Update test suite to use pytest-infrahouse subzone fixture
- Replace test_zone data source lookup with direct zone_id variable
Refactor¶
- Remove custom Lambda packaging infrastructure (lambda_code.tf)
- Remove package_update_dns.sh script
- Simplify IAM role management (use module-provided role with custom policy attachment)
- Update CloudWatch log group management (module handles creation)
Miscellaneous Tasks¶
- Add test log output for test-keep and test-clean targets
- Add release-patch, release-minor, release-major targets
- Add cliff.toml for automated changelog generation
[0.11.1] - 2024-06-12¶
Previous version before migration to terraform-aws-lambda-monitored.