Skip to content

Upgrading sigs.k8s.io/controller-runtime 0.6 to 0.7

Breakingv0.6.5 → v0.7.2Breaking32Deprecated1New25Changed4Fixed21Other11

BreakingUpgrade verdict

32 breaking changes.

  • Handler: Remove MapObject type and use client.Object directly.
  • Change default webhook port to 9443.
  • Remove deprecated "--master" flag.
  • ComponentConfig Implementation -- Impact: a Manager can be configured by a ControllerManagerConfiguration or a custom defined configuration file.
Top 4 of 33 that need code or config changes

Adds go.uber.org/goleak v1.1.10, k8s.io/component-base v0.19.2.

Drops github.com/spf13/pflag.

Installs 24 packages in all (was 27).

Also installs github.com/google/go-cmp, google.golang.org/appengine.

No longer installs github.com/golang/groupcache, github.com/json-iterator/go, github.com/prometheus/procfs, go.uber.org/atomic, golang.org/x/text, gopkg.in/check.v1.

Moves github.com/go-logr/logr v0.1.0 → v0.3.0, github.com/go-logr/zapr v0.1.0 → v0.2.0, github.com/googleapis/gnostic v0.3.1 → v0.5.1, github.com/imdario/mergo v0.3.9 → v0.3.10, github.com/onsi/ginkgo v1.12.1 → v1.14.1, github.com/onsi/gomega v1.10.1 → v1.10.2, github.com/prometheus/client_golang v1.0.0 → v1.7.1, go.uber.org/zap v1.10.0 → v1.15.0, golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 → v0.0.0-20200630173020-3af7569d3a1e, gomodules.xyz/jsonpatch/v2 v2.0.1 → v2.1.0, k8s.io/api v0.18.6 → v0.19.2, k8s.io/apiextensions-apiserver v0.18.6 → v0.19.2, k8s.io/apimachinery v0.18.6 → v0.19.2, k8s.io/client-go v0.18.6 → v0.19.2, k8s.io/utils v0.0.0-20200603063816-c1c6865ac451 → v0.0.0-20200912215256-4140de9c8800. Your build may pick other versions.

Breaking32
Handler: Remove MapObject type and use client.Object directly.
Change default webhook port to 9443.
Options
Remove deprecated "--master" flag.
ComponentConfig Implementation -- Impact: a Manager can be configured by a ControllerManagerConfiguration or a custom defined configuration file.
DynamicRestMapper: return NoMatchError when resource doesn't exist -- Impact: handle meta.NoKindMatchError/meta.NoResourceMatchError instead of apiutil.ErrRateLimited, which has been removed.
meta.NoKindMatchErrormeta.NoResourceMatchErrorapiutil.ErrRateLimited
Remove deprecated pkg/runtime/signals package -- Impact: migrate to pkg/manager/signals.
Remove deprecated pkg/runtime/scheme -- Impact: migrate to pkg/scheme.
Remove deprecated For/WithConfig from controller builder -- Impact: update Builder.ForType to Builder.For and use builder.ControllerManagedBy to pass a Manager's rest.Config to a Builder.
Remove deprecated client.ConstantPatch function -- Impact: update client.ConstantPatch to client.RawPatch.
Remove deprecated pkg/client options -- Impact: update client.{Create,Update,Path}DryRunAll to client.DryRunAll and client.MatchingField to client.MatchingFields.
Remove deprecated pkg/runtime/log package and utils -- Impact: migrate to pkg/log.
Remove {Add,Remove}FinalizerWithError utils -- Impact: use controllerutil.{Add,Remove}Finalizer directly.
Remove duplicate lines in controller.go.
Rename GetControllerManagerConfiguration to Complete.
Introduce and use client.Object and client.ObjectList.
Use client.Object for event handlers.
Fakeclient: Allow to pass ObjectLists to constructors.
client.ObjectKeyFromObject now uses client.Object.
Use client.Object interface in envtest.
pkg/webhook/admission: upgrade v1beta1 admission types to v1.
v1beta1
Change leaderlock from ConfigMap to ConfigMapsLeasesResourceLock.
coordination/v1
Propagate context.Context throughout the codebase.
context.Context
Remove logs from internal controller.
Add a context w/ logger to Reconciler interface.
context.ContextReconcile()
Add ability for the delegating client to avoid caching objects -- Impact: client.NewDelegatingClient returns an error, and can accept GVKs to avoid caching.
Use application/vnd.kubernetes.protobuf as content-type if possible -- Impact: REST configs use a protobuf content-type when possible (object is not unstructured), minor changes to low-level…
admission responses with raw Status -- Impact: APIStatus errors returned from high-level admission webhooks will now populate an admission response status (status codes, etc).
APIStatus
Add support to read webhook configurations from files for WebhookInstallOptions -- Impact: update envtest.WebhookInstallOptions.{DirectoryPaths -> Paths}.
Expose RESTMapper on Client interface.
Expose Client runtime.Scheme.
Simplify usage of EnqueueRequestsFromMapFunc.
Remove reconciletest deprecated package -- Impact: update your FakeReconciler controller tests to envtest-based tests.
Deprecated1
Un-deprecate NewFakeClient.

