From dfb3e3cafa5334a9fb240933bf204475ec4f9571 Mon Sep 17 00:00:00 2001 From: AWS Controllers for Kubernetes Bot <82905295+ack-bot@users.noreply.github.com> Date: Sat, 31 Aug 2024 15:34:01 -0700 Subject: [PATCH] Update to ACK runtime `v0.38.0`, code-generator `v0.38.1` (#26) ### 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 `v0.0.15` to `v0.0.16` Once this PR is merged, release `v0.0.16` will be automatically created for `keyspaces-controller` **Please close this PR, if you do not want the new patch release for `keyspaces-controller`** ---------- #### stdout for `make build-controller`: ``` building ack-generate ... ok. ==== building keyspaces-controller ==== Copying common custom resource definitions into keyspaces Building Kubernetes API objects for keyspaces Generating deepcopy code for keyspaces Generating custom resource definitions for keyspaces Building service controller for keyspaces Generating RBAC manifests for keyspaces Running gofmt against generated code for keyspaces Updating additional GitHub repository maintenance files ==== building keyspaces-controller release artifacts ==== Building release artifacts for keyspaces-v0.0.16 Generating common custom resource definitions Generating custom resource definitions for keyspaces Generating RBAC manifests for keyspaces ``` ---------- 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/keyspace/manager_factory.go | 6 +++++- pkg/resource/table/manager_factory.go | 6 +++++- 9 files changed, 26 insertions(+), 16 deletions(-) diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 60d8bc4..538f520 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:50:39Z" - build_hash: 587b90dc860e91ee9a763e9e3bc4d3f1b2fbddb7 + build_date: "2024-08-29T17:08:02Z" + build_hash: f8f98563404066ac3340db0a049d2e530e5c51cc go_version: go1.22.5 - version: v0.36.0 + version: v0.38.1 api_directory_checksum: 94e82d8f26183568f1be0fbcf2d92048e9b95c9e api_version: v1alpha1 aws_sdk_go_version: v1.49.8 diff --git a/config/controller/kustomization.yaml b/config/controller/kustomization.yaml index 9c3283e..8cbdf34 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/keyspaces-controller - newTag: 0.0.15 + newTag: 0.0.16 diff --git a/go.mod b/go.mod index 8247def..593680e 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.5 require ( - 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.8 github.com/go-logr/logr v1.4.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index afd73fd..e737e91 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -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.8 h1:gKgEiyJ8CPnr4r6pS06WfNXvp6z34JER1pBIwuocvVA= github.com/aws/aws-sdk-go v1.49.8/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 20431cf..e7bf45d 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: keyspaces-chart description: A Helm chart for the ACK service controller for Amazon Keyspaces (Keyspaces) -version: 0.0.15 -appVersion: 0.0.15 +version: 0.0.16 +appVersion: 0.0.16 home: https://github.com/aws-controllers-k8s/keyspaces-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 ff4e463..82d7c48 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/keyspaces-controller:0.0.15". +This chart deploys "public.ecr.aws/aws-controllers-k8s/keyspaces-controller:0.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 fefe3cb..b55cbd9 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/keyspaces-controller - tag: 0.0.15 + tag: 0.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/keyspace/manager_factory.go b/pkg/resource/keyspace/manager_factory.go index 5f22470..2f1e0c0 100644 --- a/pkg/resource/keyspace/manager_factory.go +++ b/pkg/resource/keyspace/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/table/manager_factory.go b/pkg/resource/table/manager_factory.go index ed3601c..b76c176 100644 --- a/pkg/resource/table/manager_factory.go +++ b/pkg/resource/table/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()