Releases: kubernetes-sigs/cluster-api-provider-aws
v2.0.0-beta.0
🚨 This is a BETA RELEASE. Use it only for testing purposes. If you find any bugs, please file an issue.
The image for this release is:
registry.k8s.io/cluster-api-aws/cluster-api-aws-controller:v2.0.0-beta.0
v1.5.0
Release notes for Cluster API Provider AWS (CAPA) v1.5.0
NOTE:
If you are planning to use Garbage Collection, which is a new feature added in this release, then you will need to update your controllers policy by running clusterawsadm bootstrap iam create-cloudformation-stack again (or can manually add elasticloadbalancing:DeleteTargetGroup permission to controllers policy). See the documentation on how to enable this feature via a feature flag.
Changelog since v1.4.0
What's Changed
🚀 Features
- External load balancer garbage collection - new gc service by @richardcase in
#3625 #3632 #3646 #3650 - [E2E] EFS CSI driver validation by @Madhur97 in #3391
- Add lookup for fields of type AWSResourcesReference by @Ankitasw in #3257
- Make CAPA tooling work on arm64 by @Prajyot-Parab in #3519
- [EKS] Allow disabling VPC CNI when setting secondary CIDR block by @mtougeron in #3524
- [EKS] Add ability to delete kube-proxy daemonset by @mzahorik in #3490
- Create bastion security group only when bastion is enabled by @k8s-infra-cherrypick-robot in #3588
🐛 Bug Fixes
- Do not change default security groups during EKS control plane reconcile by @dlipovetsky in #3622
- Add relative path for code generation by @richardcase in #3547
- Only setup envtest when the test target is called by @Skarlso in #3387
- Fix for release log creation script by @sedefsavas in #3388
- Only attempt to delete bootstrap data secret if InsecureSkipSecretsManager isn't set by @dlmather in #3400
- Update
clusterawsadm ami listnil AMI output by @zeborg in #3496 - Fail apidiff make target when git fails by @Callisto13 in #3538
- Fix generate go apis target by @LucaLanziani in #3500
- Fix panics and add timeouts to various e2e methods by @josh-ferrell in #3457 #3471 #3418
📖 Documentation
- Remove KIAM page from the book by @sedefsavas in #3417
- Add role assumption trust policy example to book by @sedefsavas in #3416
- Update roadmap by @sedefsavas in #3415
- Add multitenancy example by @LucaLanziani in #3401
- Add steps to recover cluster by @warroyo in #3438
- docs: Using IAM roles instead of AWS credentials in management cluster by @Ankitasw in #3328
- Add EKS AWSManagedMachinePool example to spot instances doc by @pydctw in #3523
🌱 Others
- Disable external infrastructure test by @josh-ferrell in #3499
- Merge external infrastructure, peered VPCs, internal ELB and private subnets E2E test. by @josh-ferrell in #3366
- Add
owner-idflag forclusterawsadm ami listby @zeborg in #3461 - Add multi-tenancy and ssm test based on ClusterClass by @pydctw in #3448 #3389
- Validate Tags created for the resources by @VibhorChinda in #3398
- Updates e2e test cluster names to include spec name by @ydarb in #3425
- Apidiff test runs only if there are changes in api/ or exp/api/ by @meghanajangi in #3368
- Remove list webhooks by @sedefsavas in #3413
- Fix failing tests because of change in cluster names by @Ankitasw in #3429
- Add tests for using filters in AWSResourceReference type fields by @Ankitasw in #3382
- Use registry.k8s.io registry in CI jobs by @sedefsavas in #3436
- Scope cleanup by @sedefsavas in #3430
- Makefile: use 'rm -f' for verify-boilerplate by @invidian in #3442
- [E2E] Fix failing GPU test due to update in the CUDA Linux GPG Repository Key by @Ankitasw in #3459
- Add ClusterClass templates by @sedefsavas in #3462
- Fix eks-fargate cluster template by @pydctw in #3493
- Add ReplaceRoute in ControllersPolicy by @AmitSahastra in #3492
- Publish e2e templates by @sedefsavas in #3497
- Update EKS e2e addon versions by @pydctw in #3516
- Update EKS e2e to use k8s v1.22 by @pydctw in #3520
- Fix for conformance tests by @sedefsavas in #3529
- Add Roadmap Update for Windows Support by @luthermonson in #3534
- chore: use "registry.k8s.io" for k8s images by @richardcase in #3521
- Rename kubernetes.io/cluster tag to use EKS cluster name by @k8s-infra-cherrypick-robot in #3591
- Fix the owner checking of a cluster by @k8s-infra-cherrypick-robot in #3598
- [EKS] Add defaulting for update config by @k8s-infra-cherrypick-robot in #3629
- Manual cherry pick of linter fixes (#3617 and #3623) by @sedefsavas in #3637
- Add 1.5 version to metadata file by @sedefsavas in #3658
🌱 Dependencies
- Bump cluster-api to v1.1.5 by @sedefsavas in #3638
- Bump cert-manager version in the tests by @sedefsavas in #3437
- build(deps): bump actions/setup-go from 2 to 3 by @dependabot in #3406
- build(deps): bump actions/checkout from 2 to 3 by @dependabot in #3408
- build(deps): bump EndBug/add-and-commit from 7 to 9 by @dependabot in #3407
- build(deps): bump actions/cache from 2 to 3 by @dependabot in #3409
- build(deps): bump github.com/aws/aws-lambda-go from 1.28.0 to 1.29.0 by @dependabot in #3367
- build(deps): bump sigs.k8s.io/kustomize/kustomize/v4 from 4.5.3 to 4.5.4 in /hack/tools by @dependabot in #3383
- Bump AWS SDK Go and AWS IAM and AWS VPC CNI Authenticator by @Ankitasw in #3393 #3412
- build(deps): bump github.com/spf13/cobra from 1.4.0 to 1.5.0 by @dependabot in #3543
- build(deps): bump github/codeql-action from 1 to 2 by @dependabot in #3446
- build(deps): bump github.com/aws/aws-lambda-go from 1.30.0 to 1.31.1 by @dependabot in https://github.com/kubernetes-sigs/cluster-api-provid...
v1.4.1
Release notes for Cluster API Provider AWS (CAPA) v1.4.0
Changelog since v1.4.0
What's Changed
🐛 Bug Fixes
New Contributors
The image for this release is: k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v1.4.1
Thanks to all our contributors!
v1.4.0
Release notes for Cluster API Provider AWS (CAPA) v1.4.0
Changelog since v1.3.0
What's Changed
⚠ API Changes
- Add support for Ignition-based bootstrap data and Flatcar Container Linux by @invidian in #2271
- Add nodegroup update config support by @richardcase in #3337
🚀 Features
- Add support for custom protocol for ELB health checks by @Ankitasw in #3124
- Validate internal ELB in a peered VPC by @josh-ferrell in #3285
- Add lookup logic for bastion hosts by @Ankitasw in #3298
- Change the release process to use GitHub Release Notes by @meghanajangi in #3214
- Query AWS to find subnets with explicitely specified subnet IDs by @codablock in #2864
- Add filter lookup support to AWSMachinePool.Spec.Subnets by @shivi28 in #3255
🐛 Bug Fixes
- [EKS] Fix for subnet cloud-provider tags @10hin in #3123
- [EKS] Fix for ASG and instance cloud-provider tags by @faiq in #3343
- [EKS] Fix racing conditions in reconcileDelete by @richardchen331 in #3157
- Block ELB re-creation after the cluster has been provisioned by @Ankitasw in #3240
- Validate additionalTags by @jonathanbeber in #3177
- Fix MP template: use correct machine type env var by @mweibel in #3227
- Update ClusterSecurityGroupsReadyCondition as part of managedcontrolplane by @pydctw in #3234
- Remove .metadata.clusterName usage by @pydctw in #3322
- Fix asgNeedsUpdates invalid condition (pointers) by @mweibel in #3264
- Disassociate secondary CIDR after subnets are deleted by @Ankitasw in #3347
📖 Documentation
- Add documentation for usage of failure domains by @Ankitasw in #3173
- Add list of Prow jobs to the book by @sedefsavas in #3199
- Update version support documentation by @sedefsavas in #3230
- Add an initial page about e2e testing by @mweibel in #3269
- Add documentation for usage of spot instances by @Ankitasw in #3281
- Add documentation for usage of externally managed clusters by @Ankitasw in #3247
- Update developer guideline to write unit/integration tests in CAPA repo by @Ankitasw in #3289
- Update multi-tenacy docs by @davidblum in #3320
🌱 Others
- Add
conversion-verifierin CI by @zeborg in #3168 - Add
verify-shellcheckmake target by @zeborg in #3178 - Add
verify-book-linksmake target by @zeborg in #3194 - Add apidiff target to the Makefile by @meghanajangi in #3222
- Group Makefile targets by @Skarlso in #3192
- Add methods to create AWS resources for externally managed infrastructure tests by @josh-ferrell in #3237 #3251
- Add unit/integration tests for controllers and pkg/cloud/services by @Ankitasw @Madhur97 @shivi28
- Add flatcar-stable to supported OS list for clusterawsadm by @sedefsavas in #3158
- Add a join slack badge in CAPA repo for k8s cluster-api-aws channel by @shivi28 in #3258
- Add go report badge by @shivi28 in #3210
- Update AwsClusterTemplate printcolumn and remove unnecessary RBAC files by @pydctw in #3217
- Add OpenSSF best practices badge to README.md by @Ankitasw in #3260
- Enable EKS upgrade test by @pydctw in #3229
- Add external Sec Groups E2E test by @josh-ferrell in #3261
- Add v1.22 to v1.23 upgrade test for external CCM migration by @sedefsavas in #3267
- Makefile: don't log verbose from tests by default by @invidian in #3351
- Replace all instances of reflect.DeepEqual() with cmp.Equal() by @VibhorChinda in #3342
- Add test to check if bastion host is running when enabled by @Ankitasw in #3318
- Change assertion for DetachInternetGateway to Eventually by @josh-ferrell in #3291
- Using setup-envtest to install kubebuilder dependency by @Skarlso in #3362
🌱 Dependencies
- Upgrade to use latest Kind version v0.12.0 by @shivi28 in #3293
- update GH_VERSION to v2.7.0 by @faiq in #3376
- build(deps): bump sigs.k8s.io/controller-runtime from 0.11.1 to 0.11.2 by @dependabot in #3369
- build(deps): bump github.com/google/go-cmp from 0.5.6 to 0.5.7 by @dependabot in #3349
- build(deps): bump github.com/onsi/gomega from 1.18.1 to 1.19.0 by @dependabot in #3358
- Bump to golangci-lint v1.45.2 by @Prajyot-Parab in #3350
- build(deps): bump sigs.k8s.io/kustomize/kustomize/v4 from 4.5.2 to 4.5.3 in /hack/tools by @dependabot in #3356
- Bump golanci-lint in /hack/tools by @Ankitasw in #3334
- build(deps): bump k8s.io/klog/v2 from 2.50.0 to 2.60.1 by @dependabot in #3330
- build(deps): bump github.com/go-logr/logr from 1.2.2 to 1.2.3 by @dependabot in #3327
- build(deps): bump github.com/aws/amazon-vpc-cni-k8s from 1.10.1 to 1.10.2 by @dependabot in #3162
- build(deps): bump sigs.k8s.io/aws-iam-authenticator from 0.5.3 to 0.5.4 by @dependabot in #3163
- build(deps): bump sigs.k8s.io/kustomize/kustomize/v4 from 4.5.1 to 4.5.2 in /hack/tools by @dependabot in #3213
- build(deps): bump sigs.k8s.io/controller-runtime from 0.11.0 to 0.11.1 by @dependabot in #3221
- build(deps): bump sigs.k8s.io/aws-iam-authenticator from 0.5.4 to 0.5.5 by @dependabot in #3233
- Bump hack/tools/golangci-lint and fix lint errors by @Ankitasw in #3241
- build(deps): bump github.com/joelanford/go-apidiff from 0.2.0 to 0.3.0 in /hack/tools by @dependabot in #3280
- build(deps): bump github.com/itchyny/gojq from 0.12.6 to 0.12.7 in /hack/tools by @dependabot in #3279
- build(deps): bump github.com/spf13/cobra from 1.3.0 to 1.4.0 by @dependabot in #3302
- Bump CAPI to v1.1.2 by @shivi28 in #3231
New Contributors
v1.3.0
Release notes for Cluster API Provider AWS (CAPA) v1.3.0
This version is tested with Cluster API versions 1.1.x.
Changelog since v1.2.0
Changes by Kind
API Change
- [EKS] Expose additional EKS node bootstrap configuration options via EKSConfig (#2965, @richardcase)
Feature
- [EKS] Support tagging EKS node group's underlying ASG (#2884, @richardchen331)
- [clusterawsadm] Allow tagging CloudFormation stack during create/update (#3009, @jonathanbeber)
Documentation
- Fix machinepool template and doc for subnet field usage (#2903, @shivi28)
- Add contributors to the README (#3069, @richardcase)
Failing Test
- Fix EKS conversion tests (#3033, @pydctw)
- Increase vCPU quota limit for EC2 instances in e2e tests (#3002, @Ankitasw)
Bug or Regression
- [EKS] Fix
AWSManagedControlPlanev1alpha3 to v1beta1 conversion (#3037, @jonathanbeber) - [EKS] Disable bastion SG when bastion is disabled (#3028, @abhinavnagaraj)
- [EKS] Fix EKS encryption configuration comparison bug (#3040, @jon-fearer)
- [EKS] Fix for EKS encryption reporting false changes (#3095, @richardcase)
- [EKS] Fix to allow updating roleName in fargate, if not already configured (#3052, @abhinavnagaraj)
- Fix for using kubeconfig context in clusterawsadm (#3068, @sedefsavas)
- Fix ECR describe in e2e tests when searching for previously created ECR (#3133, @josh-ferrell)
- Refactor TestMain functions to stop using os.Exit which was swallowing errors (#3036, @jonathanbeber)
- Update bastion status after deleting it (#3090, @sedefsavas)
Other (Cleanup or Flake)
- Move randomvariable to emeritus (#3060, @randomvariable)
- Promote @pydctw to reviewers (#3013, @sedefsavas)
- Enable all golang linters by default with explicit disable (#3093, @pydctw)
- Add HA control plane cluster upgrade e2e test (#3075, @pydctw)
- Add test package linter checks (#3071, @sedefsavas)
- Add unit tests for package pkg/cloud/tags (#3117, @Ankitasw)
- Publish CAPA AMI images for last 4 k8s releases in CAPA book (#3125, @shivi28)
- Re-enable GPU test (#3039, @sedefsavas)
New Contributors
- @jon-fearer made their first contribution in #3040
- @KushalBeniwal made their first contribution in #3047
- @richardchen331 made their first contribution in #2884
- @Skarlso made their first contribution in #3115
- @josh-ferrell made their first contribution in #3133
Full Changelog: v1.2.0...v1.3.0
The image for this release is:
k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v1.3.0
A special thanks to @randomvariable for his contributions to CAPA from its inception who moves to emeritus status now. And thanks to @pydct who move to reviewers.
Thanks to all our contributors!
v0.7.3
Release notes for Cluster API Provider AWS (CAPA) v0.7.3
Changelog since v0.7.2
Changes by Kind
API Change
Bug or Regression
- Bugfix in
AWSManagedControlPlaneobject conversion from v1alpha3 to v1beta1. Some fields in Status and Spec were not being considered during conversion (#3043, @jonathanbeber) - Fixes an issue with using multiple EKS addons. (#2961, @richardcase)
- Refactor TestMain functions across the project to stop using os.Exit swallowing errors (#3041, @jonathanbeber)
The images for this release are:
k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v0.7.3
Thanks to all our contributors.
v1.2.0
Release notes for Cluster API Provider AWS (CAPA) v1.2.0
This version is compatible with Cluster API versions 1.0.x.
Changelog since v1.1.0
Changes by Kind
Feature
- [EKS] Allow configuring services cidr when creating an EKS cluster. (#2964, @richardcase)
- [EKS] Expose additional EKS node bootstrap configuration options via EKSConfig. (#2965, @richardcase)
Bug or Regression
- Revert setting ELB name field to a generated name (this was a bug that made v1.1.0 incompatible with v1.0.0) (#3004, @dlipovetsky)
- Block creating a new instance if AWSMachine already has ProviderID field set (#2957, @sedefsavas)
- Fix for setting conditions to error severity only when errors are non-transients (#3018, @sedefsavas)
- Fix recurring AWS.SimpleQueueService.NonExistentQueue error messages from CAPA logs (#2976, @Ankitasw)
- Fix for trying to update AWSMachine immutable field:
rootVolume.deviceName(#3011, @pydctw) - [EKS] Fix AWSFargateProfile template (#2984, @matthewhembree)
- Use non root numeric user for CAPA containers (#2960, @Ankitasw)
- [EKS] Fix for EKS e2e tests caused by new environment variable (#2987, @richardcase)
- [EKS] Add missing permissions for EKS OIDC provider configuration (#2870, @codablock)
Documentation
- Update documentation to specify JSON output for AWS CLI commands (#2982, @matthewhembree)
- Update tilt development docs for v0.7.0+ and debugging (#2994, @richardcase)
Other
New Contributors
- @matthewhembree made their first contribution in #2984
Full Changelog: v1.1.0...v1.2.0
The image for this release is:
k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v1.2.0
Thanks to all our contributors.
v1.1.0
IMPORTANT:
!!Do not use this release!! This release is not backward compatible with v1.0.0 due to a bug caused by an API change. API change is reverted in v1.2.0 release.
Changelog since 1.0.0
Changes by Kind
Feature
- Add support for bring your own control plane ELB. This is an advanced feature (#2787, @dlipovetsky)
- EKS: Add option to create EKS console IAM policy (#2790, @Madhur97)
Bug or Regression
- EKS: Fix for installing multiple EKS addons. (#2914, @richardcase)
- EKS: Add error handling while getting a remote client (#2878, @sedefsavas)
- EKS: Fix panic when adding labels to AWSManagedMachinePool (#2896, @zhengtianbao)
- EKS: Add missing permissions for EKS OIDC provider configuration (#2870, @codablock)
- EKS: Fix for
node-eks-additionalSG overrides for EKSManagedControlPlane (#2850, @codablock) - EKS: Add a check for maximum allowed resync period (#2846, @richardcase)
- Prevent the creation of a new instance if AWSMachine already has ProviderID field set (#2957, @sedefsavas)
- Fix for supporting SecureString parameter type in SSM on GovCloud (#2952, @sedefsavas)
- Use non root numeric user for CAPA containers (#2960, @Ankitasw)
- Allow control plane ELB to use different subnets from node subnets (#2877, @pydctw)
- Fix AWSClusterControllerIdentity ValidateUpdate panic when AllowedNamespaces is nil (#2885, @zhengtianbao)
Documentation
- Add documentation for building custom AMIs (#2934, @sedefsavas)
- Fix documentation on external AWS CCM and EBS CSI driver (#2837, @scottslowe)
- Add externally managed infrastructure docs (#2895, @enxebre)
Other
- Upgrade cluster-api to main branch, golang to v1.17, controller-runtime to v0.11+, go-logr to v1.2.0 (#2943, @sbueringer)
- Replace ioutil deprecated package with os/io for golang 1.16 (#2900, @shivi28)
- Add GPU e2e test (#2843, @Ankitasw)
- Enable v1alpha3/v1alpha4 to v1beta1 upgrade e2e test (#2950, @sedefsavas)
New Contributors
- @Jacobious52 made their first contribution in #2841
- @codablock made their first contribution in #2850
- @ameukam made their first contribution in #2867
- @zhengtianbao made their first contribution in #2885
- @PushkarJ made their first contribution in #2892
- @vibhorrawat made their first contribution in #2889
- @invidian made their first contribution in #2917
Full Changelog: v1.0.0...v1.1.0
The image for this release is:
k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v1.1.0
Thanks to all our contributors.
v0.7.2
Release notes for Cluster API Provider AWS (CAPA) v0.7.2
Changelog since v0.7.1
Changes by Kind
Bug or Regression
- Correct version number in metadata.yaml (#2894, @randomvariable)
- Fix panic caused by nil map in
createLabelUpdate(#2906, @zhengtianbao) - Fix panic in
AWSClusterControllerIdentity.ValidateUpdate(#2887, @zhengtianbao) - Fix timeout due to delay in bringing up control plane in e2e tests (#2928, @Ankitasw)
- Fix for supporting SecureString as a parameter type in SSM on GovCloud (#2959, @sedefsavas)
- Fix to allow using multiple EKS addons (#2961, @richardcase)
Other
- Bump cluster-api version to v0.4.3 (#2904, @sedefsavas)
- Remove GINKGO_SKIP conditions from Makefile to enable the e2e tests for CAPI (#2946, @Ankitasw)
Full Changelog: v0.7.1...v0.7.2
The images for this release are:
k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v0.7.2
Thanks to all our contributors.
v0.7.1
Release notes for Cluster API Provider AWS (CAPA) v0.7.1
Changelog since v0.7.0
Changes by Kind
API Change
- Correct the casing of the ELB load balancer scheme from
Internet-facingtointernet-facing, allowing the ELB to be correctly reconciled (#2861, @sedefsavas) (#2768, @dlipovetsky)
Note: This is a seemingly breaking API change, but no users will be impacted, because cluster reconcililation after initial create was failing with the Internet-facing value. Cluster API Provider AWS v0.7.1 will update the value to the corrected version.
Feature
- EKS: Add support to create/update tags for a Fargate Profile (#2676, @abhinavnagaraj)
- EKS: Support adding additional policies to node group role for AWSManagedMachinePool (#2751, @abhinavnagaraj)
- EKS: Support spot capacity type for ManagedMachinePool (#2702, @abhinavnagaraj)
- Support adding AWS cloud provider tags to pre-existing infrastructure (#2715, @pydctw)
- Expose leader-election-resource-lock as a flag (#2822, @enxebre)
- Add readiness and health checks to webhook server (#2685, @geetikabatra)
Documentation
- Add documentation for using external cloud provider and CSI driver (#2718, @Ankitasw)(#2837, @scottslowe)
Bug or Regression
- Fix panic on RouteTables reconcile (#2705, @dilyevsky)
- Fix findSubnet function's logic when subnet ID is specified (#2728, @pydctw)
- Fix reconciliation of AWS ingress rules of same port (#2813, @pydctw)
- Move EKS-related resources from
AWSIAMManagedPolicyControllersto a separate policy to work around AWS size limit for managed policies (#2662, @johananl) - Reinstating the check for the maximum allowed resync period when EKS is enabled. (#2846, @richardcase)
- Resolves issue with KIAM annotation not appearing on Cluster API AWS Manager pod (#2800, @voor)
- Fix to honor
AWSMachine.Spec.PublicIPand set a public IP to the instance (#2772, @pydctw)
Other
- Add v1alpha3 to v1alpha4 upgrade test (#2770, @Ankitasw)
- Add external cloud provider end-to-end test (#2647, @Ankitasw)
- Set controller log level with CAPA_LOGLEVEL variable. Defaults to 0. (#2673, @Ankitasw)
- Clean up unused Kubernetes RBAC permissions (#2720, @sayantani11)
- Bump AWS SDK to v1.4.0.33, with support added for IMDS IPv6 endpoint (#2721, @dependabot[bot])
- Bump AWS SDK to v1.40.28: Fix SDK's suppressing of sensitive API parameters being logged. The SDK did not correctly suppress sensitive API parameters via the
StringandGoStringmethods. Updates the SDK's behavior to suppress sensitive API parameters (#2703, @dependabot[bot])
The image for this release is:
k8s.gcr.io/cluster-api-aws/cluster-api-aws-controller:v0.7.1
Thanks to all our contributors.