Releases: kubernetes-sigs/cluster-api-ipam-provider-in-cluster
v1.0.0
This is the first GA release of the In Cluster IPAM Provider for Cluster API! Thanks to all the contributors.
⚠️ Breaking Changes
- No breaking changes
Notable Changes & Fixes
- ✨ add support for the claim.spec.clusterName property by @schrej in #275
- Allow IPPool to have Prefix /0 by @mcbenjemaa in #288
- 🐛 Add reconciler watch for when pool capacity becomes available by @flawedmatrix in #253
What's Changed
- 🌱 Add mcbenjemaa to OWNERS_ALIASES by @mcbenjemaa in #235
- 🌱 Bump sigs.k8s.io/cluster-api from 1.6.1 to 1.6.2 by @dependabot in #236
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.16.0 by @dependabot in #237
- 🌱 Bump softprops/action-gh-release from 1 to 2 by @dependabot in #238
- 🌱 Bump sigs.k8s.io/cluster-api from 1.6.2 to 1.6.3 by @dependabot in #240
- 🌱 Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 by @dependabot in #241
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.16.0 to 2.17.1 by @dependabot in #243
- 🌱 Bump golangci/golangci-lint-action from 4.0.0 to 6.0.1 by @dependabot in #255
- 🌱 update dependencies by @schrej in #250
- 🌱 Update conversion-gen to a fixed tag by @flawedmatrix in #256
- 🐛 Add reconciler watch for when pool capacity becomes available by @flawedmatrix in #253
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.19.0 by @dependabot in #261
- 🌱 bump go version in container image to 1.22 by @schrej in #263
- 🌱 Bump sigs.k8s.io/cluster-api from 1.7.1 to 1.7.3 by @dependabot in #264
- 🌱 Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 by @dependabot in #268
- 🌱 upgrade golangci-lint and it's config and make it happy by @schrej in #276
- 🐛 Fix image reference in tilt-provider.yaml by @erwin-kok in #273
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.20.2 by @dependabot in #279
- 🌱 Bump github.com/onsi/gomega from 1.33.1 to 1.34.2 by @dependabot in #280
- ✨ add support for the claim.spec.clusterName property by @schrej in #275
- 🌱 Bump sigs.k8s.io/cluster-api from 1.8.1 to 1.8.3 by @dependabot in #283
- Make github action able to create a draft release by @mcbenjemaa in #284
- Allow IPPool to have Prefix /0 by @mcbenjemaa in #288
- Update metadata.yaml by @mcbenjemaa in #290
- 🌱 Add issues templates by @mcbenjemaa in #291
- 🌱 Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 by @dependabot in #293
- 🐛 Fix trailing whitespace in metadata.yaml by @MaxRink in #294
- 🌱 Bump sigs.k8s.io/cluster-api from 1.8.3 to 1.8.4 by @dependabot in #295
- Ignore cluster not found on claim deletion by @mcbenjemaa in #296
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 by @dependabot in #298
- 🌱 Bump github.com/onsi/gomega from 1.34.2 to 1.35.1 by @dependabot in #299
- 🐛 Fix missing ipaddressclaims/finalizers permissions by @schrej in #303
- 🌱 Bump github.com/onsi/gomega from 1.35.1 to 1.36.0 by @dependabot in #302
- 🌱 Bump sigs.k8s.io/cluster-api from 1.8.4 to 1.8.5 by @dependabot in #300
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 by @dependabot in #301
- add note about ipv6 pool status to readme by @schrej in #304
New Contributors
- @mcbenjemaa made their first contribution in #235
- @erwin-kok made their first contribution in #273
- @MaxRink made their first contribution in #294
Full Changelog: v0.1.0...v1.0.0
v1.0.0-rc.2
What's Changed
- 🌱 Add issues templates by @mcbenjemaa in #291
- 🌱 Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 by @dependabot in #293
- 🐛 Fix trailing whitespace in metadata.yaml by @MaxRink in #294
- 🌱 Bump sigs.k8s.io/cluster-api from 1.8.3 to 1.8.4 by @dependabot in #295
- Ignore cluster not found on claim deletion by @mcbenjemaa in #296
New Contributors
Full Changelog: v1.0.0-rc.1...v1.0.0-rc.2
v1.0.0-rc.1
This release comes with the fix in the metadata file.
Important Notes
- The IPAM provider now allows creating IPPool with
/0
prefix
What's Changed
- Allow IPPool to have Prefix /0 by @mcbenjemaa in #288
- Update metadata.yaml by @mcbenjemaa in #290
Full Changelog: v1.0.0-rc.0...v1.0.0-rc.1
v1.0.0-rc.0
🚀 This is a pre-release for v1.0.0
⚠️ Breaking Changes since v0.1.0
As part of this release, we do not have any breaking changes.
New Features
What's Changed
- 🌱 Add mcbenjemaa to OWNERS_ALIASES by @mcbenjemaa in #235
- 🌱 Bump sigs.k8s.io/cluster-api from 1.6.1 to 1.6.2 by @dependabot in #236
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.16.0 by @dependabot in #237
- 🌱 Bump softprops/action-gh-release from 1 to 2 by @dependabot in #238
- 🌱 Bump sigs.k8s.io/cluster-api from 1.6.2 to 1.6.3 by @dependabot in #240
- 🌱 Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 by @dependabot in #241
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.16.0 to 2.17.1 by @dependabot in #243
- 🌱 Bump golangci/golangci-lint-action from 4.0.0 to 6.0.1 by @dependabot in #255
- 🌱 update dependencies by @schrej in #250
- 🌱 Update conversion-gen to a fixed tag by @flawedmatrix in #256
- 🐛 Add reconciler watch for when pool capacity becomes available by @flawedmatrix in #253
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.19.0 by @dependabot in #261
- 🌱 bump go version in container image to 1.22 by @schrej in #263
- 🌱 Bump sigs.k8s.io/cluster-api from 1.7.1 to 1.7.3 by @dependabot in #264
- 🌱 Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 by @dependabot in #268
- 🌱 upgrade golangci-lint and it's config and make it happy by @schrej in #276
- 🐛 Fix image reference in tilt-provider.yaml by @erwin-kok in #273
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.19.0 to 2.20.2 by @dependabot in #279
- 🌱 Bump github.com/onsi/gomega from 1.33.1 to 1.34.2 by @dependabot in #280
- 🌱 Bump sigs.k8s.io/cluster-api from 1.8.1 to 1.8.3 by @dependabot in #283
- Make github action able to create a draft release by @mcbenjemaa in #284
New Contributors
- @mcbenjemaa made their first contribution in #235
- @erwin-kok made their first contribution in #273
Full Changelog: v0.1.0...v1.0.0-rc.0
v0.1.0
This is the first proper release of the In Cluster IPAM Provider for Cluster API! Thanks to all the contributors that helped getting here, especially @tylerschultz, @christianang, @flawedmatrix, @p-strusiewiczsurmacki-mobica and @rikatz.
⚠️ Breaking Changes since v0.1.0-alpha.3
- The prefix for the deployment resources was changed from
caip-in-cluster
tocapi-ipam-in-cluster
to avoid confusingcaip
as a misspelling of capi (#214) - If you have a running deployment of the IPAM provider, you'll need to undeploy the provider first to avoid two instances running at the same time. The CRDs are not affected by this change, so you can keep them in place to avoid losing data.
- The
ClaimReconciler
inpkg/ipamutil
now passes acontext.Context
to theReleaseAddress
method of aClaimHandler
.
What's Changed since v0.1.0-rc.0
- Ensure IPAddress has a ClusterName label as CAPI resources by @zhanggbj in #220
⚠️ ReleaseAddress should receive a context by @rikatz in #232- 🌱 use registry.k8s.io image in release manifests by @schrej in #231
- 🌱 Bump golangci/golangci-lint-action from 3.7.0 to 4.0.0 by @dependabot in #233
New Contributors
Full Changelog: v0.1.0-rc.0...v0.1.0
v0.1.0-rc.0
⚠️ Breaking Changes
- The prefix for the deployment resources was changed from
caip-in-cluster
tocapi-ipam-in-cluster
to avoid confusingcaip
as a misspelling ofcapi
(#214)
If you have a running deployment of the IPAM provider, you'll need to undeploy the provider first to avoid two instances running at the same time. The CRDs are not affected by this change, so you can keep them in place to avoid losing data.
Notable Changes & Fixes
- Reserved addresses can now be allocated as well by setting
spec.allocateReservedIPAddresses
(#171) - Addresses can now be excluded using
spec.excludeAddresses
(#182) - The generic parts of the reconciliation logic were moved to the
pkg/ipamutil
package and can now be reused by future ipam providers (#203) - We now have official images available at
registry.k8s.io/capi-ipam-ic/capi-ipam-in-cluster-controller
What's Changed
- 🐛 Controller does not allocate reserved addresses by @adobley in #171
- 🌱 Refactor controller tests by @adobley in #173
- 🌱 Bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 by @dependabot in #181
- ✨ Allow address exclusion by @Noroth in #182
- README.md: fix clusterctl init by @chrischdi in #190
- 🌱 Bump docker/login-action from 2.0.0 to 3.0.0 by @dependabot in #187
- 🌱 Bump docker/metadata-action from 4.4.0 to 5.0.0 by @dependabot in #188
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.11.0 to 2.12.1 by @dependabot in #191
- 🌱 Bump actions/checkout from 3 to 4 by @dependabot in #184
- 🌱 Bump github.com/onsi/gomega from 1.27.10 to 1.28.0 by @dependabot in #193
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.12.1 to 2.13.0 by @dependabot in #194
- 🌱 Bump golang.org/x/net from 0.14.0 to 0.17.0 by @dependabot in #195
- 🌱 Add
categories=cluster-api
to the crd by @chrischdi in #197 - 🌱 add rikatz to reviewers by @schrej in #198
- 📖 Update readme by @schrej in #199
- 🌱 Bump github.com/onsi/gomega from 1.28.0 to 1.29.0 by @dependabot in #202
- 🌱 Prepare to use k8s image registry for releases by @rikatz in #166
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 by @dependabot in #205
- 🌱 Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 by @dependabot in #204
- 🌱 improve image building by @schrej in #208
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.13.1 to 2.13.2 by @dependabot in #209
- 🌱 Bump actions/setup-go from 4 to 5 by @dependabot in #216
- 🌱 Bump sigs.k8s.io/cluster-api from 1.4.1 to 1.6.0 by @alexandrevilain in #219
⚠️ Generic claim reconciler by @p-strusiewiczsurmacki-mobica in #203- 🌱 Bump github.com/onsi/gomega from 1.30.0 to 1.31.1 by @dependabot in #223
- 🌱 Bump sigs.k8s.io/cluster-api from 1.6.0 to 1.6.1 by @dependabot in #224
- 🐛 bump go version for container images to 1.21 by @schrej in #226
⚠️ align prefix of deployments with image name by @schrej in #214- 🌱 Update to current preferred config directory by @stmcginnis in #228
- 🌱 add clusterctl move-hierarchy labels to pools by @schrej in #227
New Contributors
- @Noroth made their first contribution in #182
- @alexandrevilain made their first contribution in #219
- @p-strusiewiczsurmacki-mobica made their first contribution in #203
- @stmcginnis made their first contribution in #228
Full Changelog: v0.1.0-alpha.3...v0.1.0-rc.0
v0.1.0-alpha.3
This release adds a new v1alpha2 API which removes the subnet
, first
and last
fileds in favor of addresses
.
Additions
- New v1alpha2 api types with a simpler interface (#123)
- Claims and pools belonging to a paused cluster are no longer reconciled (#167 #105)
- A new
ipam.cluster.x-k8s.io/skip-validate-delete-webhook
annotation to skip deletion validation (#141) - Show counts of available, in-use and out-of-range addresses in staus (#116 #125)
- Prevent pools with allocated IPs from being deleted (#124)
- Validation that prevents resizing a pool if it would orphan in-use IPs (#125)
- Addresses can now be specified as ranges and CIDRs (#95)
- Gateways can now be omitted for IPv6 pools (#90)
Fixes
- Gateway is now required for IPv4 pools (#118)
- Two claims with the same name, but different namespace no longer cause reconciliation to fail when using GloablInClusterIPPool (#137)
- GlobalInClusterIPPools no longer hand out duplicate IPs for claims in different namespaces (#99)
- IPAddresses won't get deleted until the claim is deleted (#76)
- IPAddresses now have correct finalizers and owner references (#88)
Container Image
Until we have finished the setup for container images in the official registry the image is available here: https://github.com/users/schrej/packages/container/cluster-api-ipam-provider-in-cluster/115023672?tag=v0.1.0-alpha.3
Alternatively you can build it by cloning the repository and running the following commands
make licenses-report
docker buildx build --platform linux/amd64 -t ghcr.io/kubernetes-sigs/cluster-api-ipam-provider-in-cluster:v0.1.0-alpha.3 --build-arg ldflags="$(hack/version.sh)" .
v0.1.0-alpha.2
- Fixes namespaces being ignored when fetching IPAddresses that are part of an InClusterIPPool
- Adds a new GlobalInClusterIPPool that allows to share an address space across namespaces
- Pools can now contain a list of addresses to support non-continuous ranges
v0.1.0-alpha.1
Initial alpha release to facilitate infrastructure provider integration.
This release comes with clusterctl support based on kubernetes-sigs/cluster-api#7288. Since it's not added to the list of built-in providers yet, you'll need to add the following to your ~/.cluster-api/clusterctl.yaml
if you want to install it using clusterctl init --ipam in-cluster
:
providers:
- name: in-cluster
url: https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster/releases/latest/ipam-components.yaml
type: IPAMProvider