Releases: kube-vip/kube-vip
v0.8.0
Big new features
Specify which interface a service should use
The annotation kube-vip.io/serviceInterface:
can now be used on a service to define which interface on the machine the service will be exposed on.
e.g.
metadata:
name: nginx-interface-ens192-service
annotations:
kube-vip.io/serviceInterface: ens192
Mirror Traffic
A mirror_dest_interface
environment variable is now available, by default it will mirror from either servicesInterface
of the default interface to the destination interface address!
Control plane load balancing
Defaults to masquerade
mode, and will now ensure health checks of the control plane nodes!
Egress updates
Cleaner behaviours of the egress rules ensuring only specific egress addresses are impacted by changes to the service/loadbalancer object.
What's Changed
- Fix netmask of ipvs to consider ipv6 case by @lubronzhan in #783
- Bump go.uber.org/zap from 1.26.0 to 1.27.0 by @dependabot in #773
- Add masquerade mode by @lou-lan in #782
- fix: Modify the ImagePullPolicy used by cli manifest by @Bao0ne in #805
- fix: add iptables-legacy package by @starbops in #809
- fix: add ddns address as a network by @adavis10006 in #795
- Use node name for service election and lease holder name instead of hostname by @d-uzlov in #811
- Fixes on masquerade forwarding mode by @wyike in #812
- Mirror traffic of service interface to a dest interface by @lubronzhan in #770
- Removal of deprecated start command by @thebsdbox in #778
- Bump golang from 1.22.0-alpine3.18 to 1.22.2-alpine3.18 by @dependabot in #807
- Bump k8s.io/apimachinery from 0.29.1 to 0.29.3 by @dependabot in #792
- Bump anchore/sbom-action from 0.15.8 to 0.15.10 by @dependabot in #801
- fixes to linting by @thebsdbox in #817
- Bump github.com/osrg/gobgp/v3 from 3.22.0 to 3.25.0 by @dependabot in #806
- Adds annotation support for service interfaces. by @thebsdbox in #816
- Examples and fixes to annotation interface by @thebsdbox in #819
- Bump github.com/onsi/gomega from 1.30.0 to 1.32.0 by @dependabot in #796
- Errors are being ignored by @thebsdbox in #820
- Bump go.etcd.io/etcd/client/v3 from 3.5.11 to 3.5.13 by @dependabot in #821
New Contributors
- @Bao0ne made their first contribution in #805
- @starbops made their first contribution in #809
- @adavis10006 made their first contribution in #795
- @d-uzlov made their first contribution in #811
- @wyike made their first contribution in #812
Full Changelog: v0.7.2...v0.8.0
v0.7.2
Mainly bug fixes, but a main bug fix around egress for TCP ports. The garbage collection was a little bit too enthusiastic.
What's Changed
- Fix flaky e2e test by @lubronzhan in #776
- Exit(1) if service's leaderelection.onStartedLeading error out instead of silently continue by @lubronzhan in #775
- Fixes conntrack deleting wrong connections and cleaning old SNAT rules by @thebsdbox in #777
Full Changelog: v0.7.1...v0.7.2
v0.7.1
Fixes a number of bugs that were introduced with some of the new features!
- IPVS issues on the HA control plane
- Issues around egress addresses not being applied
- Route refactoring and lifecycle fixes
What's Changed
- Added common endpoint provider interface and fixed route deletion iss… by @p-strusiewiczsurmacki-mobica in #761
- Bump golang from 1.21.6-alpine3.18 to 1.22.0-alpine3.18 by @dependabot in #760
- Fix IPVS service error: netlink receive invalid argument by @lou-lan in #765
- Added possibility to remove redundant routes by @p-strusiewiczsurmacki-mobica in #763
- Bump sigs.k8s.io/kind from 0.20.0 to 0.22.0 by @dependabot in #764
- Bump golang.org/x/sys from 0.16.0 to 0.17.0 by @dependabot in #759
- Bump go.etcd.io/etcd/api/v3 from 3.5.11 to 3.5.12 by @dependabot in #757
- fixes a bug that wouldn't return CIDRs for egress by @thebsdbox in #768
New Contributors
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Big release
We now support IPv4/6 both on services and the control plane, with additional BGP updates and fixes for kubeadm
this has been a long release to get out.
What's Changed
- Bump golang.org/x/sys from 0.13.0 to 0.15.0 by @dependabot in #671
- Adds capability to use your own images for e2e by @thebsdbox in #693
- Dualstack support for Loadbalancer Services by @flawedmatrix in #687
- Add config options for BGP timers by @marc-cerebras in #695
- Bump alpine from 3.18.4 to 3.19.0 by @dependabot in #681
- Bump github.com/prometheus/client_golang from 1.16.0 to 1.17.0 by @dependabot in #674
- Bump actions/setup-go from 4 to 5 by @dependabot in #679
- Bump github/codeql-action from 2 to 3 by @dependabot in #689
- Bump anchore/sbom-action from 0.15.0 to 0.15.1 by @dependabot in #678
- Bump golang from 1.21.4-alpine3.18 to 1.21.5-alpine3.18 by @dependabot in #680
- Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.2 by @dependabot in #672
- Updates to the client to auto-detect by @thebsdbox in #699
- Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #697
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #690
- Bump k8s.io/api from 0.28.3 to 0.28.4 by @dependabot in #673
- docs: fix directroute forwarding method by @zifeo in #696
- Bump k8s.io/apimachinery from 0.28.3 to 0.29.0 by @dependabot in #688
- fixes go modules by @thebsdbox in #707
- Workflow update for go 1.21 by @thebsdbox in #708
- Bump k8s.io/client-go from 0.28.3 to 0.29.0 by @dependabot in #703
- Bump go.etcd.io/etcd/api/v3 from 3.5.10 to 3.5.11 by @dependabot in #702
- Bump go.etcd.io/etcd/client/v3 from 3.5.10 to 3.5.11 by @dependabot in #704
- More fixes by @thebsdbox in #709
- #647 Update Dependencies for Security Patch by @amragaey in #648
- Bump github.com/cloudflare/ipvs from 0.9.1 to 0.10.1 by @dependabot in #660
- fixes to the new ipvs import by @thebsdbox in #710
- Removed docs as described in Remove /docs #549 by @AHB102 in #700
- Bumps the Makefile for a new release by @thebsdbox in #712
- Allows a configurable path to the kubernetes config by @thebsdbox in #713
- fix #723 and allow short hostnames as well by @Cellebyte in #724
- Non-leader-election for routing table mode by @p-strusiewiczsurmacki-mobica in #720
- Added cli-options for bgp holdtime and keepalive by @Cellebyte in #730
- Minimal implementation of DualStack Services support by @p-strusiewiczsurmacki-mobica in #722
- Bump github.com/packethost/packngo from 0.30.0 to 0.31.0 by @dependabot in #715
- Bump anchore/sbom-action from 0.15.1 to 0.15.3 by @dependabot in #726
- Bump golang.org/x/sys from 0.15.0 to 0.16.0 by @dependabot in #716
- Consistent logging by @thebsdbox in #733
- Bump github.com/osrg/gobgp/v3 from 3.19.0 to 3.22.0 by @dependabot in #717
- Bump github.com/prometheus/client_golang from 1.17.0 to 1.18.0 by @dependabot in #718
- Bump k8s.io/klog/v2 from 2.110.1 to 2.120.0 by @dependabot in #725
- No-leader-election mode for BGP and fixes for routing table mode by @p-strusiewiczsurmacki-mobica in #740
- fix: Using log instead of fmt.print by @ii2day in #746
- Bump k8s.io/klog/v2 from 2.120.0 to 2.120.1 by @dependabot in #734
- Bump github.com/onsi/ginkgo/v2 from 2.13.2 to 2.15.0 by @dependabot in #735
- Bump alpine from 3.19.0 to 3.19.1 by @dependabot in #742
- Bump golang from 1.21.5-alpine3.18 to 1.21.6-alpine3.18 by @dependabot in #727
- Bump k8s.io/apimachinery from 0.29.0 to 0.29.1 by @dependabot in #736
- Bump anchore/sbom-action from 0.15.3 to 0.15.8 by @dependabot in #747
- Bump k8s.io/client-go from 0.29.0 to 0.29.1 by @dependabot in #737
- fix: print manifests to stdout by @Wielewout in #750
New Contributors
- @flawedmatrix made their first contribution in #687
- @zifeo made their first contribution in #696
- @amragaey made their first contribution in #648
- @AHB102 made their first contribution in #700
- @Cellebyte made their first contribution in #724
- @p-strusiewiczsurmacki-mobica made their first contribution in #720
- @ii2day made their first contribution in #746
- @Wielewout made their first contribution in #750
Full Changelog: v0.6.4...v0.7.0
v0.6.4
Big changes / fixes
- Use a separate etcd cluster for the HA control plane / leaderElection
- Fixes to routing/table mode for VIP lifecycle
- Fixes to the
rbac
- Ability to push a hostname when using DHCP
- Various other e2e fixes (much faster CI)
What's Changed
- Add leader election using etcd as a backend by @g-gaston in #626
- Fix etcd e2e tests in GitHub actions by @g-gaston in #629
- Bump golang.org/x/net from 0.12.0 to 0.17.0 by @dependabot in #628
- .github: Add a dependabot config by @mrueg in #633
- Bump golang from 1.20.8-alpine3.18 to 1.21.3-alpine3.18 by @dependabot in #634
- Bump docker/setup-qemu-action from 1 to 3 by @dependabot in #635
- Bump github/codeql-action from 1 to 2 by @dependabot in #636
- Bump anchore/sbom-action from 0.12.0 to 0.14.3 by @dependabot in #638
- Bump docker/build-push-action from 2 to 5 by @dependabot in #639
- Bump go.uber.org/zap from 1.21.0 to 1.26.0 by @dependabot in #645
- Bump github.com/onsi/ginkgo/v2 from 2.12.1 to 2.13.0 by @dependabot in #641
- Bump github.com/osrg/gobgp/v3 from 3.17.0 to 3.19.0 by @dependabot in #644
- Bump google.golang.org/grpc from 1.57.0 to 1.57.1 by @dependabot in #649
- Bump alpine from 3.18.3 to 3.18.4 by @dependabot in #637
- Bump actions/checkout from 2 to 4 by @dependabot in #640
- Bump k8s.io/client-go from 0.27.4 to 0.28.3 by @dependabot in #643
- Add doc for static pods on k0s using k0sctl by @aarnaud in #650
- Add annotation to specify DHCP lease hostname by @shkuviak in #664
- Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 by @dependabot in #653
- Bump go.etcd.io/etcd/client/pkg/v3 from 3.5.9 to 3.5.10 by @dependabot in #654
- Bump docker/login-action from 1 to 3 by @dependabot in #656
- Bump anchore/sbom-action from 0.14.3 to 0.15.0 by @dependabot in #668
- Bump docker/setup-buildx-action from 1 to 3 by @dependabot in #657
- Bump golang from 1.21.3-alpine3.18 to 1.21.4-alpine3.18 by @dependabot in #659
- Bump github.com/onsi/gomega from 1.27.10 to 1.30.0 by @dependabot in #661
- Bump go.etcd.io/etcd/client/v3 from 3.5.9 to 3.5.10 by @dependabot in #655
- Cleanup by @thebsdbox in #669
- Add environment variable for routing table type by @timosluis in #606
- Added create rbac settings section for kind deployment by @hellt in #607
- Fixes to linting for routing table by @thebsdbox in #670
New Contributors
- @aarnaud made their first contribution in #650
- @shkuviak made their first contribution in #664
- @hellt made their first contribution in #607
Full Changelog: v0.6.3...v0.6.4
v0.6.3
A number of new features and fixes, this will be the last 0.6.x release as we've some bigger stuff in the pipeline 🫠
What's Changed
- ARP: Add node labeling for ARP mode DaemonSet deployment. by @mjtrangoni in #617
- prometheus: Handle root path by @mjtrangoni in #613
- chore: Spelling fixes by @mjtrangoni in #612
- This bumps the base images for vulnerabilities by @thebsdbox in #619
- Adds logic and debugging around fqdn endpoints by @thebsdbox in #621
- Allow svc lock name to be configurable in arp mode. by @Willena in #622
- Enable unit and e2e tests in CI by @g-gaston in #624
- Call fatal when interface fails by @thebsdbox in #623
New Contributors
- @mjtrangoni made their first contribution in #617
- @Willena made their first contribution in #622
- @g-gaston made their first contribution in #624
Full Changelog: v0.6.2...v0.6.3
v0.6.2
🚨 This fixes a regression that meant that leases were being duplicated, causing VIP losses and other chaos (apologies)
What's Changed
- Fixes to ginko by @thebsdbox in #593
- Some BIG OLDE e2e tests! by @thebsdbox in #596
- This makes sure we check if a services is active by @thebsdbox in #597
- Updating version in makefile by @jkossis in #595
- Increase client QPS to reduce clientside k8api throttling by @megakid in #575
- Fix to main by @thebsdbox in #598
- action fix by @thebsdbox in #599
- Fix dos through checking for remaining services before releasing ip. … by @usiegl00 in #601
New Contributors
- @jkossis made their first contribution in #595
- @megakid made their first contribution in #575
- @usiegl00 made their first contribution in #601
Full Changelog: v0.6.1...v0.6.2
v0.6.1
What's Changed
- Add BGP password support for Equinix Metal by @enkelprifti98 in #565
- Add support for multiple BGP peers when using Equinix Metal annotations by @enkelprifti98 in #567
- adding iptables-wrappers script to entrypoint by @dockerpac in #502
- Revert "adding iptables-wrappers script to entrypoint" by @thebsdbox in #569
- Check activeServiceLoadBalancerCancel is nil or not before calling it by @lubronzhan in #571
- Use configurable LeaseName instead of hardcoded by @timosluis in #573
- enable leaderelection for bgp in CP mode by @marc-cerebras in #578
- Fix makefile default target by @runsisi in #579
- Bump google.golang.org/grpc from 1.51.0 to 1.53.0 by @dependabot in #583
- Allow specifying annotations for created Lease resources by @timosluis in #585
- Update the DHCP workflows by @rikatz in #587
- Update go dependencies by @mrueg in #576
- Fixes to e2e tests and re-enabling by @thebsdbox in #592
New Contributors
- @enkelprifti98 made their first contribution in #565
- @dockerpac made their first contribution in #502
- @timosluis made their first contribution in #573
- @marc-cerebras made their first contribution in #578
- @runsisi made their first contribution in #579
- @rikatz made their first contribution in #587
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's Changed
- Add support for lbClassName by @W1zzardTPU in #546
- Use correct address family for ipvs destinations by @sykesm in #554
- fix LB annotations by @tuxtof in #553
- Ignore different family on IPVS delete by @sykesm in #555
- This ensures rule cleaning only happens in a NS by @thebsdbox in #558
- [feat] Add bgp metrics (bgp_session_info) by @DrBu7cher in #561
- Set iptables rules to restrict user access to ports other than the load balancer service port through the VIP by @yaocw2020 in #560
- Remove pkg/service and address items flagged by linting by @sykesm in #557
- Add annotation kube-vip.io/ignore-service-security by @yaocw2020 in #562
New Contributors
- @W1zzardTPU made their first contribution in #546
- @tuxtof made their first contribution in #553
- @DrBu7cher made their first contribution in #561
Full Changelog: v0.5.12...v0.6.0
v0.5.12
Iptables / nftables as internal logic
Moving away from the deprecated services logic in Kubernetes.
What's Changed
- go.mod: Bump dependencies by @mrueg in #526
- Update readme about compilation issue by @lubronzhan in #529
- Deprecate loadbalancerIP, use annotation to fetch service loadbalancerIP by @lubronzhan in #528
- Fix the doc link by @lubronzhan in #531
- Adds ability to specifc iptables or nftables by @thebsdbox in #536
- Update makefile to accept variable to update version by @lubronzhan in #538
- Adds nftables as an option, and fixes a panic by @thebsdbox in #540
Full Changelog: v0.5.11...v0.5.12