v0.9.0
Changes since v0.8.2
✨ New Features
- sync resources from syncer virtual server (#1995)
- pkg/admission/apibinding: more informative authorization failure message (#2124)
- Add reservednames admission plugin to surface clearer error messages (#2118)
- Add kubectl workspace plugin and adjust usage output (#1901)
- Warn users when APIBindings PermissionClaims don't match APIExport's PermissionClaims (#2046)
- Add profiler support to front proxy and virtual workspaces (#2023)
- Add support for default APIBindings to create per ClusterWorkspaceType when initializing a workspace (#1877)
- Add root compute workspace (#1962)
- *: use cluster-aware keyfuncs & splitters (#1958)
- Syncer Tunneler: Pod logs, .... (#873)
🐛 Bug Fixes
- Remove the logical-cluster & sync-target labels from syncer namespace (#2130)
- Syncer AdvancedScheduling fixes: Avoid syncing down the experimental status annotation. (#2129)
- Fix bugs in the resource controller (#2126)
- kubectl-kcp: remove duplicated NewFlagSet (#2125)
- Detect kubectl plugin via FlagSet Name (#2121)
- Only delete ClusterRoles and ClusterRoleBindings when Workspace finalizer is removed (#2113)
- Fix link rendering in FAQ.md (#2115)
- Fix typo (#2114)
- fix- nil context in workspace-use plugin (#2106)
- syncer: apply name transformations to spec controller downstream informer (#2096)
- Fix make install (#2098)
- fix OS and ARCH not being properly initialized (#2097)
- syncer/status: make sure the resource is owned by this syncer before updating the status (#2049)
- Allow go to determine ARCH and OS during build (#2091)
- Avoid redundant delete in workspace deletion (#2086)
- apibinder: don't use external address for now (#2095)
- Add trailing slash to COPY command in Dockerfile (#2077)
- Revert "syncer: remove finalizer if downstream resource has been deleted" (#2078)
- syncer: remove finalizer if downstream resource has been deleted (#2055)
- apis: use correct annotation to require fields (#2067)
- Fix kubectl overrides in 'kubectl workspace' plugin commands (#2058)
- bug fix Add maximal permission policy for compute APIExport (#2033)
- pkg/admission/webhook: differentiate states (#2031)
- pkg/admission/webhook: fix nil panic (#2029)
- Fix scripts to run on mac with gnu sed (#2026)
- syncer: use the correct key splitter (#1985)
- syncer: bifurcate the namespace controller (#1978)
- *: split meta namespace keys correctly (#1957)
- Don't calculate new placements for resources that are being deleted (#1953)
- Fix generated APIResourceSchema names (#1940)
- cache-client: fix npe when the context wasn't set (#1927)
- fix filename for negotiatedapiresources (#1917)
- pkg/authorization/apibinding_authorizer: fix nil panic (#1920)
- Fix ctrl-c not gracefully terminating (#1900)
- pkg/virtual/workspaces/registry: fix panic sending to a closed channel (#1889)
🌱 Others
- cache: replication controller: attach the shard annotation during object creation (#2122)
- Proxy refactor to options/config/server pattern (#2110)
- cmd/kcp-front-proxy: use component-base/cli Run (#2108)
- cache: introduce the replication controller (#2024)
- cache-server: disable ServerSideApply feature (#2109)
- Remove klog from tests (#2072)
- Remove ingress splitter and deployment splitter which do not work currently... (#2103)
- pkg/apis: update logicalcluster to v2.0.0-alpha.3 (#2085)
- authz: remove the concept of a merged informer (#2083)
- Add make targets to update and verify go.mod (#2071)
- build(deps): bump uraimo/run-on-arch-action from 2.2.0 to 2.2.1 (#2081)
- Remove deploy task from github actions (#2084)
- Combine Dockerfile kubectl layers to save space (#2079)
- Add ppc64le support to e2e test workflow (#2019)
- cache server: stop serving subresources for built-in resources (#2063)
- syncer(apiimporter,syncer,tunneler}: use structured, contextual logging (#2054)
- Move VW registry's rest file to contextual logging (#2069)
- Upgrade to logicalcluster v2.0.0-alpha.3 (#2070)
- turn off goreleaser from PRs and pushes to main (#2074)
- tenancy: allow single-character logical cluster names (#2020)
- kcp: controllers don't have to check if caches have been synced during startup (#2053)
- proxy: pass context for contextual logging (#2044)
- apibinding, types: remove ancestor check (#2060)
- authorisation: stop using the ValidClusterFrom method (#1996)
- pkg/server: enable audit logging in virtual workspace apiserver (#2047)
- test/e2e: enable audit logs (#2045)
- cmd/kcp-front-proxy move filters into module (#2043)
- pkg/proxy use contextual logging (#2042)
- Update community meeting template (#2040)
- Stop shortening git sha used to update RH gitops repo (#2025)
- Wire the cache server into the kcp server (#1954)
- add CLI `workspace tree' (#1989)
- Front proxy use contextual logging (#2002)
- Update batteries-included option usage (#2001)
- WithClusterScope: should not assign a default cluster name (#1871)
- kcp: add flags related to the cache server (#1970)
- cache: expose the cache-server under "/services/cache" path (#1961)
- cache: small refactor to make wiring into kcp easier (#1949)
- pkg/util: delete (#1951)
- cache: moves common HTTP handlers to a shared pkg (#1947)
- cache: makes all internal clients shard and cluster aware (#1928)
- Remove deploy task from GitHub Actions (#2084)
- Enable PR verifier (#1941)
- cache-server: adds ShardNameFromObjectRoundTripper (#1926)
- bump to the latest kube level (#1918)
- verify-go-versions.sh make CONTRIBUTING.md check conditional (#1915)
- fix readme typo (#1925)
- spellcheck across the repository (#1908)
- Update README.md golang version and add to verify script (#1894)
- build(deps): bump imjasonh/setup-ko from 0.5 to 0.6 (#1912)
- Simplify plugin code (#1701)
📖 Documentation
- Update readme (#1911)
- Generate CLI docs (#2000)
- Add a quickstart doc for tenancy and APIs (#2064)
- Update FAQ links to point to renamed concepts.md (#2100)
- Document the cache-server (#1896)
- docs/architecture: remove because totally outdated (#1892)
- Add initial release process docs (#1886)
Thanks to all our contributors! 😊