From 05e831f39e131a7bd9f70373366518924750b699 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Fri, 6 Sep 2024 10:31:07 -0700 Subject: [PATCH] Update to ACK runtime `v0.38.0`, code-generator `v0.38.1` (#58) ### Update to ACK runtime `v0.38.0`, code-generator `v0.38.1` ---------- * ACK code-generator `v0.38.1` [release notes](https://github.com/aws-controllers-k8s/code-generator/releases/tag/v0.38.1) * ACK runtime `v0.38.0` [release notes](https://github.com/aws-controllers-k8s/runtime/releases/tag/v0.38.0) ---------- NOTE: This PR increments the release version of service controller from `v1.0.15` to `v1.0.16` Once this PR is merged, release `v1.0.16` will be automatically created for `sqs-controller` **Please close this PR, if you do not want the new patch release for `sqs-controller`** ---------- #### stdout for `make build-controller`: ``` building ack-generate ... ok. ==== building sqs-controller ==== Copying common custom resource definitions into sqs Building Kubernetes API objects for sqs Generating deepcopy code for sqs Generating custom resource definitions for sqs Building service controller for sqs Generating RBAC manifests for sqs Running gofmt against generated code for sqs Updating additional GitHub repository maintenance files ==== building sqs-controller release artifacts ==== Building release artifacts for sqs-v1.0.16 Generating common custom resource definitions Generating custom resource definitions for sqs Generating RBAC manifests for sqs ``` ---------- 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 | 6 +++--- config/controller/kustomization.yaml | 2 +- go.mod | 2 +- go.sum | 4 ++-- helm/Chart.yaml | 4 ++-- helm/templates/NOTES.txt | 2 +- helm/values.yaml | 10 +++++---- pkg/resource/queue/manager_factory.go | 6 +++++- pkg/resource/queue/references.go | 26 +++++++++++++++--------- 9 files changed, 37 insertions(+), 25 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 06fc5cc..e286aa9 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2024-08-06T02:44:18Z" - build_hash: 587b90dc860e91ee9a763e9e3bc4d3f1b2fbddb7 + build_date: "2024-08-29T17:15:51Z" + build_hash: f8f98563404066ac3340db0a049d2e530e5c51cc go_version: go1.22.5 - version: v0.36.0 + version: v0.38.1 api_directory_checksum: f74a20965e9cd60cc5b02f43349da4f6cf29c865 api_version: v1alpha1 aws_sdk_go_version: v1.49.0 diff --git a/config/controller/kustomization.yaml b/config/controller/kustomization.yaml index a9c2207..db7052c 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/sqs-controller - newTag: 1.0.15 + newTag: 1.0.16 diff --git a/go.mod b/go.mod index 3b2c42f..c18faf4 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ toolchain go1.22.5 require ( github.com/aws-controllers-k8s/iam-controller v1.1.1 github.com/aws-controllers-k8s/kms-controller v1.0.2 - github.com/aws-controllers-k8s/runtime v0.36.0 + github.com/aws-controllers-k8s/runtime v0.38.0 github.com/aws/aws-sdk-go v1.49.0 github.com/go-logr/logr v1.4.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index 2673dd6..f29c338 100644 --- a/go.sum +++ b/go.sum @@ -2,8 +2,8 @@ github.com/aws-controllers-k8s/iam-controller v1.1.1 h1:O6arh7DNlQF26MEKzgA2/kBE github.com/aws-controllers-k8s/iam-controller v1.1.1/go.mod h1:2+ARwRpazTq5MErjMz0MpXHhtAzRfNtY56Uj0gvu9vE= github.com/aws-controllers-k8s/kms-controller v1.0.2 h1:v8nh/oaX/U6spCwBDaWyem7XXpzoP/MnkJyEjNOZN9s= github.com/aws-controllers-k8s/kms-controller v1.0.2/go.mod h1:BeoijsyGjJ9G5VcDjpFdxBW0IxaeKXYX497XmUJiPSQ= -github.com/aws-controllers-k8s/runtime v0.36.0 h1:XEMVGfUwsT9QMShihuCLHlape+daJWyYtXj45s/iJiU= -github.com/aws-controllers-k8s/runtime v0.36.0/go.mod h1:gI2pWb20UGLP2SnHf1a1VzTd7iVVy+/I9VAzT0Y+Dew= +github.com/aws-controllers-k8s/runtime v0.38.0 h1:gSEpmBm7OwTPd2kIOU+AIDIivi3teSm5FFrhROfu4wg= +github.com/aws-controllers-k8s/runtime v0.38.0/go.mod h1:gI2pWb20UGLP2SnHf1a1VzTd7iVVy+/I9VAzT0Y+Dew= 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/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 930c677..94fcba7 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: sqs-chart description: A Helm chart for the ACK service controller for Amazon Simple Queue Service (SQS) -version: 1.0.15 -appVersion: 1.0.15 +version: 1.0.16 +appVersion: 1.0.16 home: https://github.com/aws-controllers-k8s/sqs-controller icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png sources: diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt index 7c4a487..8e83d84 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/sqs-controller:1.0.15". +This chart deploys "public.ecr.aws/aws-controllers-k8s/sqs-controller:1.0.16". 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 20dbb54..a18e5fa 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/sqs-controller - tag: 1.0.15 + tag: 1.0.16 pullPolicy: IfNotPresent pullSecrets: [] @@ -157,6 +157,8 @@ leaderElection: # Configuration for feature gates. These are optional controller features that # can be individually enabled ("true") or disabled ("false") by adding key/value # pairs below. -featureGates: {} - # featureGate1: true - # featureGate2: false +featureGates: + # Enables the Service level granularity for CARM. See https://github.com/aws-controllers-k8s/community/issues/2031 + ServiceLevelCARM: false + # Enables the Team level granularity for CARM. See https://github.com/aws-controllers-k8s/community/issues/2031 + TeamLevelCARM: false diff --git a/pkg/resource/queue/manager_factory.go b/pkg/resource/queue/manager_factory.go index 9c28a39..7e30872 100644 --- a/pkg/resource/queue/manager_factory.go +++ b/pkg/resource/queue/manager_factory.go @@ -53,8 +53,12 @@ func (f *resourceManagerFactory) ManagerFor( sess *session.Session, id ackv1alpha1.AWSAccountID, region ackv1alpha1.AWSRegion, + roleARN ackv1alpha1.AWSResourceName, ) (acktypes.AWSResourceManager, error) { - rmId := fmt.Sprintf("%s/%s", id, region) + // We use the account ID, region, and role ARN to uniquely identify a + // resource manager. This helps us to avoid creating multiple resource + // managers for the same account/region/roleARN combination. + rmId := fmt.Sprintf("%s/%s/%s", id, region, roleARN) f.RLock() rm, found := f.rmCache[rmId] f.RUnlock() diff --git a/pkg/resource/queue/references.go b/pkg/resource/queue/references.go index 9312c64..12d4e18 100644 --- a/pkg/resource/queue/references.go +++ b/pkg/resource/queue/references.go @@ -149,12 +149,8 @@ func getReferencedResourceState_Key( if err != nil { return err } - var refResourceSynced, refResourceTerminal bool + var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && - cond.Status == corev1.ConditionTrue { - refResourceSynced = true - } if cond.Type == ackv1alpha1.ConditionTypeTerminal && cond.Status == corev1.ConditionTrue { return ackerr.ResourceReferenceTerminalFor( @@ -167,6 +163,13 @@ func getReferencedResourceState_Key( "Key", namespace, name) } + var refResourceSynced bool + for _, cond := range obj.Status.Conditions { + if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + cond.Status == corev1.ConditionTrue { + refResourceSynced = true + } + } if !refResourceSynced { return ackerr.ResourceReferenceNotSyncedFor( "Key", @@ -229,12 +232,8 @@ func getReferencedResourceState_Policy( if err != nil { return err } - var refResourceSynced, refResourceTerminal bool + var refResourceTerminal bool for _, cond := range obj.Status.Conditions { - if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && - cond.Status == corev1.ConditionTrue { - refResourceSynced = true - } if cond.Type == ackv1alpha1.ConditionTypeTerminal && cond.Status == corev1.ConditionTrue { return ackerr.ResourceReferenceTerminalFor( @@ -247,6 +246,13 @@ func getReferencedResourceState_Policy( "Policy", namespace, name) } + var refResourceSynced bool + for _, cond := range obj.Status.Conditions { + if cond.Type == ackv1alpha1.ConditionTypeResourceSynced && + cond.Status == corev1.ConditionTrue { + refResourceSynced = true + } + } if !refResourceSynced { return ackerr.ResourceReferenceNotSyncedFor( "Policy",