kubebuilder-declarative-pattern
kubebuilder-declarative-pattern copied to clipboard
A toolkit for building declarative operators with kubebuilder
Both the [walkthrough](https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/tree/master/docs/addon/walkthrough) found in this repo, and the [implementation](https://github.com/kubernetes-sigs/kubebuilder/tree/master/plugins/addon) found in https://github.com/kubernetes-sigs/kubebuilder are out of date. Addon should be implemented as a kubebuilder plugin that builds over the base...
This allows for management cluster scenarios, where the CRD is declared in a different cluster from the target.
**What this PR does / why we need it**: This PR add `x-kubernetes-preserve-unknown-fields: true` to `patches` key about CRD implementing `Patchable` interface. This PR use markers in kubebuilder for that....
**What happened**: Values of "spec.patches" in CR are pruned even if controller is set with `declarative.WithObjectTransform(addon.ApplyPatches)`. **What you expected to happen**: "spec.patches" values aren't pruned. **How to reproduce it (as...
This helps keep the libraries up to date also.
**What happened**: I enabled the option to use metrics: `declarative.WithReconcileMetrics(0, nil)` the controller manager pod silently crashed. Nothing helpful in the logs. **What you expected to happen**: Metrics being emitted....
**What happened**: pkg/test/mocks/manager.go isn't up to date with the controller-runtime package marked in go.mod **What you expected to happen**: pkg/test/mocks/manager.go.Manager should implement the controller-runtime Manager interface that it is supposed...
WIP and distinct from #377 as I imagine we will want more discussion e.g. about testing / how to turn it off/on etc. We've evolved a lot over time, and...
Setting up Watch() sometimes results in Watch() being a blocking call. Add a cancellable context that times out sooner when there is no activity in the Apply() path. Otherwise it...