Generated by DepDelta from published Go source. Not mixed with prose notes.

  • removed: var LoggerFromContext
  • added: var ConfigFile
  • added: var LoggerFrom
  • added: var LoggerInto
  • added: field CustomControllerManagerConfiguration.ClusterName: string
  • added: field CustomControllerManagerConfiguration.ControllerManagerConfigurationSpec: embedded cfg.ControllerManagerConfigurationSpec
  • added: field CustomControllerManagerConfiguration.TypeMeta: embedded metav1.TypeMeta
  • added: method CustomControllerManagerConfiguration.DeepCopy() *CustomControllerManagerConfiguration
  • added: method CustomControllerManagerConfiguration.DeepCopyInto(*CustomControllerManagerConfiguration)
  • added: method CustomControllerManagerConfiguration.DeepCopyObject() runtime.Object
  • added: type CustomControllerManagerConfiguration: struct
  • added: var AddToScheme
  • added: var GroupVersion
  • added: var SchemeBuilder
  • removed: method Builder.ForType(runtime.Object) *Builder
  • removed: method Builder.WithConfig(*rest.Config) *Builder
  • changed: method Builder.For(runtime.Object, ...ForOption) *Builder → method Builder.For(client.Object, ...ForOption) *Builder
  • changed: method Builder.Owns(runtime.Object, ...OwnsOption) *Builder → method Builder.Owns(client.Object, ...OwnsOption) *Builder
  • changed: method Cache.GetInformer(context.Context, runtime.Object) (Informer, error) → method Cache.GetInformer(context.Context, client.Object) (Informer, error)
  • changed: method Cache.Start(<-chan struct{}) error → method Cache.Start(context.Context) error
  • changed: method Cache.WaitForCacheSync(<-chan struct{}) bool → method Cache.WaitForCacheSync(context.Context) bool
  • changed: method Informers.GetInformer(context.Context, runtime.Object) (Informer, error) → method Informers.GetInformer(context.Context, client.Object) (Informer, error)
  • changed: method Informers.Start(<-chan struct{}) error → method Informers.Start(context.Context) error
  • changed: method Informers.WaitForCacheSync(<-chan struct{}) bool → method Informers.WaitForCacheSync(context.Context) bool
  • changed: method FakeInformers.Get(context.Context, client.ObjectKey, runtime.Object) error → method FakeInformers.Get(context.Context, client.ObjectKey, client.Object) error
  • changed: method FakeInformers.GetInformer(context.Context, runtime.Object) (cache.Informer, error) → method FakeInformers.GetInformer(context.Context, client.Object) (cache.Informer, error)
  • changed: method FakeInformers.IndexField(context.Context, runtime.Object, string, client.IndexerFunc) error → method FakeInformers.IndexField(context.Context, client.Object, string, client.IndexerFunc) error
  • changed: method FakeInformers.List(context.Context, runtime.Object, ...client.ListOption) error → method FakeInformers.List(context.Context, client.ObjectList, ...client.ListOption) error
  • changed: method FakeInformers.Start(<-chan struct{}) error → method FakeInformers.Start(context.Context) error
  • changed: method FakeInformers.WaitForCacheSync(<-chan struct{}) bool → method FakeInformers.WaitForCacheSync(context.Context) bool
  • removed: field DelegatingClient.Reader: embedded Reader
  • removed: field DelegatingClient.StatusClient: embedded StatusClient
  • removed: field DelegatingClient.Writer: embedded Writer
  • removed: field DelegatingReader.CacheReader: Reader
  • removed: field DelegatingReader.ClientReader: Reader
  • removed: func ConstantPatch(types.PatchType, []byte) Patch
  • removed: func MatchingField(string, string) MatchingFields
  • removed: method DelegatingReader.Get(context.Context, ObjectKey, runtime.Object) error
  • removed: method DelegatingReader.List(context.Context, runtime.Object, ...ListOption) error
  • removed: type DelegatingClient: struct
  • removed: type DelegatingReader: struct
  • removed: var CreateDryRunAll
  • removed: var PatchDryRunAll
  • removed: var UpdateDryRunAll
  • changed: func ObjectKeyFromObject(runtime.Object) (ObjectKey, error) → func ObjectKeyFromObject(Object) ObjectKey
  • changed: method Client.Create(context.Context, runtime.Object, ...CreateOption) error → method Client.Create(context.Context, Object, ...CreateOption) error
  • changed: method Client.Delete(context.Context, runtime.Object, ...DeleteOption) error → method Client.Delete(context.Context, Object, ...DeleteOption) error
  • changed: method Client.DeleteAllOf(context.Context, runtime.Object, ...DeleteAllOfOption) error → method Client.DeleteAllOf(context.Context, Object, ...DeleteAllOfOption) error
  • changed: method Client.Get(context.Context, ObjectKey, runtime.Object) error → method Client.Get(context.Context, ObjectKey, Object) error
  • changed: method Client.List(context.Context, runtime.Object, ...ListOption) error → method Client.List(context.Context, ObjectList, ...ListOption) error
  • changed: method Client.Patch(context.Context, runtime.Object, Patch, ...PatchOption) error → method Client.Patch(context.Context, Object, Patch, ...PatchOption) error
  • changed: method Client.Update(context.Context, runtime.Object, ...UpdateOption) error → method Client.Update(context.Context, Object, ...UpdateOption) error
  • changed: method FieldIndexer.IndexField(context.Context, runtime.Object, string, IndexerFunc) error → method FieldIndexer.IndexField(context.Context, Object, string, IndexerFunc) error
  • changed: method Reader.Get(context.Context, ObjectKey, runtime.Object) error → method Reader.Get(context.Context, ObjectKey, Object) error
  • changed: method Reader.List(context.Context, runtime.Object, ...ListOption) error → method Reader.List(context.Context, ObjectList, ...ListOption) error
  • changed: method StatusWriter.Patch(context.Context, runtime.Object, Patch, ...PatchOption) error → method StatusWriter.Patch(context.Context, Object, Patch, ...PatchOption) error
  • changed: method StatusWriter.Update(context.Context, runtime.Object, ...UpdateOption) error → method StatusWriter.Update(context.Context, Object, ...UpdateOption) error
  • changed: method Writer.Create(context.Context, runtime.Object, ...CreateOption) error → method Writer.Create(context.Context, Object, ...CreateOption) error
  • changed: method Writer.Delete(context.Context, runtime.Object, ...DeleteOption) error → method Writer.Delete(context.Context, Object, ...DeleteOption) error
  • changed: method Writer.DeleteAllOf(context.Context, runtime.Object, ...DeleteAllOfOption) error → method Writer.DeleteAllOf(context.Context, Object, ...DeleteAllOfOption) error
  • changed: method Writer.Patch(context.Context, runtime.Object, Patch, ...PatchOption) error → method Writer.Patch(context.Context, Object, Patch, ...PatchOption) error
  • changed: method Writer.Update(context.Context, runtime.Object, ...UpdateOption) error → method Writer.Update(context.Context, Object, ...UpdateOption) error
  • changed: type IndexerFunc: func(runtime.Object) []string → type IndexerFunc: func(Object) []string
  • added: field NewDelegatingClientInput.CacheReader: Reader
  • added: field NewDelegatingClientInput.CacheUnstructured: bool
  • added: field NewDelegatingClientInput.Client: Client
  • added: field NewDelegatingClientInput.UncachedObjects: []Object
  • added: func NewDelegatingClient(NewDelegatingClientInput) (Client, error)
  • added: func NewNamespacedClient(Client, string) Client
  • added: method Client.RESTMapper() meta.RESTMapper
  • added: method Client.Scheme() *runtime.Scheme
  • added: type NewDelegatingClientInput: struct
  • added: type Object: interface{metav1.Object; runtime.Object}
  • added: type ObjectList: interface{metav1.ListInterface; runtime.Object}
  • removed: field ErrRateLimited.Delay: time.Duration
  • removed: func DelayIfRateLimited(error) (time.Duration, bool)
  • removed: method ErrRateLimited.Error() string
  • removed: type ErrRateLimited: struct
  • changed: func RESTClientForGVK(schema.GroupVersionKind, *rest.Config, serializer.CodecFactory) (rest.Interface, error) → func RESTClientForGVK(schema.GroupVersionKind, bool, *rest.Config, serializer.CodecFactory) (rest.Interface, error)
  • added: func AddToProtobufScheme(func(*runtime.Scheme) error) error
  • added: func NewClientBuilder() *ClientBuilder
  • added: method ClientBuilder.Build() client.Client
  • added: method ClientBuilder.WithLists(...client.ObjectList) *ClientBuilder
  • added: method ClientBuilder.WithObjects(...client.Object) *ClientBuilder
  • added: method ClientBuilder.WithRuntimeObjects(...runtime.Object) *ClientBuilder
  • added: method ClientBuilder.WithScheme(*runtime.Scheme) *ClientBuilder
  • added: type ClientBuilder: struct
  • added: field DeferredFileLoader.ControllerManagerConfiguration: embedded ControllerManagerConfiguration
  • added: func File() *DeferredFileLoader
  • added: method ControllerManagerConfiguration.Complete() (v1alpha1.ControllerManagerConfigurationSpec, error)
  • added: method DeferredFileLoader.AtPath(string) *DeferredFileLoader
  • added: method DeferredFileLoader.Complete() (v1alpha1.ControllerManagerConfigurationSpec, error)
  • added: method DeferredFileLoader.InjectScheme(*runtime.Scheme) error
  • added: method DeferredFileLoader.OfKind(ControllerManagerConfiguration) *DeferredFileLoader
  • added: type ControllerManagerConfiguration: interface{runtime.Object}
  • added: type DeferredFileLoader: struct
  • added: field ControllerHealth.HealthProbeBindAddress: string
  • added: field ControllerHealth.LivenessEndpointName: string
  • added: field ControllerHealth.ReadinessEndpointName: string
  • added: field ControllerManagerConfiguration.ControllerManagerConfigurationSpec: embedded ControllerManagerConfigurationSpec
  • added: field ControllerManagerConfiguration.TypeMeta: embedded metav1.TypeMeta
  • added: field ControllerManagerConfigurationSpec.CacheNamespace: string
  • added: field ControllerManagerConfigurationSpec.GracefulShutdownTimeout: *metav1.Duration
  • added: field ControllerManagerConfigurationSpec.Health: ControllerHealth
  • added: field ControllerManagerConfigurationSpec.LeaderElection: *configv1alpha1.LeaderElectionConfiguration
  • added: field ControllerManagerConfigurationSpec.Metrics: ControllerMetrics
  • added: field ControllerManagerConfigurationSpec.SyncPeriod: *metav1.Duration
  • added: field ControllerManagerConfigurationSpec.Webhook: ControllerWebhook
  • added: field ControllerMetrics.BindAddress: string
  • added: field ControllerWebhook.CertDir: string
  • added: field ControllerWebhook.Host: string
  • added: field ControllerWebhook.Port: *int
  • added: method ControllerHealth.DeepCopy() *ControllerHealth
  • added: method ControllerHealth.DeepCopyInto(*ControllerHealth)
  • added: method ControllerManagerConfiguration.DeepCopy() *ControllerManagerConfiguration
  • added: method ControllerManagerConfiguration.DeepCopyInto(*ControllerManagerConfiguration)
  • added: method ControllerManagerConfiguration.DeepCopyObject() runtime.Object
  • added: method ControllerManagerConfigurationSpec.Complete() (ControllerManagerConfigurationSpec, error)
  • added: method ControllerManagerConfigurationSpec.DeepCopy() *ControllerManagerConfigurationSpec
  • added: method ControllerManagerConfigurationSpec.DeepCopyInto(*ControllerManagerConfigurationSpec)
  • added: method ControllerMetrics.DeepCopy() *ControllerMetrics
  • added: method ControllerMetrics.DeepCopyInto(*ControllerMetrics)
  • added: method ControllerWebhook.DeepCopy() *ControllerWebhook
  • added: method ControllerWebhook.DeepCopyInto(*ControllerWebhook)
  • added: type ControllerHealth: struct
  • added: type ControllerManagerConfiguration: struct
  • added: type ControllerManagerConfigurationSpec: struct
  • added: type ControllerMetrics: struct
  • added: type ControllerWebhook: struct
  • added: var AddToScheme
  • added: var GroupVersion
  • added: var SchemeBuilder
  • changed: method Controller.Start(<-chan struct{}) error → method Controller.Start(context.Context) error
  • added: method Controller.GetLogger() logr.Logger
  • added: method FakeInformer.SetWatchErrorHandler(cache.WatchErrorHandler) error
  • removed: func AddFinalizerWithError(runtime.Object, string) error
  • removed: func RemoveFinalizerWithError(runtime.Object, string) error
  • changed: func AddFinalizer(Object, string) → func AddFinalizer(client.Object, string)
  • changed: func ContainsFinalizer(Object, string) bool → func ContainsFinalizer(client.Object, string) bool
  • changed: func CreateOrUpdate(context.Context, client.Client, runtime.Object, MutateFn) (OperationResult, error) → func CreateOrUpdate(context.Context, client.Client, client.Object, MutateFn) (OperationResult, error)
  • changed: func RemoveFinalizer(Object, string) → func RemoveFinalizer(client.Object, string)
  • changed: type Object: interface{metav1.Object; runtime.Object} → type Object = client.Object
  • added: const OperationResultUpdatedStatus: OperationResult
  • added: const OperationResultUpdatedStatusOnly: OperationResult
  • added: func CreateOrPatch(context.Context, client.Client, client.Object, MutateFn) (OperationResult, error)
  • removed: field WebhookInstallOptions.DirectoryPaths: []string
  • changed: field CRDInstallOptions.CRDs: []runtime.Object → field CRDInstallOptions.CRDs: []client.Object
  • changed: field Environment.CRDs: []runtime.Object → field Environment.CRDs: []client.Object
  • changed: field WebhookInstallOptions.MutatingWebhooks: []runtime.Object → field WebhookInstallOptions.MutatingWebhooks: []client.Object
  • changed: field WebhookInstallOptions.ValidatingWebhooks: []runtime.Object → field WebhookInstallOptions.ValidatingWebhooks: []client.Object
  • changed: func CreateCRDs(*rest.Config, []runtime.Object) error → func CreateCRDs(*rest.Config, []client.Object) error
  • changed: func InstallCRDs(*rest.Config, CRDInstallOptions) ([]runtime.Object, error) → func InstallCRDs(*rest.Config, CRDInstallOptions) ([]client.Object, error)
  • changed: func WaitForCRDs(*rest.Config, []runtime.Object, CRDInstallOptions) error → func WaitForCRDs(*rest.Config, []client.Object, CRDInstallOptions) error
  • changed: func WaitForWebhooks(*rest.Config, []runtime.Object, []runtime.Object, WebhookInstallOptions) error → func WaitForWebhooks(*rest.Config, []client.Object, []client.Object, WebhookInstallOptions) error
  • added: field Environment.BinaryAssetsDirectory: string
  • added: field WebhookInstallOptions.Paths: []string
  • removed: field CreateEvent.Meta: metav1.Object
  • removed: field DeleteEvent.Meta: metav1.Object
  • removed: field GenericEvent.Meta: metav1.Object
  • removed: field UpdateEvent.MetaNew: metav1.Object
  • removed: field UpdateEvent.MetaOld: metav1.Object
  • changed: field CreateEvent.Object: runtime.Object → field CreateEvent.Object: client.Object
  • changed: field DeleteEvent.Object: runtime.Object → field DeleteEvent.Object: client.Object
  • changed: field GenericEvent.Object: runtime.Object → field GenericEvent.Object: client.Object
  • changed: field UpdateEvent.ObjectNew: runtime.Object → field UpdateEvent.ObjectNew: client.Object
  • changed: field UpdateEvent.ObjectOld: runtime.Object → field UpdateEvent.ObjectOld: client.Object
  • removed: field EnqueueRequestsFromMapFunc.ToRequests: Mapper
  • removed: field MapObject.Meta: metav1.Object
  • removed: field MapObject.Object: runtime.Object
  • removed: method EnqueueRequestsFromMapFunc.Create(event.CreateEvent, workqueue.RateLimitingInterface)
  • removed: method EnqueueRequestsFromMapFunc.Delete(event.DeleteEvent, workqueue.RateLimitingInterface)
  • removed: method EnqueueRequestsFromMapFunc.Generic(event.GenericEvent, workqueue.RateLimitingInterface)
  • removed: method EnqueueRequestsFromMapFunc.InjectFunc(inject.Func) error
  • removed: method EnqueueRequestsFromMapFunc.Update(event.UpdateEvent, workqueue.RateLimitingInterface)
  • removed: method Mapper.Map(MapObject) []reconcile.Request
  • removed: method ToRequestsFunc.Map(MapObject) []reconcile.Request
  • removed: type EnqueueRequestsFromMapFunc: struct
  • removed: type MapObject: struct
  • removed: type Mapper: interface
  • removed: type ToRequestsFunc: func(MapObject) []reconcile.Request
  • added: func EnqueueRequestsFromMapFunc(MapFunc) EventHandler
  • added: type MapFunc: func(client.Object) []reconcile.Request
  • added: field Options.LeaderElectionResourceLock: string
  • removed: func Logger(bool) logr.Logger
  • removed: func LoggerTo(io.Writer, bool) logr.Logger
  • removed: func RawLoggerTo(io.Writer, bool, ...zap.Option) *zap.Logger
  • added: field Options.EncoderConfigOptions: []EncoderConfigOption
  • added: field Options.NewEncoder: NewEncoderFunc
  • added: func ConsoleEncoder(...EncoderConfigOption) func(o *Options)
  • added: func JSONEncoder(...EncoderConfigOption) func(o *Options)
  • added: type EncoderConfigOption: func(*zapcore.EncoderConfig)
  • added: type NewEncoderFunc: func(...EncoderConfigOption) zapcore.Encoder
  • removed: field Options.NewClient: NewClientFunc
  • removed: func DefaultNewClient(cache.Cache, *rest.Config, client.Options) (client.Client, error)
  • removed: type NewClientFunc: func(cache cache.Cache, config *rest.Config, options client.Options) (client.Client, error)
  • changed: method Manager.Start(<-chan struct{}) error → method Manager.Start(context.Context) error
  • changed: method Runnable.Start(<-chan struct{}) error → method Runnable.Start(context.Context) error
  • changed: method RunnableFunc.Start(<-chan struct{}) error → method RunnableFunc.Start(context.Context) error
  • changed: type RunnableFunc: func(<-chan struct{}) error → type RunnableFunc: func(context.Context) error
  • added: field Options.ClientBuilder: ClientBuilder
  • added: field Options.ClientDisableCacheFor: []client.Object
  • added: field Options.LeaderElectionReleaseOnCancel: bool
  • added: field Options.LeaderElectionResourceLock: string
  • added: func NewClientBuilder() ClientBuilder
  • added: method ClientBuilder.Build(cache.Cache, *rest.Config, client.Options) (client.Client, error)
  • added: method ClientBuilder.WithUncached(...client.Object) ClientBuilder
  • added: method Options.AndFrom(config.ControllerManagerConfiguration) (Options, error)
  • added: method Options.AndFromOrDie(config.ControllerManagerConfiguration) Options
  • added: type ClientBuilder: interface
  • changed: func SetupSignalHandler() (<-chan struct{}) → func SetupSignalHandler() context.Context
  • changed: func NewPredicateFuncs(func(meta metav1.Object, object runtime.Object) bool) Funcs → func NewPredicateFuncs(func(object client.Object) bool) Funcs
  • added: field AnnotationChangedPredicate.Funcs: embedded Funcs
  • added: func LabelSelectorPredicate(metav1.LabelSelector) (Predicate, error)
  • added: method AnnotationChangedPredicate.Update(event.UpdateEvent) bool
  • added: type AnnotationChangedPredicate: struct
  • changed: method Func.Reconcile(Request) (Result, error) → method Func.Reconcile(context.Context, Request) (Result, error)
  • changed: method Reconciler.Reconcile(Request) (Result, error) → method Reconciler.Reconcile(context.Context, Request) (Result, error)
  • changed: type Func: func(Request) (Result, error) → type Func: func(context.Context, Request) (Result, error)
  • removed: field FakeReconcile.Chan: chan reconcile.Request
  • removed: field FakeReconcile.Err: error
  • removed: field FakeReconcile.Result: reconcile.Result
  • removed: method FakeReconcile.Reconcile(reconcile.Request) (reconcile.Result, error)
  • removed: type FakeReconcile: struct
  • removed: var KBLog: logr.Logger
  • removed: var Log
  • removed: var SetLogger
  • removed: var ZapLogger
  • removed: var ZapLoggerTo
  • removed: type Builder = scheme.Builder
  • removed: var SetupSignalHandler
  • changed: field Kind.Type: runtime.Object → field Kind.Type: client.Object
  • changed: func NewKindWithCache(runtime.Object, cache.Cache) SyncingSource → func NewKindWithCache(client.Object, cache.Cache) SyncingSource
  • changed: method Channel.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → method Channel.Start(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method Func.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → method Func.Start(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method Informer.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → method Informer.Start(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method Kind.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → method Kind.Start(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method Kind.WaitForSync(<-chan struct{}) error → method Kind.WaitForSync(context.Context) error
  • changed: method Source.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → method Source.Start(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method SyncingSource.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → method SyncingSource.Start(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method SyncingSource.WaitForSync(<-chan struct{}) error → method SyncingSource.WaitForSync(context.Context) error
  • changed: type Func: func(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error → type Func: func(context.Context, handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • changed: method Server.Start(<-chan struct{}) error → method Server.Start(context.Context) error
  • changed: field Request.AdmissionRequest: embedded admissionv1beta1.AdmissionRequest → field Request.AdmissionRequest: embedded admissionv1.AdmissionRequest
  • changed: field Response.AdmissionResponse: embedded admissionv1beta1.AdmissionResponse → field Response.AdmissionResponse: embedded admissionv1.AdmissionResponse
  • added: method Response.WithWarnings(...string) Response