New features
Support for Kubernetes 1.26
With the new vcluster release we of course bring you the support of the latest stable Kubernetes release - 1.26. This version is supported for the vcluster k3s distro(default), k8s and k0s. Conformance test results for vcluster v0.14.0 and Kubernetes 1.26 will be made available shortly after this release is published.
Implemented by @neogopher in #857, #902.
Generic resource sync [Alpha]
Now, vcluster provides a built-in way to define additional Kubernetes resources that should be synced in a generic and declarative way with just a few lines of a YAML configuration. This allows users to change how Kubernetes native resources are synced, and also expand vcluster capabilities by syncing CRDs and leveraging Kubernetes controllers installed in the host cluster.
This feature is a successor to the vcluster-generic-crd-sync-plugin project. The full range of the generic sync features is available only in the vcluster created in the "multi-namespace mode" (see below). More information is available in the docs.
Over time we wish to expand the number of the example configurations in our GitHub repo - contributions are always welcomed!
Implemented by @ishankhare07 in #868; @matskiv in #899, #912; and @FabianKramm in #907.
Multi-namespace mode [Alpha]
This new feature diverges from the original vcluster architecture, where all namespaced resources were synced to the host namespace where vcluster was installed, and create a host namespace per virtual namespace and its respective namespaced resources. We see this feature being useful particularly in conjunction with the generic resource sync. More details are available in the documentation.
Implemented by @matskiv in #854, #889, #859, #879; @carlmontanari in #891, #892, #900, #904; @neogopher in #906; and @FabianKramm in #914.
Important changes
- feat: add flag to enable hostpath mapping by @ishankhare07 in #837
- feat: add flag to clear node images from node status by @brandonrjacobs in #826
- feat: add translation support for the dataSourceRef field in PersistentVolumeClaim Spec by @neogopher in #855
- feat: add option to sync all Secrets and ConfigMaps by @ishankhare07 in #865
- feat: allow setting clusterDomain in k0s helm chart by @an-tex in #867
- feat: exposing hostpathMapper.resources to values.yaml by @cinimins in #882
- feat: add ownerreferences to synced services by @AClarkie in #898
- feat(chart): expose .securityContext.runAsGroup by @rohantmp in #913
- fix(chart): do not override affinity in k8s by @WolfspiritM in #830
- fix(chart): remove extra entry .Values.sync.ingresses.enabled from vcluster.createClusterRole by @ishankhare07 in #856
- fix: cache key does not take into account helm repo by @rohantmp in #864
- fix: set all required fields of securityContext for 'vcluster-rewrite-hosts' initContainer by @neogopher in #885
- fix: add case for mapping headless service by @ishankhare07 in #905
- refactor: use coredns instead of node services by @FabianKramm in #871
- refactor: make syncer parallel by @FabianKramm in #869
- docs: clarify order of init manifests/charts by @matskiv in #833
Other Changes
- docs: remove comment about service cidr by @FabianKramm in #842
- docs: remove vcluster binary after installing it by @matskiv in #832
- fix: Update values.yaml by @FabianKramm in #872
- refactor: pause/resume cmds into lifecycle pkg by @TylerGillson in #808
- refactor: use Version struct from loft-sh/utils by @neogopher in #835
- refactor: abstract single namespace specific logic in interface by @FabianKramm in #836
- refactor: encapsulate single namespace logic by @FabianKramm in #838
- refactor: generics for syncer 'newIfNil' function by @neogopher in #876
- refactor: remove reflect from NewIfNil by @FabianKramm in #883
- fix: Update values.yaml by @FabianKramm in #872
- chore: update k8s dependencies to v1.26 by @neogopher in #903
- chore: upgrade dependencies to fix known vulnerabilities by @neogopher in #866
- chore: docs and dev enhancments by @matskiv in #825
- chore(deps): bump loader-utils from 1.4.0 to 1.4.2 in /docs by @dependabot in #824
- chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /docs by @dependabot in #850
- chore(deps): bump json5 from 1.0.1 to 1.0.2 in /docs by @dependabot in #888
- chore(deps): bump ua-parser-js from 0.7.27 to 0.7.33 in /docs by @dependabot in #910
- fix(ci): E2E workflow should fail faster if the vcluster wasn't ready by @matskiv in #880
- test(e2e): update devspace.yaml and documentation to run e2e tests by @pratikjagrut in #841
New Contributors
- @WolfspiritM made their first contribution in #830
- @an-tex made their first contribution in #867
- @cinimins made their first contribution in #882
- @AClarkie made their first contribution in #898
Full Changelog: v0.13.0...v0.14.0