Breaking Changes - UPGRADE GUIDE
- ed09c80: BREAKING CHANGE: Move instance type filtering from implicit to explicit at defaulting time (#2779) (Ellis Tarn) #2779
- 0b122ce: BREAKING CHANGE: Migrate AWS Settings from CLI Args to ConfigMap (#2746) (Jonathan Innis) #2746
- 6be9f86: BREAKING CHANGE: controllerless pods will be evicted by default (#2847) (Jim DeWaard) #2847 upgrade karpenter-core to pull in ownerless pod eviction (#2850) #2850 (Brandon Wagner)
Features
- Label provisioned nodes with AMI ID (#2669) #2669 (Nick Tran)
- add a node TTL for consolidation (#2614) #2614 (Todd Neal)
- Combine webhooks and controllers into a single binary (#2728) #2728 (Ellis Tarn)
- Add global
aws.tags...
settings to AWS config (#2731) #2731 (Jonathan Innis) - Snapshots on PRs (#2777) #2777 (Ryan Maleki)
- Add Native Spot Termination Handling (#2546) #2546 (Jonathan Innis)
- increase instance type flexibility on each fleet call (#2814) #2814 (Brandon Wagner)
- switch from the spot capacity-optimized-prioritized allocation strategy to price-capacity-optimized (#2835) #2835 (Brandon Wagner)
- IPv6 Auto-Discovered Support (#1605) (Brandon Wagner) #1605
Bug Fixes
- AMI Selection to use latest AMI (#2653) #2653 (Nick Tran)
- Fix adding CMW before call to start informer (#2674) #2674 (Jonathan Innis)
- Fix broken api-code-gen (#2677) #2677 (Ryan Maleki)
- query for both forms of Linux/Unix OS on spot (#2678) #2678 (Todd Neal)
- provide a mock k8s client for use in generating instance type docs (#2695) #2695 (Todd Neal)
- cycle through pods multiple times as required when scheduling (#2690) #2690 (Todd Neal)
- add permission for listing namespaces (#2709) #2709 (Todd Neal)
- Add v0 to helm repo chart of nightly (#2722) #2722 (Ryan Maleki)
- resolve a bug where AWSNodeTemplate webhooks were no longer registered (#2720) #2720 (Ellis Tarn)
- Fixed API Code Gen (#2725) #2725 (Ellis Tarn)
- updating prom scrape target (#2710) #2710 (Jim DeWaard)
- Fix REST config injection in cloudprovider (#2744) #2744 (Jonathan Innis)
- nightlies do not try to tag webhook as it's now removed (#2739) #2739 (Ryan Maleki)
- Fix docgen with RESTConfig (#2745) #2745 (Jonathan Innis)
- upgrade cosign to v1.13.1 (#2747) #2747 (Ryan Maleki)
- use upgrade Go in the tools image (#2749) #2749 (Ryan Maleki)
- Fix docsgen failure (#2755) #2755 (Jonathan Innis)
- fix indention in Github workflow (#2758) #2758 (Ryan Maleki)
- Multiple package metrics generation (#2757) #2757 (Jonathan Innis)
- Fix upgrade pipeline for Integration tests (#2761) #2761 (Jonathan Innis)
- Add reusability to work flows, reuse for caching, and authentication (#2762) #2762 (Ryan Maleki)
- Split the CI workflow into ci-test and ci to eliminate redundant work… (#2770) #2770 (Ryan Maleki)
- do not fail when discovering kube-dns cluster ip (#2794) #2794 (Brandon Wagner)
- Fix metrics docgen with manual subsystem (#2795) #2795 (Jonathan Innis)
- Fix docgen and setup test for E2E (#2800) #2800 (Jonathan Innis)
- Fix cloudformation and sqs queue backoff (#2798) #2798 (Jonathan Innis)
- Fix quoting a number in helm chart (#2836) #2836 (Jonathan Innis)
- Scope cloudformation for queue operations (#2841) #2841 (Jonathan Innis)
Documentation
- v0.18.0 (#2650) #2650 (github-actions[bot])
- update helm oci troubleshooting and upgrade guide (#2659) #2659 (Brandon Wagner)
- Fix architecture/instance-type incompatability in docs (#2661) #2661 (Jonathan Innis)
- Added node AMI upgrade and drift design docs (#2569) #2569 (Nick Tran)
- improve diversity on example provisioner (#2717) #2717 (Todd Neal)
- fix identation of userData example in operating systems (#2704) #2704 (Niclas Mietz)
- update getting started guide to use K8s 1.23 (#2782) #2782 (Brandon Wagner)
- Add Docs for Interruption Handling (#2807) #2807 (Jonathan Innis)
- Fix metrics titling from gen code (#2837) #2837 (Jonathan Innis)
Tests
- Re-add the replace directive and remove go.work (#2656) #2656 (Jonathan Innis)
- Wrap environment with cloudprovider environment (#2655) #2655 (Jonathan Innis)
- fix ipv6 tests by removing custom test ami (#2742) #2742 (Brandon Wagner)
- Remove integration test before upgrade of chart (#2752) #2752 (Jonathan Innis)
- Fix test filter change to focus (#2760) #2760 (Jonathan Innis)
- Always print test logs, even if cleanup fails (#2778) #2778 (Jonathan Innis)
- Fix flaky expiration test (#2781) #2781 (Jonathan Innis)
- Use testing labels in E2E testing (#2784) #2784 (Jonathan Innis)
- Bump eksctl version in tools dockerfile (#2785) #2785 (Jonathan Innis)
- Bump test gomega version (#2788) #2788 (Jonathan Innis)
- Migrate to simplified testenv (#2792) #2792 (Ellis Tarn)
- Add policy-binding for interruption E2E (#2796) #2796 (Jonathan Innis)
- Add settings injection into E2E testing (#2801) #2801 (Jonathan Innis)
- Fix upgrade E2E test for upgrade CRDs (#2802) #2802 (Jonathan Innis)
- Fix CNI E2E tests (#2804) #2804 (Jonathan Innis)
- Have a pre-upgrade setup for older version of Karpenter (#2806) #2806 (Jonathan Innis)
- use GH CI env var in presubmits (#2816) #2816 (Ellis Tarn)
- removed test to add back in later (#2824) #2824 (Nick Tran)
- Chaos testing for Runaway Scale-up Issue (#2823) #2823 (Jonathan Innis)
- fix ami latest test (#2826) #2826 (Brandon Wagner)
- Add test for adding global tags to interruption infra (#2828) #2828 (Jonathan Innis)
- Remove event policy role in E2E (#2840) #2840 (Jonathan Innis)
Chores
- Add an implementation of
atomic.Lazy
which caches values internally (#2657) #2657 (Jonathan Innis) - migrate to karpenter-core for APIs (#2660) #2660 (Ellis Tarn)
- Remove callback in initialize and migrate core startup to package (#2652) #2652 (Jonathan Innis)
- Migrate
cloudprovider/aws
=>cloudproviders/aws/cloudprovider
(#2665) #2665 (Jonathan Innis) - Create a struct object for ICE cache (#2663) #2663 (Jonathan Innis)
- rely on karpenter-core scheduling libraries (#2667) #2667 (Ellis Tarn)
- Move components that will be shared into top-level of
cloudproviders/aws
(#2668) #2668 (Jonathan Innis) - add slack notification for ipv6 e2e tests (#2672) #2672 (Brandon Wagner)
- Migrate scheduling libraries to karpenter-core (#2675) #2675 (Ellis Tarn)
- Expose an AWS event recorder (#2654) #2654 (Jonathan Innis)
- add more validation to old version check (#2679) #2679 (Todd Neal)
- break dependency on aws-sdk-go for neutral libraries (#2681) #2681 (Ellis Tarn)
- rely on neutral capacity type and break dependency on gpu vendor strings (#2682) #2682 (Ellis Tarn)
- Introduce an
operator.Context
and migrate options/injection (#2687) #2687 (Jonathan Innis) - Extend AWS event recorder to specific event types (#2683) #2683 (Jonathan Innis)
- Redo event-templating for generated events (#2689) #2689 (Jonathan Innis)
- update golangci-lint (#2691) #2691 (Todd Neal)
- Create a
cloudprovider.Context
andaws.Context
to initialize components (#2673) #2673 (Jonathan Innis) - Migrate launch template provider to use logger context (#2686) #2686 (Jonathan Innis)
- migrate utils (#2698) #2698 (Ellis Tarn)
- Initialize cloudprovider-specific controllers (#2701) #2701 (Jonathan Innis)
- decouple scheme (#2708) #2708 (Ellis Tarn)
- migrate controllers, operator, etc (#2711) #2711 (Ellis Tarn)
- migrate webhook (#2713) #2713 (Ellis Tarn)
- flatten apis into a single package (#2714) #2714 (Ellis Tarn)
- hoist /cloudproviders/aws to the top level (#2715) #2715 (Ellis Tarn)
- Migrate from
config.Config
tosettings.Settings
injection (#2694) #2694 (Jonathan Innis) - Bump karpenter-core version to latest HEAD (#2732) #2732 (Jonathan Innis)
- Migrate event recorder away from
awsevents.Recorder
(#2736) #2736 (Jonathan Innis) - remove non generic ptr libraries (#2753) #2753 (Ellis Tarn)
- Separated webhooks from karpenter-core (#2754) #2754 (Ellis Tarn)
- deps: bump github.com/onsi/ginkgo/v2 from 2.2.0 to 2.4.0 in /test (#2774) #2774 (dependabot[bot])
- deps: bump github.com/onsi/gomega from 1.21.1 to 1.23.0 in /test (#2773) #2773 (dependabot[bot])
- deps: bump autoprefixer from 10.4.12 to 10.4.13 in /website (#2768) #2768 (dependabot[bot])
- deps: bump postcss from 8.4.17 to 8.4.18 in /website (#2769) #2769 (dependabot[bot])
- deps: bump github.com/samber/lo from 1.32.0 to 1.33.0 in /test (#2772) #2772 (dependabot[bot])
- deps: bump github.com/aws/aws-sdk-go from 1.44.114 to 1.44.127 in /test (#2771) #2771 (dependabot[bot])
- deps: bump github.com/aws/aws-sdk-go from 1.44.114 to 1.44.127 (#2766) #2766 (dependabot[bot])
- deps: bump github.com/samber/lo from 1.32.0 to 1.33.0 (#2767) #2767 (dependabot[bot])
- deps: bump github.com/onsi/ginkgo/v2 from 2.2.0 to 2.4.0 (#2764) #2764 (dependabot[bot])
- deps: bump github.com/onsi/gomega from 1.23.0 to 1.24.0 (#2786) #2786 (dependabot[bot])
- arm compatible test tools (#2791) #2791 (Brandon Wagner)
- use client.IgnoreNotFound (#2799) #2799 (Ellis Tarn)
- Wait for configMaps to be created (#2809) #2809 (Jonathan Innis)
- Default Linux operating system in Provisioner reqs (#2817) #2817 (Jonathan Innis)
- Fix
make run
target (#2825) #2825 (Jonathan Innis) - Remove infra creation from Interruption Handling (#2834) #2834 (Jonathan Innis)
Commits
- e46a55d: Revert "chore: rely on karpenter-core scheduling libraries (#2667)" (#2671) (Brandon Wagner) #2671
- d777f1e: release v0.18.1 (to main) (#2697) (Todd Neal) #2697
- d26cf44: Add doc-gen to a post CI test (#2699) (Ryan Maleki) #2699
- Fix stable release issue for Patch releases and refactor. (#2712) #2712 (Ryan Maleki)
- Add api-code-gen to the doc-gen-ci test action (#2724) #2724 (Ryan Maleki)
- b5dc501: add make vulncheck as well, and upgrade the CodeQL lib (#2763) (Ryan Maleki) #2763
- 9acf3b2: remove namespace from webhook configuration (#2789) (Tuan Anh Tran) #2789