github kubernetes-sigs/kubebuilder v3.0.0

latest releases: v3.14.1, v3.14.0, v3.13.0...
2 years ago

v3.0.0

changes since v3.0.0-rc.0

✨ New Features

  • (go/v3) Makefile: set SHELL to the system's bash binary with shell opts (#2149)

🐛 Bug Fixes

  • (go/v3) moved leases.coordination.k8s.io to its own proxy-role rule (#2151)
  • regression - extracommands require a valid PROJECT file again (#2126)

changes since v2.3.1

⚠️ Breaking Changes

  • move declarative plugin to golang domain (#2114)
  • Plugin phase 1.5 implementation (#2060)
  • Export scaffolding machinery (#2082)
  • Inject filesystem from CLI instead of creating several per command (#2080)
  • Decouple plugin requirements from Config interface (#2047)
  • Explicitly define WithCompletion as an Option (#2045)
  • Resource validation (#1974)
  • Add --plural flag (go/v3) (#1967)
  • Update models (#1911)
  • upgrade kubebuilder module from v2 to v3 (#1958)
  • change structure to store crdVersion and webhookversion (go/v3-alpha) (#1899)
  • (go/v3) stabilize and default the plugin (#1882)
  • (go/v3-alpha) bump controller-runtime to v0.7.0 (#1886)
  • pkg/cli overhaul (#1828)
  • (go/v3-alpha) Align flag names with Kubernetes Components (#1852)
  • (go/v3-alpha) Adding support for scaffolding with a versioned ComponentConfig (#1790)
  • (go/v3-alpha) bump cert-manager CRs to v1 (#1840)
  • Re-organize pkg/plugin directory (#1822)
  • (go/v3-alpha) default to v1 CRDs and webhooks (#1644)
  • (go/v3-alpha) Makefile: install kustomize and controller-gen locally (#1813)
  • Provide version information as a CLI option (#1773)
  • (go/v3-alpha) deps: bump controller-runtime to v0.7.0-alpha.6 (#1804)
  • Go module fullfillment for v2+ (#1792)
  • upgrade controller-tool dep from 0.3.0 to 0.4.0 (go/v3-alpha only) (#1787)
  • [Rename] Disambiguate plugin by calling subcommand what the plugin getters returns instead of plugin (#1748)
  • Generate controllers with API Group name as package names in multi-group projects (only Go plugin v3) (#1729)
  • Update kubebuilder cli and plugin v3+ to use go version 1.15 (#1716)

✨ New Features

  • (go/v3) Makefile: set SHELL to the system's bash binary with shell opts (#2149)
  • add the common plugin(s) to allow it to be used by consumers (#2106)
  • Allow bundles to be used as input to other bundles (#2112)
  • Allow to modify the root's command description (#2105)
  • Enable the storage of multiple plugins as layout (#2096)
  • Provide third-party devs the option to provide their own alpha subcommands (#2089)
  • Add fish completion (#2088)
  • Add kubebuilder alpha config-gen command to explore generating configuration with kustomize functions (#1831)
  • (go/v3) create and bind to a non-default service account (#2070)
  • (go/v3) bump controller-runtime to v0.7.2 (#2064)
  • : Add go mod tidy to be executed after the scaffolding api (#2037)
  • Accept auto-generated files from GitHub into the allowed set of files (#2014)
  • Return a typed error in case DecodePluginConfig was unable to find the provided key (#1985)
  • Remove make calls from post-scaffold hooks (#1983)
  • Add the rest of the missing fields and stabilize config v3 (#1968)
  • Tolerate "dot" directories when checking if dir is empty (#1944)
  • (go/v3) change 'runAsUser: 65532' to 'runAsNonRoot: true' (#1978)
  • Use ErrorIfCRDPathMissing in EnvTest (#1765)
  • *: upgrade kube-rbac-proxy to v0.8.0 (#1955)
  • rename probes endpoints (go/v3) (#1910)
  • Build the command and use it to report user errors (#1937)
  • Make directory-not-empty error more self-explanatory (#1943)
  • Add help dialog to makefile template (#1947)
  • (go/v3) upgrade kubebuilder-declarative-pattern to k8s v1.19 (#1946)
  • Remove misleading help that mentioned dep (#1945)
  • Remove spaces from machine-readable comments (#1868)
  • (go/v3) Add the --force option for the webhook (#1903)
  • add new extension to markers in order to allow work with .yml (#1907)
  • Change the webhook GVK in help text to match kb create api (#1881)
  • (go/v3-alpha) Add the liveness and readiness probe in the manager deployment (#1856)
  • upgrade controller-runtime from v0.6.3 to v0.6.4 (go/v2 only) (#1880)
  • upgrade controller-rutime from v0.7.0-alpha.6 to v0.7.0-alpha.8 (go/v3-alpha) (#1875)
  • add make run option for webhooks (go/v3-alpha) (#1846)
  • go/v3-alpha: bump KustomizeVersion to v3.8.7 (#1838)
  • (go/v3-alpha) *: Replace 'docker build . -t ${IMG}' with '-t ${IMG} .' (#1817)
  • Add the liveness and readiness probe in the manager deployment (#1795)
  • Suggestions for create and alpha commands (#1775)
  • Upgrade the version of kubernetes to v1.18.0 for local e2e tests (#1744)
  • Provide a cli option to enable and disable completion command (#1776)
  • Cleanup in the controller and webhook suites scaffolding (go/v3-alpha) (#1760)
  • remove v1 version and only shows --plugins flag when the project version is != V2 (#1763)
  • Add copyright and license to scaffolded webhook suite test file (#1758)
  • Add scaffolding for the webhook test suite (go/v3-alpha) (#1710)
  • Make the edit command to be a plugin. (#1691)
  • add comments for the exported methods in generated controllers (only v3+) (#1690)
  • Add all kubernetes auth plugins for Azure, OIDC and gcp (only v3+) (#1742)
  • not allow to init the project in a directory that is not cleaned (v3+ only) (#1738)
  • feat(logging): make logging work by default (only v3+) (#1721)
  • Move the webhookcainjection_patch.yaml file creation from init project to webhook creation (#1728)
  • upgrade controller-runtime from v0.6.2 to v0.6.3 (#1715)
  • replace deprecated function LoggerTo() from zap package (only v3+) (#1692)
  • Added support for empty group in kubebuilder api creation with v3+ #1404 (#1679)
  • Added the changes for include finalizer as a default controller markers (#1688)
  • specify nonroot uid for manager (v3+ only) (#1635)

🐛 Bug Fixes

  • (go/v3) moved leases.coordination.k8s.io to its own proxy-role rule (#2151)
  • regression - extracommands require a valid PROJECT file again (#2126)
  • do not generate the cert-manager directory by default. (#2111)
  • default service monitor configuration to use https (#2065)
  • Fix alpha extra commands parent command (#2092)
  • Add https to the webpage (#2050)
  • fix unit tests to work with later versions of ginkgo/gomega (#2039)
  • Fix the bug where an error was being hidden by a potentially valid flag not being recognized by the root command (#2023)
  • (config/v3) Track in the project configuration file resources without API (#2003)
  • Fix go/v2 with config/v3 resources in config file to store webhook information (#1998)
  • Fix sorting issue with plugin versions and their supported project versions (#1995)
  • Validate the plugin flag (#1970)
  • Use correct file name in the comments of [kind]_types.go (#1927)
  • Fix --force option to recreate the files by kubebuilder create api (#1847)
  • Fix the path of probes (go/v3-alpha) (#1905)
  • (go/v3-alpha) add leases.coordination.k8s.io to leader-election-role (#1809)
  • kubebuilder edit ignore the errors if the project layout is already on same type (#1754)
  • Fix the kubebuilder api creation when resource creation is set to false (#1770)
  • fix copyright info when has not a owner set (#1749)
  • Fix the webhook creation for defaulting webhooks (#1718)
  • use rbac.authorization.k8s.io/v1 for the auth proxy client (#1731)
  • Remove unneeded caBundle value from webhook patches (V3 only) (#1699)
  • Add validation for the main.go file present in root directory (#1726)
  • check if resource exist to allow to create webhooks (#1708)
  • fix: the CRD paths is only ../.. when is multigroup (#1682)
  • Fix CRD Path for Multigroup (#1673)

❓ Sort these by hand

  • 👻 Enhance regex patterns (#1745)
  • Update flect from v0.2.1 to v0.2.2 (#1698)
  • :seeding: rename generate_mutiversion.sh to generate_multiversion.sh (#1683)
  • Fix 1680: Usage of nonexistent namespace in cronjob example tests (#1681)
  • doc: update testadata projects used in the tutorial (#1632)
  • doc: correct minor grammar mistakes (#1670)
  • doc: update reference with name of page (#1662)
  • dev(dx): lint improvements (use github actions to call it) (#1649)
  • docs: added a full stop for better readbility (#1661)
  • fix title: lost "needs" (#1658)
  • feat: envtest setup via target with docs (v3 only) (#1626)
  • doc: makefile helpers nit fix (#1648)
  • Fix path to generated main.go (#1643)
  • docs/book: fix small typos (#1638)
  • cleanup: organize templates in the same structure that they are scaffolded (#1623)
  • doc: add makefile helpers (#1631)
  • cleanup-book: remove docs/book/src/migration/testdata (#1499)
  • Fix old link to envtest docs that should have been removed (#1624)
  • pkg/model/config: only project versions >= v3 can use plugins config options (#1628)
  • using built in finalizer function and fix some syntax (#1629)
  • pkg/plugin/{v2,v3}: controller-runtime v0.6.2 (#1625)
  • pkg/plugin/v2: use config project name if project version is v3+ (#1611)
  • fix: script call for linux (#1610)
  • plugins: change project name config tag, add pkg/model/file.ProjectNameMixin (#1609)
  • feat: add script in the repo to setup envtest (#1608)
  • config: add project-name config key and optional init --project-name (#1603)
  • Fix typos (#1601)
  • pkg/plugin/v3: use repo instead of directory basename as project name (#1596)
  • cleanup: Remove the word sanity from our codebase (#1594)
  • Add missing kubebuilder annotation to the getting started document (#1587)
  • doc: replace links to godoc.org with links to pkg.go.dev (#1588)
  • fix crd-version-pref url (#1580)
  • feat: add dockerignore file to the scaffold (V3 only) (#1506)
  • Add envtest testing docs to extend cronjob example (#1521)
  • Check if has Scaffold before exec (#1577)
  • feat: add undeploy IMG option (V3 only) (#1571)
  • feat: improve go test for the scaffolded projects due checking race conditionals (v3 only) (#1570)
  • feat: add go test with -race conditional (#1569)
  • feat: add group in the controller logs for multi-group (#1568)
  • upgrade lint version and perform fixes (#1572)
  • OWNERS_ALIASES: add estroz to approvers (#1565)
  • Fix typo in deleteExternalResources comment (#1495)
  • doc: fix controller typo (#1567)
  • fix: remove role for configmaps/status which do not exists from leader_election_role.yaml (#1511)
  • fix: controller alias for multigroups (v3) (#1498)
  • clean up via go mod tidy : remove module added github.com/blang/semver v3.5.1+incompatible (#1566)
  • A small correction (#1561)
  • pkg/cli/init.go: make flag help consistent (#1564)
  • Add pwittrock to approvers (#1563)
  • pkg/plugin/v3: add plugin v3-alpha (#1551)
  • Docs: Fix invalid URL to Kubernetes reference docs in Using Finalizers (#1560)
  • Black Lives Matter (#1553)
  • pkg/plugin/plugin.go: correct version stage comparison (#1552)
  • pkg: refactor scaffolds and machinery under plugins (#1550)
  • docs: Fix a literal typo and incorrect list (#1548)
  • pkg/model/config: wrap plugin config in types (#1549)
  • *: remove plugin minor/patch versions (#1547)
  • pkg/cli: resolve --plugins/layout value by semantic version (#1536)
  • pkg/cli: only allow one default plugin per project version (#1542)
  • fix: fixed version of sigs.k8s.io/kubebuilder-declarative-pattern which should be used (#1527)
  • pkg/cli: use cmd error idiom for 'init' and plugin keys in cmd errors (#1540)
  • fix: validate plugins : allow many versions of the same plugin (#1535)
  • doc: add versions information to the contribution guidelines (#1528)
  • FIX: fix for controller-runtime 0.6.0 GetFieldIndexer().IndexField ctx param (#1533)
  • add patch verb to events in the leader_election_role (#1510)
  • fix: unable to build multigroup projects (#1507)
  • allow test utils be extended (#1520)
  • fix-ci: new update of kubebuilder-declarative-pattern (#1532)
  • docs: example of age print column (#1516)
  • makefile: use $(KUSTOMIZE) variable instead of binary name directly (#1523)
  • update testdata to fix CI (#1515)
  • feat: scaffolded by default the subresource status (#1484)
  • upgrade controller-runtime from v0.5.0 to v0.6.0 (#1497)
  • feat: remove update command which was useful just for v1 (#1489)
  • remove the deprecated flags: depArgs and dep. Use fetch-deps instead of them. (#1490)
  • fix: master branch CI with mock testdata update (#1504)
  • upgrade controller-tools version from v0.2.5 to v0.3.0 (#1482)
  • Add contribution link to the book (#1494)
  • Clean Code - Remove V1 implementation (#1355)
  • Plugins Phase 1 (#1469)
  • test scripts: add missing addons test, some refactoring (#1449)
  • Install kustomize if not present (#1430)
  • Clean the GO mod files by removing the unnecessary indirect imports (#1454)
  • Using utilruntime.Must() for adding schemes (#1462)
  • update the go check for the minimal required version (#1460)
  • Implement Wrapper interface for errors (#1349)
  • Add bash/zsh completion command (#1437)
  • Update doc certmanager 0.11 group and version change (#1444)
  • Cherry-pick f6508e6 (update quick-start.md kubebuilder version to 2.3.1) (#1451)

Thanks to all our contributors!

Don't miss a new kubebuilder release

NewReleases is sending notifications on new releases.