Skip to content

Releases: kubernetes-sigs/cluster-api-ipam-provider-in-cluster

v0.1.0

14 Feb 16:33
v0.1.0
d4352c0
Compare
Choose a tag to compare

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 to capi-ipam-in-cluster to avoid confusing caip 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 in pkg/ipamutil now passes a context.Context to the ReleaseAddress method of a ClaimHandler.

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

08 Feb 08:51
v0.1.0-rc.0
72541a4
Compare
Choose a tag to compare
v0.1.0-rc.0 Pre-release
Pre-release

⚠️ Breaking Changes

  • The prefix for the deployment resources was changed from caip-in-cluster to capi-ipam-in-cluster to avoid confusing caip 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.

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

New Contributors

Full Changelog: v0.1.0-alpha.3...v0.1.0-rc.0

v0.1.0-alpha.3

02 Aug 11:54
80ec908
Compare
Choose a tag to compare
v0.1.0-alpha.3 Pre-release
Pre-release

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

01 Feb 13:24
13be977
Compare
Choose a tag to compare
v0.1.0-alpha.2 Pre-release
Pre-release
  • 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

24 Oct 18:50
Compare
Choose a tag to compare
v0.1.0-alpha.1 Pre-release
Pre-release

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