From 3ebed1f44d4244f26e943a1a4c853167b7f7dc6c Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Thu, 14 Dec 2023 17:26:50 -0600 Subject: [PATCH] Update to ACK runtime `v0.28.0`, code-generator `v0.28.0` (#33) ### Update to ACK runtime `v0.28.0`, code-generator `v0.28.0` ---------- * ACK code-generator `v0.28.0` [release notes](https://github.com/aws-controllers-k8s/code-generator/releases/tag/v0.28.0) * ACK runtime `v0.28.0` [release notes](https://github.com/aws-controllers-k8s/runtime/releases/tag/v0.28.0) ---------- NOTE: This PR increments the release version of service controller from `v0.0.8` to `v0.0.9` Once this PR is merged, release `v0.0.9` will be automatically created for `route53-controller` **Please close this PR, if you do not want the new patch release for `route53-controller`** ---------- #### stdout for `make build-controller`: ``` building ack-generate ... ok. ==== building route53-controller ==== Copying common custom resource definitions into route53 Building Kubernetes API objects for route53 Generating deepcopy code for route53 Generating custom resource definitions for route53 Building service controller for route53 Generating RBAC manifests for route53 Running gofmt against generated code for route53 Updating additional GitHub repository maintenance files ==== building route53-controller release artifacts ==== Building release artifacts for route53-v0.0.9 Generating common custom resource definitions Generating custom resource definitions for route53 Generating RBAC manifests for route53 ``` ---------- By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. --- apis/v1alpha1/ack-generate-metadata.yaml | 12 +++++----- apis/v1alpha1/enums.go | 24 +++++++++++++++++++ apis/v1alpha1/hosted_zone.go | 5 ++++ apis/v1alpha1/record_set.go | 3 --- config/controller/kustomization.yaml | 2 +- .../route53.services.k8s.aws_hostedzones.yaml | 7 +++++- .../route53.services.k8s.aws_recordsets.yaml | 10 ++++---- go.mod | 12 +++++----- go.sum | 24 +++++++++---------- helm/Chart.yaml | 4 ++-- .../route53.services.k8s.aws_hostedzones.yaml | 7 +++++- .../route53.services.k8s.aws_recordsets.yaml | 10 ++++---- helm/templates/NOTES.txt | 2 +- helm/values.yaml | 2 +- pkg/resource/record_set/delta.go | 12 ++++++++-- 15 files changed, 88 insertions(+), 48 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 98e8704..c32c419 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,11 +1,11 @@ ack_generate_info: - build_date: "2023-11-08T12:14:15Z" - build_hash: 5237888d7dc7edb63fc1b36da5c49e3f258cc45d - go_version: go1.21.0 - version: v0.27.1-4-g5237888 -api_directory_checksum: 5a419e4b3bdc623d981b9ee5d0ef847bd4dc0bba + build_date: "2023-12-14T22:02:04Z" + build_hash: 1f16813c807af6889060b4ce7ded2a69dc027d8c + go_version: go1.21.5 + version: v0.28.0 +api_directory_checksum: 7af528570a707bccda3cf78442be0ac40262981e api_version: v1alpha1 -aws_sdk_go_version: v1.44.93 +aws_sdk_go_version: v1.49.0 generator_config_info: file_checksum: 3120a47920b44a81bac54b6e49261a4592315002 original_file_name: generator.yaml diff --git a/apis/v1alpha1/enums.go b/apis/v1alpha1/enums.go index bc41a5b..cfd4027 100644 --- a/apis/v1alpha1/enums.go +++ b/apis/v1alpha1/enums.go @@ -56,12 +56,15 @@ const ( CloudWatchRegion_us_west_2 CloudWatchRegion = "us-west-2" CloudWatchRegion_ca_central_1 CloudWatchRegion = "ca-central-1" CloudWatchRegion_eu_central_1 CloudWatchRegion = "eu-central-1" + CloudWatchRegion_eu_central_2 CloudWatchRegion = "eu-central-2" CloudWatchRegion_eu_west_1 CloudWatchRegion = "eu-west-1" CloudWatchRegion_eu_west_2 CloudWatchRegion = "eu-west-2" CloudWatchRegion_eu_west_3 CloudWatchRegion = "eu-west-3" CloudWatchRegion_ap_east_1 CloudWatchRegion = "ap-east-1" CloudWatchRegion_me_south_1 CloudWatchRegion = "me-south-1" + CloudWatchRegion_me_central_1 CloudWatchRegion = "me-central-1" CloudWatchRegion_ap_south_1 CloudWatchRegion = "ap-south-1" + CloudWatchRegion_ap_south_2 CloudWatchRegion = "ap-south-2" CloudWatchRegion_ap_southeast_1 CloudWatchRegion = "ap-southeast-1" CloudWatchRegion_ap_southeast_2 CloudWatchRegion = "ap-southeast-2" CloudWatchRegion_ap_southeast_3 CloudWatchRegion = "ap-southeast-3" @@ -74,11 +77,14 @@ const ( CloudWatchRegion_cn_north_1 CloudWatchRegion = "cn-north-1" CloudWatchRegion_af_south_1 CloudWatchRegion = "af-south-1" CloudWatchRegion_eu_south_1 CloudWatchRegion = "eu-south-1" + CloudWatchRegion_eu_south_2 CloudWatchRegion = "eu-south-2" CloudWatchRegion_us_gov_west_1 CloudWatchRegion = "us-gov-west-1" CloudWatchRegion_us_gov_east_1 CloudWatchRegion = "us-gov-east-1" CloudWatchRegion_us_iso_east_1 CloudWatchRegion = "us-iso-east-1" CloudWatchRegion_us_iso_west_1 CloudWatchRegion = "us-iso-west-1" CloudWatchRegion_us_isob_east_1 CloudWatchRegion = "us-isob-east-1" + CloudWatchRegion_ap_southeast_4 CloudWatchRegion = "ap-southeast-4" + CloudWatchRegion_il_central_1 CloudWatchRegion = "il-central-1" ) type ComparisonOperator string @@ -123,6 +129,12 @@ const ( HostedZoneLimitType_MAX_VPCS_ASSOCIATED_BY_ZONE HostedZoneLimitType = "MAX_VPCS_ASSOCIATED_BY_ZONE" ) +type HostedZoneType string + +const ( + HostedZoneType_PrivateHostedZone HostedZoneType = "PrivateHostedZone" +) + type InsufficientDataHealthStatus string const ( @@ -177,6 +189,7 @@ const ( ResourceRecordSetRegion_eu_west_2 ResourceRecordSetRegion = "eu-west-2" ResourceRecordSetRegion_eu_west_3 ResourceRecordSetRegion = "eu-west-3" ResourceRecordSetRegion_eu_central_1 ResourceRecordSetRegion = "eu-central-1" + ResourceRecordSetRegion_eu_central_2 ResourceRecordSetRegion = "eu-central-2" ResourceRecordSetRegion_ap_southeast_1 ResourceRecordSetRegion = "ap-southeast-1" ResourceRecordSetRegion_ap_southeast_2 ResourceRecordSetRegion = "ap-southeast-2" ResourceRecordSetRegion_ap_southeast_3 ResourceRecordSetRegion = "ap-southeast-3" @@ -189,9 +202,14 @@ const ( ResourceRecordSetRegion_cn_northwest_1 ResourceRecordSetRegion = "cn-northwest-1" ResourceRecordSetRegion_ap_east_1 ResourceRecordSetRegion = "ap-east-1" ResourceRecordSetRegion_me_south_1 ResourceRecordSetRegion = "me-south-1" + ResourceRecordSetRegion_me_central_1 ResourceRecordSetRegion = "me-central-1" ResourceRecordSetRegion_ap_south_1 ResourceRecordSetRegion = "ap-south-1" + ResourceRecordSetRegion_ap_south_2 ResourceRecordSetRegion = "ap-south-2" ResourceRecordSetRegion_af_south_1 ResourceRecordSetRegion = "af-south-1" ResourceRecordSetRegion_eu_south_1 ResourceRecordSetRegion = "eu-south-1" + ResourceRecordSetRegion_eu_south_2 ResourceRecordSetRegion = "eu-south-2" + ResourceRecordSetRegion_ap_southeast_4 ResourceRecordSetRegion = "ap-southeast-4" + ResourceRecordSetRegion_il_central_1 ResourceRecordSetRegion = "il-central-1" ) type ReusableDelegationSetLimitType string @@ -228,6 +246,7 @@ const ( VPCRegion_eu_west_2 VPCRegion = "eu-west-2" VPCRegion_eu_west_3 VPCRegion = "eu-west-3" VPCRegion_eu_central_1 VPCRegion = "eu-central-1" + VPCRegion_eu_central_2 VPCRegion = "eu-central-2" VPCRegion_ap_east_1 VPCRegion = "ap-east-1" VPCRegion_me_south_1 VPCRegion = "me-south-1" VPCRegion_us_gov_west_1 VPCRegion = "us-gov-west-1" @@ -235,10 +254,12 @@ const ( VPCRegion_us_iso_east_1 VPCRegion = "us-iso-east-1" VPCRegion_us_iso_west_1 VPCRegion = "us-iso-west-1" VPCRegion_us_isob_east_1 VPCRegion = "us-isob-east-1" + VPCRegion_me_central_1 VPCRegion = "me-central-1" VPCRegion_ap_southeast_1 VPCRegion = "ap-southeast-1" VPCRegion_ap_southeast_2 VPCRegion = "ap-southeast-2" VPCRegion_ap_southeast_3 VPCRegion = "ap-southeast-3" VPCRegion_ap_south_1 VPCRegion = "ap-south-1" + VPCRegion_ap_south_2 VPCRegion = "ap-south-2" VPCRegion_ap_northeast_1 VPCRegion = "ap-northeast-1" VPCRegion_ap_northeast_2 VPCRegion = "ap-northeast-2" VPCRegion_ap_northeast_3 VPCRegion = "ap-northeast-3" @@ -248,4 +269,7 @@ const ( VPCRegion_cn_north_1 VPCRegion = "cn-north-1" VPCRegion_af_south_1 VPCRegion = "af-south-1" VPCRegion_eu_south_1 VPCRegion = "eu-south-1" + VPCRegion_eu_south_2 VPCRegion = "eu-south-2" + VPCRegion_ap_southeast_4 VPCRegion = "ap-southeast-4" + VPCRegion_il_central_1 VPCRegion = "il-central-1" ) diff --git a/apis/v1alpha1/hosted_zone.go b/apis/v1alpha1/hosted_zone.go index dfdd1ed..42dadaa 100644 --- a/apis/v1alpha1/hosted_zone.go +++ b/apis/v1alpha1/hosted_zone.go @@ -29,6 +29,11 @@ type HostedZoneSpec struct { // the ID that Amazon Route 53 assigned to the reusable delegation set when // you created it. For more information about reusable delegation sets, see // CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html). + // + // If you are using a reusable delegation set to create a public hosted zone + // for a subdomain, make sure that the parent hosted zone doesn't use one or + // more of the same name servers. If you have overlapping nameservers, the operation + // will cause a ConflictingDomainsExist error. DelegationSetID *string `json:"delegationSetID,omitempty"` // (Optional) A complex type that contains the following optional values: // diff --git a/apis/v1alpha1/record_set.go b/apis/v1alpha1/record_set.go index 90ef786..a62ba2f 100644 --- a/apis/v1alpha1/record_set.go +++ b/apis/v1alpha1/record_set.go @@ -338,9 +338,6 @@ type RecordSetSpec struct { // an ELB load balancer, and is referred to by an IP address or a DNS domain // name, depending on the record type. // - // Although creating latency and latency alias resource record sets in a private - // hosted zone is allowed, it's not supported. - // // When Amazon Route 53 receives a DNS query for a domain name and type for // which you have created latency resource record sets, Route 53 selects the // latency resource record set that has the lowest latency between the end user diff --git a/config/controller/kustomization.yaml b/config/controller/kustomization.yaml index 862f7f3..f35e3d8 100644 --- a/config/controller/kustomization.yaml +++ b/config/controller/kustomization.yaml @@ -6,4 +6,4 @@ kind: Kustomization images: - name: controller newName: public.ecr.aws/aws-controllers-k8s/route53-controller - newTag: 0.0.8 + newTag: 0.0.9 diff --git a/config/crd/bases/route53.services.k8s.aws_hostedzones.yaml b/config/crd/bases/route53.services.k8s.aws_hostedzones.yaml index bb2af2c..3a4f50d 100644 --- a/config/crd/bases/route53.services.k8s.aws_hostedzones.yaml +++ b/config/crd/bases/route53.services.k8s.aws_hostedzones.yaml @@ -38,10 +38,15 @@ spec: zone." properties: delegationSetID: - description: If you want to associate a reusable delegation set with + description: "If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html). + \n If you are using a reusable delegation set to create a public + hosted zone for a subdomain, make sure that the parent hosted zone + doesn't use one or more of the same name servers. If you have overlapping + nameservers, the operation will cause a ConflictingDomainsExist + error." type: string hostedZoneConfig: description: "(Optional) A complex type that contains the following diff --git a/config/crd/bases/route53.services.k8s.aws_recordsets.yaml b/config/crd/bases/route53.services.k8s.aws_recordsets.yaml index 7ab125d..8c6ecfe 100644 --- a/config/crd/bases/route53.services.k8s.aws_recordsets.yaml +++ b/config/crd/bases/route53.services.k8s.aws_recordsets.yaml @@ -422,12 +422,10 @@ spec: set refers to. The resource typically is an Amazon Web Services resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on - the record type. \n Although creating latency and latency alias - resource record sets in a private hosted zone is allowed, it's not - supported. \n When Amazon Route 53 receives a DNS query for a domain - name and type for which you have created latency resource record - sets, Route 53 selects the latency resource record set that has - the lowest latency between the end user and the associated Amazon + the record type. \n When Amazon Route 53 receives a DNS query for + a domain name and type for which you have created latency resource + record sets, Route 53 selects the latency resource record set that + has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. \n Note the following: \n * You can only specify one ResourceRecord per latency resource record diff --git a/go.mod b/go.mod index 579cda8..19c245d 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,8 @@ module github.com/aws-controllers-k8s/route53-controller go 1.19 require ( - github.com/aws-controllers-k8s/runtime v0.27.1 - github.com/aws/aws-sdk-go v1.44.93 + github.com/aws-controllers-k8s/runtime v0.28.0 + github.com/aws/aws-sdk-go v1.49.0 github.com/go-logr/logr v1.2.3 github.com/spf13/pflag v1.0.5 k8s.io/api v0.26.8 @@ -54,11 +54,11 @@ require ( go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.24.0 // indirect golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect - golang.org/x/net v0.8.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/term v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/go.sum b/go.sum index 3ddbea2..bfdd4da 100644 --- a/go.sum +++ b/go.sum @@ -38,10 +38,10 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/aws-controllers-k8s/runtime v0.27.1 h1:tvJRQDioBFkob0kF4DwgS7MsoXZKwkG5QCHWxFEh+2o= -github.com/aws-controllers-k8s/runtime v0.27.1/go.mod h1:oSCqCzbzJLUrzv+cx4TIxCuSUvL75ABJmhxBc87IRqc= -github.com/aws/aws-sdk-go v1.44.93 h1:hAgd9fuaptBatSft27/5eBMdcA8+cIMqo96/tZ6rKl8= -github.com/aws/aws-sdk-go v1.44.93/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws-controllers-k8s/runtime v0.28.0 h1:QhtZDwF4TId5rBW924FMMKWFb0PGTtclVj+Cyj3bRaI= +github.com/aws-controllers-k8s/runtime v0.28.0/go.mod h1:OYbm782YcAQDN1M5k3lttI16FcLoiRqrIQL0DvU3+Lg= +github.com/aws/aws-sdk-go v1.49.0 h1:g9BkW1fo9GqKfwg2+zCD+TW/D36Ux+vtfJ8guF4AYmY= +github.com/aws/aws-sdk-go v1.49.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -369,8 +369,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -431,12 +431,12 @@ golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -444,8 +444,8 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 909ca0b..d1eb818 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: route53-chart description: A Helm chart for the ACK service controller for Amazon Route53 (Route53) -version: 0.0.8 -appVersion: 0.0.8 +version: 0.0.9 +appVersion: 0.0.9 home: https://github.com/aws-controllers-k8s/route53-controller icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png sources: diff --git a/helm/crds/route53.services.k8s.aws_hostedzones.yaml b/helm/crds/route53.services.k8s.aws_hostedzones.yaml index 8e9b122..2c5248e 100644 --- a/helm/crds/route53.services.k8s.aws_hostedzones.yaml +++ b/helm/crds/route53.services.k8s.aws_hostedzones.yaml @@ -38,10 +38,15 @@ spec: zone." properties: delegationSetID: - description: If you want to associate a reusable delegation set with + description: "If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet (https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html). + \n If you are using a reusable delegation set to create a public + hosted zone for a subdomain, make sure that the parent hosted zone + doesn't use one or more of the same name servers. If you have overlapping + nameservers, the operation will cause a ConflictingDomainsExist + error." type: string hostedZoneConfig: description: "(Optional) A complex type that contains the following diff --git a/helm/crds/route53.services.k8s.aws_recordsets.yaml b/helm/crds/route53.services.k8s.aws_recordsets.yaml index 5c56569..4043a60 100644 --- a/helm/crds/route53.services.k8s.aws_recordsets.yaml +++ b/helm/crds/route53.services.k8s.aws_recordsets.yaml @@ -423,12 +423,10 @@ spec: set refers to. The resource typically is an Amazon Web Services resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on - the record type. \n Although creating latency and latency alias - resource record sets in a private hosted zone is allowed, it's not - supported. \n When Amazon Route 53 receives a DNS query for a domain - name and type for which you have created latency resource record - sets, Route 53 selects the latency resource record set that has - the lowest latency between the end user and the associated Amazon + the record type. \n When Amazon Route 53 receives a DNS query for + a domain name and type for which you have created latency resource + record sets, Route 53 selects the latency resource record set that + has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. \n Note the following: \n - You can only specify one ResourceRecord per latency resource record diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt index 73c137e..80586ae 100644 --- a/helm/templates/NOTES.txt +++ b/helm/templates/NOTES.txt @@ -1,5 +1,5 @@ {{ .Chart.Name }} has been installed. -This chart deploys "public.ecr.aws/aws-controllers-k8s/route53-controller:0.0.8". +This chart deploys "public.ecr.aws/aws-controllers-k8s/route53-controller:0.0.9". Check its status by running: kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/helm/values.yaml b/helm/values.yaml index 26cd177..b7a50ec 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/route53-controller - tag: 0.0.8 + tag: 0.0.9 pullPolicy: IfNotPresent pullSecrets: [] diff --git a/pkg/resource/record_set/delta.go b/pkg/resource/record_set/delta.go index bba744a..a67015d 100644 --- a/pkg/resource/record_set/delta.go +++ b/pkg/resource/record_set/delta.go @@ -71,8 +71,12 @@ func newResourceDelta( if ackcompare.HasNilDifference(a.ko.Spec.ChangeBatch, b.ko.Spec.ChangeBatch) { delta.Add("Spec.ChangeBatch", a.ko.Spec.ChangeBatch, b.ko.Spec.ChangeBatch) } else if a.ko.Spec.ChangeBatch != nil && b.ko.Spec.ChangeBatch != nil { - if !reflect.DeepEqual(a.ko.Spec.ChangeBatch.Changes, b.ko.Spec.ChangeBatch.Changes) { + if len(a.ko.Spec.ChangeBatch.Changes) != len(b.ko.Spec.ChangeBatch.Changes) { delta.Add("Spec.ChangeBatch.Changes", a.ko.Spec.ChangeBatch.Changes, b.ko.Spec.ChangeBatch.Changes) + } else if len(a.ko.Spec.ChangeBatch.Changes) > 0 { + if !reflect.DeepEqual(a.ko.Spec.ChangeBatch.Changes, b.ko.Spec.ChangeBatch.Changes) { + delta.Add("Spec.ChangeBatch.Changes", a.ko.Spec.ChangeBatch.Changes, b.ko.Spec.ChangeBatch.Changes) + } } if ackcompare.HasNilDifference(a.ko.Spec.ChangeBatch.Comment, b.ko.Spec.ChangeBatch.Comment) { delta.Add("Spec.ChangeBatch.Comment", a.ko.Spec.ChangeBatch.Comment, b.ko.Spec.ChangeBatch.Comment) @@ -177,8 +181,12 @@ func newResourceDelta( delta.Add("Spec.Region", a.ko.Spec.Region, b.ko.Spec.Region) } } - if !reflect.DeepEqual(a.ko.Spec.ResourceRecords, b.ko.Spec.ResourceRecords) { + if len(a.ko.Spec.ResourceRecords) != len(b.ko.Spec.ResourceRecords) { delta.Add("Spec.ResourceRecords", a.ko.Spec.ResourceRecords, b.ko.Spec.ResourceRecords) + } else if len(a.ko.Spec.ResourceRecords) > 0 { + if !reflect.DeepEqual(a.ko.Spec.ResourceRecords, b.ko.Spec.ResourceRecords) { + delta.Add("Spec.ResourceRecords", a.ko.Spec.ResourceRecords, b.ko.Spec.ResourceRecords) + } } if ackcompare.HasNilDifference(a.ko.Spec.SetIdentifier, b.ko.Spec.SetIdentifier) { delta.Add("Spec.SetIdentifier", a.ko.Spec.SetIdentifier, b.ko.Spec.SetIdentifier)