Upgrading sigs.k8s.io/controller-runtime 0.6 to 0.7
Breakingv0.6.5 → v0.7.2Breaking32Deprecated1New25Changed4Fixed21Other11
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.
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.
What you must change
Optionsmeta.NoKindMatchErrormeta.NoResourceMatchErrorapiutil.ErrRateLimitedv1beta1coordination/v1context.Contextcontext.ContextReconcile()APIStatusDeprecations to plan for
API changes
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