Releases: liqotech/liqo
v0.9.0
Version 0.9.0 marks another big step forward in the maturity and usability of the project.
This release introduces the possibility of declaratively creating VirtualNodes. Now, Liqo better supports temporary disruptions of peered clusters and/or network unavailability. See Service Continuity for further details. Additionally, you can specify which labels and annotations will not be reflected in remote clusters; this may help in case of conflicting controllers on the two sides.
Other minor improvements and bug fixes have been introduced.
Thank you to all the people who tested our previous release, gave us hints to improve the project's usability, and contributed to this release!
What's Changed
💥 Breaking Change
🚀 New Features
- Extra tolerations for route daemonset by @Sharathmk99 in #1845
- Support caching of local offloaded pods in the controller-manager by @fra98 in #1848
- Liqoctl: confirm by @cheina97 in #1849
- Liqonet: boringtun ARM fix by @cheina97 in #1852
- feature: reflect remote events to the local cluster by @aleoli in #1839
- Added NodeSelector, Toleration and Affinity for CreateSecret Job by @Sharathmk99 in #1843
- Add flag to set images to use during volumes move by @aleoli in #1878
- Liqoctl: added confirm prompt to liqoctl unpeer by @cheina97 in #1891
- Add to "liqoctl status peer" status and URL of the remote API server by @fra98 in #1880
- feature: enable per pod remote APIServer support by @aleoli in #1854
- Disable the reflection of specific labels and annotations by @fra98 in #1907
- Liqoctl: install warnings by @cheina97 in #1936
🐛 Bug Fixes
- Mark local offloaded pods as NotReady when virtual-node is not ready (i.e. remote cluster failure) by @fra98 in #1853
- Liqoctl: install postProviderValues fix by @cheina97 in #1858
- VirtualKubelet: pod nil labels map by @cheina97 in #1938
🧹 Code Refactoring
- FIeldSelector indexer by @cheina97 in #1840
- Bump controller runtime to version 0.15 by @aleoli in #1857
- Pull Calico from docker proxy to avoid DockerHub ban by @aleoli in #1875
- remove replacement and use vk v1.10 for port forwarding by @ssoBAekiL in #1876
- Docs: sphinx-autobuild by @cheina97 in #1928
- Lint: disable depguard check by @fra98 in #1933
📝 Documentation
- Update documentation flag for moving a PVC between clusters. by @tom-asmblr in #1868
- Update prometheus-metrics.md by @scottboring in #1869
- Docs: telemetry by @cheina97 in #1929
- Service Continuity documentation by @fra98 in #1881
Other Changes
- E2E tests: increased restart count tollerance by @cheina97 in #1892
- Bump golangci-lint version from 1.52.0 to 1.53.3 by @cheina97 in #1921
- Bump golang version from 1.19 to 1.20 by @cheina97 in #1922
- CI: disable linter cache by @cheina97 in #1934
New Contributors
- @tom-asmblr made their first contribution in #1868
- @scottboring made their first contribution in #1869
Full Changelog: v0.8.3...v0.9.0
v0.8.3
v0.8.2
What's Changed
🚀 New Features
- Liqoctl: pod status check enhanced by @cheina97 in #1799
- ShadowEndpointSlice controller check for foreign API server status by @fra98 in #1774
- Virtual node checks the status of the API server via the ForeignCluster by @fra98 in #1820
- Liqoctl: flag to set service type by @cheina97 in #1825
- Add virtual-kubelet Grafana dashboard by @damianot98 in #1807
- ShadowPod Status by @Sharathmk99 in #1805
🐛 Bug Fixes
🧹 Code Refactoring
📝 Documentation
- Minor improvements to documentation by @frisso in #1798
- Roadmap v0.9 by @cheina97 in #1801
- Improving docs about Liqo metrics by @frisso in #1809
- Docs: Added supported k8S version by @cheina97 in #1813
- Docs: supported k8s version syntax by @cheina97 in #1817
- Document possibility to use external Prometheus server by @frisso in #1834
Other Changes
Full Changelog: v0.8.1...v0.8.2
v0.8.1
v0.8.0
Version 0.8.0 marks another big step forward in the maturity and usability of the project.
This release introduces the possibility to disable the networking module of Liqo. This will allow offloading pods without enabling the pod-to-pod connectivity between the two peered clusters if not required, enforcing more robust security requirements among them.
Other minor improvements and bug fixes have been introduced.
Thank you to all the people who tested our previous release and gave us hints to improve the usability of the project, and who contributed to this release!
What's Changed
💥 Breaking Change
- Resiliency to network failures in the remote (provider) cluster through ShadowEndpointslices by @fra98 in #1677
🚀 New Features
- Add metrics for virtual-kubelet by @damianot98 in #1570
- Make it possible to configure IPAM module by @aleoli in #1673
- VK: configurable network condition by @aleoli in #1685
- Make it possible to disable the IP reflection by @aleoli in #1684
- Configure external network by @aleoli in #1694
- Add readiness status of the foreign API server to the ForeignCluster CR by @fra98 in #1703
- Liqoctl: status supports internal network disabled by @cheina97 in #1727
- Liqoctl: status peer supports internal network disabled + unit tests by @cheina97 in #1743
- LiqoNet: Grafana dashboard data source selector by @cheina97 in #1750
- Node selector, tolerations & affinity support by @Sharathmk99 in #1756
- Disable remap of host K8S API server if it's reachable from remote cluster by @Sharathmk99 in #1773
🧹 Code Refactoring
- Bump golang-ci version to 1.52.0 by @aleoli in #1726
- Run e2e with cluster-api provided clusters by @aleoli in #1742
- E2E tests: liqoctl status + kubectl refactoring by @cheina97 in #1751
- Fix PR number in E2E tests dispatch by @cheina97 in #1767
📝 Documentation
- Docs: add external network feature docs by @aleoli in #1747
- Documenting how to declare resources by @frisso in #1754
- Docs: EKS minimum permissions required by @cheina97 in #1770
Other Changes
- Liqoctl: handle external network by @aleoli in #1720
- Add PR number in E2E tests dispatch by @cheina97 in #1765
- PR number in rebase (test=true) command by @cheina97 in #1771
New Contributors
- @damianot98 made their first contribution in #1570
Full Changelog: v0.7.2...v0.8.0
v0.7.2
What's Changed
🚀 New Features
- E2E fix + liqoctl bump golang version to 1.19 by @cheina97 in #1691
- Support Private AKS cluster by @Sharathmk99 in #1696
🐛 Bug Fixes
Other Changes
- Docs: broken link fix by @cheina97 in #1699
- Liqoctl: build 1.19 fix by @cheina97 in #1701
- Bump Golang version to 1.19 (revert) by @cheina97 in #1706
New Contributors
- @Sharathmk99 made their first contribution in #1696
Full Changelog: v0.7.1...v0.7.2
v0.7.1
What's Changed
🚀 New Features
- Liqonet: wg userspace metric by @cheina97 in #1660
- add portforwarding reflection to offloaded pod (#5) by @ssoBAekiL in #1666
- Liqoctl: status local endpoints by @cheina97 in #1680
🐛 Bug Fixes
- Liqoctl: status cluster-labels bug-fix by @cheina97 in #1655
- Unit Test: go1.19.5 fix by @cheina97 in #1661
🧹 Code Refactoring
- Docs: external link refactoring by @cheina97 in #1663
- Liqoctl: install ServiceType refactoring by @cheina97 in #1672
- Bump Golang version to 1.20 by @aleoli in #1687
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Liqo is an open-source project that enables dynamic and seamless Kubernetes multi-cluster topologies.
Version 0.7.0 marks another big step forward in the maturity and usability of the project. It allows Liqo users to contact the home API Server from the offloaded pods, also in the newer Kubernetes versions.
We proudly announce our custom Terraform provider, allowing you to create out-of-band peering and offload namespaces declaratively.
Additionally, this version introduces some bug fixes and is recommended to all users.
Thank you to all the people who tested our previous release and gave us hints to improve the usability of the project, and who contributed to this release!
What's Changed
🚀 New Features
- Liqoctl: status peer by @cheina97 in #1488
- Update of lables and annotations from shadowPod to pod by @ssoBAekiL in #1590
- VK: enable retrieval of SA tokens through API (k8s >= 1.24) by @giorio94 in #1606
- Add optional feature to guarantee better service continuity in case of worker node failure in the remote cluster by @fra98 in #1633
- add attach to pod reflection and switch to fork for vk library by @aka-somix in #1639
🐛 Bug Fixes
- Fix Permissions by @aleoli in #1573
- liqoctl install: support k3d through k3s provider by @giorio94 in #1574
- liqoctl peer in-band: fix foreign cluster creation race condition by @giorio94 in #1602
- Fix AWS IAM User Creation by @aleoli in #1605
🧹 Code Refactoring
- Liqoctl status: removed helm dependency by @cheina97 in #1568
- Bump k8s libraries to 1.26 by @aleoli in #1641
- Liqoctl install AWS: added IAM user-name flag disclaimer by @cheina97 in #1647
📝 Documentation
- Docs: Grafana dashboard image fix by @cheina97 in #1572
- Docs: update outdated flag for AKS install by @giorio94 in #1614
- Added IaC example page documentation by @AleDecre in #1610
- Example: replicated deployments by @cheina97 in #1632
- Examples: update k8s version by @cheina97 in #1650
New Contributors
- @ssoBAekiL made their first contribution in #1590
- @fra98 made their first contribution in #1633
- @AleDecre made their first contribution in #1610
- @aka-somix made their first contribution in #1639
Full Changelog: v0.6.1...v0.7.0
v0.6.1
Release notes for v0.6.1
Liqo is an open-source project that enables dynamic and seamless Kubernetes multi-cluster topologies.
Version 0.6.1 is a minor release that introduces several minor improvements and quality-of-life fixes.
What's Changed
🐛 Bug Fixes
- Remote Metrics: Filtering not ready nodes by @LucaRocco in #1560
🧹 Code Refactoring
- Helm: improve pre-delete job configurations and fix image mismatch by @giorio94 in #1541
- liqoctl uninstall: add timeout option by @giorio94 in #1542
- CRD replicator: fix flaky tests, and linting issue by @giorio94 in #1555
- liqoctl: fix help message when used as kubectl plugin by @giorio94 in #1556
- GitHub Workflow: Migrate outputs from ::set-output to GITHUB_OUTPUT by @LucaRocco in #1561
📝 Documentation
- Minor improvements to liqoctl install k3s by @giorio94 in #1531
- docs: adding asdf installation option for liqoctl by @pdemagny in #1558
- Docs: Fix broken link for contributing page by @leonardopoggiani in #1562
- Resource Plugins: Add doc and change helm variable by @LucaRocco in #1567
Other Changes
- README: fix broken badge by @giorio94 in #1537
- Migrate container registry to GitHub by @aleoli in #1536
- liqoctl help: fix leftover quotes by @giorio94 in #1554
New Contributors
- @pdemagny made their first contribution in #1558
- @leonardopoggiani made their first contribution in #1562
Full Changelog: v0.6.0...v0.6.1
v0.6.0
Release notes for v0.6.0
Liqo is an open-source project that enables dynamic and seamless Kubernetes multi-cluster topologies.
Version 0.6.0 marks another big step forward in the maturity and usability of the project. It features improved observability through continuous monitoring of the network fabric, including also a set of metrics exposed in the Prometheus format, complemented by a dedicated Grafana dashboard.
Concerning offloading, we introduced anti-affinity constraints presets to allow improved workloads scheduling on remote clusters, ensuring proper spreading in high-availability configurations. Moreover, you can now optionally enforce that offloaded pods do not exceed offered resources, as an additional guarantee in untrusted environments.
Finally, this version introduces the collection of anonymous analytics to help with the development of Liqo (optional, and can be disabled), as well as a huge variety of minor improvements and quality-of-life fixes.
Thank you to all the people who tested our previous release and gave us hints to improve the usability of the project, and who contributed to this release!
What's Changed
🚀 New Features
- Liqonet: wireguard metrics exposed by @cheina97 in #1339
- Virtual kubelet: enable skipping single object reflection by @giorio94 in #1362
- Foreign cluster resource: enforce peering type by @giorio94 in #1454
- Liqo Controller Manager: ShadowPod validating webhook by @cannarelladev in #1224
- liqoctl move pvc: bump restic and make container resources configurable by @giorio94 in #1469
- Override Services Address/Port by @aleoli in #1467
- Virtual kubelet pod forging: anti-affinity presets by @giorio94 in #1465
- LiqoNet: peer connectivity check by @cheina97 in #1382
- ForeignClusters: added mutation webhook by @cheina97 in #1500
- LiqoNet: Grafana "Liqo Network" dashboard by @cheina97 in #1487
- Collect Liqo Telemetry by @aleoli in #1460
🐛 Bug Fixes
- Bump gci version to 0.7.0 by @cheina97 in #1409
- Helm chart: fix semverCompare issue with certain version formats by @giorio94 in #1462
- Liqoctl: install wait for ForeignCluster by @cheina97 in #1476
- LiqoNet: IpamStorage EndpointMapping fix by @cheina97 in #1472
- Ensure tep finalizers cleanup when nodes are removed by @giorio94 in #1499
- foreign cluster: fix missing return when not found by @giorio94 in #1513
- resource offer: ensure deletion in invalid status by @giorio94 in #1510
- Fix: Liqoctl Install EKS by @aleoli in #1518
- Virtual kubelet: fix bug in pod reflection by @giorio94 in #1524
🧹 Code Refactoring
- Helm fixes to ease usage with Helm-related tools by @QcFe in #1445
- Virtual kubelet: switch to the v1 endpointslices API by @giorio94 in #1419
- Virtual kubelet: do not attempt to create pods twice by @giorio94 in #1471
- Adapt E2E tests for #1224, and fix issue by @giorio94 in #1470
- Refactoring: liqonetutils import by @cheina97 in #1482
- Linting: ipam tests by @cheina97 in #1484
- LiqoNet: externalCIDR forward fix + iptables comments and cleanup by @cheina97 in #1464
- Helm chart: make container resources configurable by @giorio94 in #1477
- liqoctl peer: improve wait ordering by @giorio94 in #1512
- External monitor: improvement grpc connection and error handling by @LucaRocco in #1485
- foreign cluster: improve remote identity enforcement by @giorio94 in #1511
📝 Documentation
- Reflection: document the possibility of disabling certain resource types by @giorio94 in #1461
- Documentation: add note about liqoctl remote cluster flags by @giorio94 in #1466
- Docs: New documentation section called Add-Ons and new add-on by @LucaRocco in #1481
- Added suggestion how big should be the cluster by @frisso in #1475
- Docs: add warning about mismatching versions by @giorio94 in #1526
Other Changes
- Bump golangci-lint version to 1.48.0 by @giorio94 in #1376
- Bump ginkgo to v2 and convert legacy tests by @giorio94 in #1375
- Bump golangci-lint version to 1.49.0 and remove deprecated linters by @giorio94 in #1399
- Bump all dependencies to the latest version by @giorio94 in #1373
- liqoctl: rename package inbound to inband by @giorio94 in #1456
- Liqoctl fix: peer inband by @cheina97 in #1455
- LiqoNet: gateway service monitor fix by @cheina97 in #1463
- Gitignore: test coverage by @cheina97 in #1468
- LiqoNet: add net utilities in container by @cheina97 in #1483
- Bump golangci-lint version from 1.49.0 to 1.50.0 by @LucaRocco in #1486
- make ctl: automatically set liqoctl version by @giorio94 in #1509
- Draft Releases by @aleoli in #1525
- Revert "make draft releases" by @aleoli in #1527
New Contributors
- @QcFe made their first contribution in #1445
- @cannarelladev made their first contribution in #1224
- @LucaRocco made their first contribution in #1481
Full Changelog: v0.5.4...v0.6.0