kubernetes-sigs / kubebuilder-declarative-pattern

A toolkit for building declarative operators with kubebuilder
Apache License 2.0
251 stars 84 forks source link

fix: remove client-side validation from example guestbook operator #357

Closed ChristopherFry closed 8 months ago

ChristopherFry commented 8 months ago

This pull request removes the client-side apply validation from the example guestbook operator allowing the operator to successfully reconcile changes.

Previously the operator would show this error when reconciling:

2023-10-22T21:39:20-07:00       ERROR   applying manifest       {"controller": "guestbook-controller", "object": {"name":"guestbook-sample","namespace":"default"}, "namespace": "default", "name": "guestbook-sample", "reconcileID": "1063a260-c92e-43ea-b82f-cf2114cdbeef", "error": "client-side validation is no longer supported"}

This error is due to client-side validation being deprecated in the direct applier with #352.

k8s-ci-robot commented 8 months ago

Hi @ChristopherFry. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
ChristopherFry commented 8 months ago

/cc @justinsb

justinsb commented 8 months ago

Thanks @ChristopherFry!

This reminds me of an idea that we've had but never written down, IIRC: we should log a warning when users use things/don't use things we recommend. Here it's pretty clear-cut and gives an obvious error, but it would still be better if that warning happened earlier. With an env-var, we could even switch it between warning or fatal or silent, corresponding to development vs production.

In any case...

/approve /lgtm

k8s-ci-robot commented 8 months ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ChristopherFry, justinsb

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/blob/master/OWNERS)~~ [justinsb] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment