Skip to content

Upgrading sigs.k8s.io/controller-runtime 0.1 to 0.2

Breakingv0.1.12 → v0.2.2Breaking21Deprecated1New26Changed8Fixed36Other1

BreakingUpgrade verdict

21 breaking changes.

  • Webhooks no longer create their own certificates or register themselves automatically. You must supply a webhook configuration and certificates yourself.
  • Webhook validators can now also validate delete requests, which changes the interface implementers must satisfy.
  • The manager now exposes a metrics endpoint unless you explicitly turn it off.
  • Introduces PatchResponseFromRaw and drops PatchResponse.
Top 4 of 22 that need code or config changes
Breaking21
Removes automatic certificate generation for webhooks, and webhooks no longer self-register.
Adds delete validation support to the validator interface.
Metrics are now enabled by default and can be disabled by setting manager.Options{MetricsBindAddress: "0"}.
manager.OptionsMetricsBindAddress
Introduces PatchResponseFromRaw and drops PatchResponse.
PatchResponseFromRawPatchResponse
Allows reconcilers to add watches dynamically.
Reworks the functional options API.
Splits the webhook builder out as a separate builder.
Makes UseExistingCluster a pointer to support explicitly opting in or out.
UseExistingCluster
Adds minimal Apply support and fixes up client options.
Bumps the Kubernetes dependency version to 1.14.
Makes the Informer source compatible with cache.Informer.
Informercache.Informer
Adds Server-Side DryRun support to Client.
Client
Simplifies the webhook interface.
Calls MutateFn on CreateOrUpdate regardless of the operation.
MutateFnCreateOrUpdate
Adds multi namespaces cache.
Redesigns webhooks for the generic case.
Splits webhook server and manifest generation.
Converts client.List to use functional options.
client.List
Refactors logging structure and avoids mandatory Zap.
Zap
Implements the Patch method.
Patch
Makes manager a recorder.Provider.
recorder.Provider
Deprecated1
Moves a number of packages under pkg/runtime, deprecating their old locations.

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

  • removed: var ZapLogger
  • added: var NewWebhookManagedBy
  • added: field ChaosPod.ObjectMeta: embedded metav1.ObjectMeta
  • added: field ChaosPod.Spec: ChaosPodSpec
  • added: field ChaosPod.Status: ChaosPodStatus
  • added: field ChaosPod.TypeMeta: embedded metav1.TypeMeta
  • added: field ChaosPodList.Items: []ChaosPod
  • added: field ChaosPodList.ListMeta: embedded metav1.ListMeta
  • added: field ChaosPodList.TypeMeta: embedded metav1.TypeMeta
  • added: field ChaosPodSpec.NextStop: metav1.Time
  • added: field ChaosPodSpec.Template: corev1.PodTemplateSpec
  • added: field ChaosPodStatus.LastRun: metav1.Time
  • added: method ChaosPod.DeepCopy() *ChaosPod
  • added: method ChaosPod.DeepCopyInto(*ChaosPod)
  • added: method ChaosPod.DeepCopyObject() runtime.Object
  • added: method ChaosPod.Default()
  • added: method ChaosPod.ValidateCreate() error
  • added: method ChaosPod.ValidateDelete() error
  • added: method ChaosPod.ValidateUpdate(runtime.Object) error
  • added: method ChaosPodList.DeepCopy() *ChaosPodList
  • added: method ChaosPodList.DeepCopyInto(*ChaosPodList)
  • added: method ChaosPodList.DeepCopyObject() runtime.Object
  • added: method ChaosPodSpec.DeepCopy() *ChaosPodSpec
  • added: method ChaosPodSpec.DeepCopyInto(*ChaosPodSpec)
  • added: method ChaosPodStatus.DeepCopy() *ChaosPodStatus
  • added: method ChaosPodStatus.DeepCopyInto(*ChaosPodStatus)
  • added: type ChaosPod: struct
  • added: type ChaosPodList: struct
  • added: type ChaosPodSpec: struct
  • added: type ChaosPodStatus: struct
  • added: var AddToScheme
  • added: var SchemeBuilder
  • added: var SchemeGroupVersion
  • removed: func SimpleController() *Builder
  • removed: method Builder.WithManager(manager.Manager) *Builder
  • changed: method Builder.Build(reconcile.Reconciler) (manager.Manager, error) → method Builder.Build(reconcile.Reconciler) (controller.Controller, error)
  • added: func WebhookManagedBy(manager.Manager) *WebhookBuilder
  • added: method Builder.Named(string) *Builder
  • added: method Builder.WithOptions(controller.Options) *Builder
  • added: method WebhookBuilder.Complete() error
  • added: method WebhookBuilder.For(runtime.Object) *WebhookBuilder
  • added: type WebhookBuilder: struct
  • removed: method Cache.IndexField(runtime.Object, string, client.IndexerFunc) error
  • removed: method Informers.IndexField(runtime.Object, string, client.IndexerFunc) error
  • changed: method Cache.GetInformer(runtime.Object) (toolscache.SharedIndexInformer, error) → method Cache.GetInformer(runtime.Object) (Informer, error)
  • changed: method Cache.GetInformerForKind(schema.GroupVersionKind) (toolscache.SharedIndexInformer, error) → method Cache.GetInformerForKind(schema.GroupVersionKind) (Informer, error)
  • changed: method Informers.GetInformer(runtime.Object) (toolscache.SharedIndexInformer, error) → method Informers.GetInformer(runtime.Object) (Informer, error)
  • changed: method Informers.GetInformerForKind(schema.GroupVersionKind) (toolscache.SharedIndexInformer, error) → method Informers.GetInformerForKind(schema.GroupVersionKind) (Informer, error)
  • changed: type Informers: interface → type Informers: interface{client.FieldIndexer}
  • added: func MultiNamespacedCacheBuilder([]string) NewCacheFunc
  • added: method Informer.AddEventHandler(toolscache.ResourceEventHandler)
  • added: method Informer.AddEventHandlerWithResyncPeriod(toolscache.ResourceEventHandler, time.Duration)
  • added: method Informer.AddIndexers(toolscache.Indexers) error
  • added: method Informer.HasSynced() bool
  • added: type Informer: interface
  • added: type NewCacheFunc: func(config *rest.Config, opts Options) (Cache, error)
  • changed: method FakeInformers.GetInformer(runtime.Object) (toolscache.SharedIndexInformer, error) → method FakeInformers.GetInformer(runtime.Object) (cache.Informer, error)
  • changed: method FakeInformers.GetInformerForKind(schema.GroupVersionKind) (toolscache.SharedIndexInformer, error) → method FakeInformers.GetInformerForKind(schema.GroupVersionKind) (cache.Informer, error)
  • changed: method FakeInformers.List(context.Context, *client.ListOptions, runtime.Object) error → method FakeInformers.List(context.Context, runtime.Object, ...client.ListOption) error
  • removed: func GracePeriodSeconds(int64) DeleteOptionFunc
  • removed: func InNamespace(string) *ListOptions
  • removed: func MatchingLabels(map[string]string) *ListOptions
  • removed: func Preconditions(*metav1.Preconditions) DeleteOptionFunc
  • removed: func PropagationPolicy(metav1.DeletionPropagation) DeleteOptionFunc
  • removed: method ListOptions.InNamespace(string) *ListOptions
  • removed: method ListOptions.MatchingField(string, string) *ListOptions
  • removed: method ListOptions.MatchingLabels(map[string]string) *ListOptions
  • removed: method ListOptions.SetFieldSelector(string) error
  • removed: method ListOptions.SetLabelSelector(string) error
  • removed: type DeleteOptionFunc: func(*DeleteOptions)
  • changed: func MatchingField(string, string) *ListOptions → func MatchingField(string, string) MatchingFields
  • changed: method Client.Create(context.Context, runtime.Object) error → method Client.Create(context.Context, runtime.Object, ...CreateOption) error
  • changed: method Client.Delete(context.Context, runtime.Object, ...DeleteOptionFunc) error → method Client.Delete(context.Context, runtime.Object, ...DeleteOption) error
  • changed: method Client.List(context.Context, *ListOptions, runtime.Object) error → method Client.List(context.Context, runtime.Object, ...ListOption) error
  • changed: method Client.Update(context.Context, runtime.Object) error → method Client.Update(context.Context, runtime.Object, ...UpdateOption) error
  • changed: method DelegatingReader.List(context.Context, *ListOptions, runtime.Object) error → method DelegatingReader.List(context.Context, runtime.Object, ...ListOption) error
  • changed: method DeleteOptions.ApplyOptions([]DeleteOptionFunc) *DeleteOptions → method DeleteOptions.ApplyOptions([]DeleteOption) *DeleteOptions
  • changed: method Reader.List(context.Context, *ListOptions, runtime.Object) error → method Reader.List(context.Context, runtime.Object, ...ListOption) error
  • changed: method StatusWriter.Update(context.Context, runtime.Object) error → method StatusWriter.Update(context.Context, runtime.Object, ...UpdateOption) error
  • changed: method Writer.Create(context.Context, runtime.Object) error → method Writer.Create(context.Context, runtime.Object, ...CreateOption) error
  • changed: method Writer.Delete(context.Context, runtime.Object, ...DeleteOptionFunc) error → method Writer.Delete(context.Context, runtime.Object, ...DeleteOption) error
  • changed: method Writer.Update(context.Context, runtime.Object) error → method Writer.Update(context.Context, runtime.Object, ...UpdateOption) error
  • added: field CreateOptions.DryRun: []string
  • added: field CreateOptions.FieldManager: string
  • added: field CreateOptions.Raw: *metav1.CreateOptions
  • added: field DeleteAllOfOptions.DeleteOptions: embedded DeleteOptions
  • added: field DeleteAllOfOptions.ListOptions: embedded ListOptions
  • added: field DeleteOptions.DryRun: []string
  • added: field MatchingFieldsSelector.Selector: embedded fields.Selector
  • added: field MatchingLabelsSelector.Selector: embedded labels.Selector
  • added: field PatchOptions.DryRun: []string
  • added: field PatchOptions.FieldManager: string
  • added: field PatchOptions.Force: *bool
  • added: field PatchOptions.Raw: *metav1.PatchOptions
  • added: field UpdateOptions.DryRun: []string
  • added: field UpdateOptions.FieldManager: string
  • added: field UpdateOptions.Raw: *metav1.UpdateOptions
  • added: func ConstantPatch(types.PatchType, []byte) Patch
  • added: func IgnoreNotFound(error) error
  • added: func MergeFrom(runtime.Object) Patch
  • added: method Client.DeleteAllOf(context.Context, runtime.Object, ...DeleteAllOfOption) error
  • added: method Client.Patch(context.Context, runtime.Object, Patch, ...PatchOption) error
  • added: method CreateOption.ApplyToCreate(*CreateOptions)
  • added: method CreateOptions.ApplyOptions([]CreateOption) *CreateOptions
  • added: method CreateOptions.ApplyToCreate(*CreateOptions)
  • added: method CreateOptions.AsCreateOptions() *metav1.CreateOptions
  • added: method DeleteAllOfOption.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method DeleteAllOfOptions.ApplyOptions([]DeleteAllOfOption) *DeleteAllOfOptions
  • added: method DeleteAllOfOptions.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method DeleteOption.ApplyToDelete(*DeleteOptions)
  • added: method DeleteOptions.ApplyToDelete(*DeleteOptions)
  • added: method FieldOwner.ApplyToCreate(*CreateOptions)
  • added: method FieldOwner.ApplyToPatch(*PatchOptions)
  • added: method FieldOwner.ApplyToUpdate(*UpdateOptions)
  • added: method GracePeriodSeconds.ApplyToDelete(*DeleteOptions)
  • added: method GracePeriodSeconds.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method InNamespace.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method InNamespace.ApplyToList(*ListOptions)
  • added: method ListOption.ApplyToList(*ListOptions)
  • added: method ListOptions.ApplyOptions([]ListOption) *ListOptions
  • added: method ListOptions.ApplyToList(*ListOptions)
  • added: method MatchingFields.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method MatchingFields.ApplyToList(*ListOptions)
  • added: method MatchingFieldsSelector.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method MatchingFieldsSelector.ApplyToList(*ListOptions)
  • added: method MatchingLabels.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method MatchingLabels.ApplyToList(*ListOptions)
  • added: method MatchingLabelsSelector.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method MatchingLabelsSelector.ApplyToList(*ListOptions)
  • added: method Patch.Data(runtime.Object) ([]byte, error)
  • added: method Patch.Type() types.PatchType
  • added: method PatchOption.ApplyToPatch(*PatchOptions)
  • added: method PatchOptions.ApplyOptions([]PatchOption) *PatchOptions
  • added: method PatchOptions.ApplyToPatch(*PatchOptions)
  • added: method PatchOptions.AsPatchOptions() *metav1.PatchOptions
  • added: method Preconditions.ApplyToDelete(*DeleteOptions)
  • added: method Preconditions.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method PropagationPolicy.ApplyToDelete(*DeleteOptions)
  • added: method PropagationPolicy.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method StatusWriter.Patch(context.Context, runtime.Object, Patch, ...PatchOption) error
  • added: method UpdateOption.ApplyToUpdate(*UpdateOptions)
  • added: method UpdateOptions.ApplyOptions([]UpdateOption) *UpdateOptions
  • added: method UpdateOptions.ApplyToUpdate(*UpdateOptions)
  • added: method UpdateOptions.AsUpdateOptions() *metav1.UpdateOptions
  • added: method Writer.DeleteAllOf(context.Context, runtime.Object, ...DeleteAllOfOption) error
  • added: method Writer.Patch(context.Context, runtime.Object, Patch, ...PatchOption) error
  • added: type CreateOption: interface
  • added: type CreateOptions: struct
  • added: type DeleteAllOfOption: interface
  • added: type DeleteAllOfOptions: struct
  • added: type DeleteOption: interface
  • added: type FieldOwner: string
  • added: type GracePeriodSeconds: int64
  • added: type InNamespace: string
  • added: type ListOption: interface
  • added: type MatchingFields: fields.Set
  • added: type MatchingFieldsSelector: struct
  • added: type MatchingLabels: map[string]string
  • added: type MatchingLabelsSelector: struct
  • added: type Patch: interface
  • added: type PatchOption: interface
  • added: type PatchOptions: struct
  • added: type Preconditions: metav1.Preconditions
  • added: type PropagationPolicy: metav1.DeletionPropagation
  • added: type UpdateOption: interface
  • added: type UpdateOptions: struct
  • added: var Apply
  • added: var CreateDryRunAll
  • added: var DryRunAll
  • added: var ForceOwnership
  • added: var PatchDryRunAll
  • added: var UpdateDryRunAll
  • added: func GetConfigWithContext(string) (*rest.Config, error)
  • changed: field AlreadyOwnedError.Object: v1.Object → field AlreadyOwnedError.Object: metav1.Object
  • changed: field AlreadyOwnedError.Owner: v1.OwnerReference → field AlreadyOwnedError.Owner: metav1.OwnerReference
  • changed: func SetControllerReference(v1.Object, v1.Object, *runtime.Scheme) error → func SetControllerReference(metav1.Object, metav1.Object, *runtime.Scheme) error
  • changed: type MutateFn: func(existing runtime.Object) error → type MutateFn: func() error
  • added: method Convertible.ConvertFrom(Hub) error
  • added: method Convertible.ConvertTo(Hub) error
  • added: method Hub.Hub()
  • added: type Convertible: interface{runtime.Object}
  • added: type Hub: interface{runtime.Object}
  • changed: field Environment.UseExistingCluster: bool → field Environment.UseExistingCluster: *bool
  • added: field Environment.AttachControlPlaneOutput: bool
  • changed: field CreateEvent.Meta: v1.Object → field CreateEvent.Meta: metav1.Object
  • changed: field DeleteEvent.Meta: v1.Object → field DeleteEvent.Meta: metav1.Object
  • changed: field GenericEvent.Meta: v1.Object → field GenericEvent.Meta: metav1.Object
  • changed: field UpdateEvent.MetaNew: v1.Object → field UpdateEvent.MetaNew: metav1.Object
  • changed: field UpdateEvent.MetaOld: v1.Object → field UpdateEvent.MetaOld: metav1.Object
  • added: method EnqueueRequestForOwner.InjectMapper(meta.RESTMapper) error
  • added: method EnqueueRequestsFromMapFunc.InjectFunc(inject.Func) error
  • added: field DelegatingLogger.Logger: embedded logr.Logger
  • added: func NewDelegatingLogger(logr.Logger) *DelegatingLogger
  • added: func SetLogger(logr.Logger)
  • added: method DelegatingLogger.Fulfill(logr.Logger)
  • added: method DelegatingLogger.WithName(string) logr.Logger
  • added: method DelegatingLogger.WithValues(...interface{}) logr.Logger
  • added: method NullLogger.Enabled() bool
  • added: method NullLogger.Error(error, string, ...interface{})
  • added: method NullLogger.Info(string, ...interface{})
  • added: method NullLogger.V(int) logr.InfoLogger
  • added: method NullLogger.WithName(string) logr.Logger
  • added: method NullLogger.WithValues(...interface{}) logr.Logger
  • added: type DelegatingLogger: struct
  • added: type NullLogger: struct
  • added: var Log
  • added: field KubeAwareEncoder.Encoder: embedded zapcore.Encoder
  • added: field KubeAwareEncoder.Verbose: bool
  • added: field Options.DestWritter: io.Writer
  • added: field Options.Development: bool
  • added: field Options.Encoder: zapcore.Encoder
  • added: field Options.Level: *zap.AtomicLevel
  • added: field Options.StacktraceLevel: *zap.AtomicLevel
  • added: field Options.ZapOpts: []zap.Option
  • added: func Logger(bool) logr.Logger
  • added: func LoggerTo(io.Writer, bool) logr.Logger
  • added: func New(...Opts) logr.Logger
  • added: func NewRaw(...Opts) *zap.Logger
  • added: func RawLoggerTo(io.Writer, bool, ...zap.Option) *zap.Logger
  • added: method KubeAwareEncoder.Clone() zapcore.Encoder
  • added: method KubeAwareEncoder.EncodeEntry(zapcore.Entry, []zapcore.Field) (*buffer.Buffer, error)
  • added: type KubeAwareEncoder: struct
  • added: type Options: struct
  • added: type Opts: func(*Options)
  • removed: method Manager.GetAdmissionDecoder() types.Decoder
  • removed: method Manager.GetRecorder(string) record.EventRecorder
  • removed: type NewCacheFunc: func(config *rest.Config, opts cache.Options) (cache.Cache, error)
  • changed: field Options.NewCache: NewCacheFunc → field Options.NewCache: cache.NewCacheFunc
  • added: field Options.CertDir: string
  • added: field Options.EventBroadcaster: record.EventBroadcaster
  • added: field Options.Host: string
  • added: field Options.LeaseDuration: *time.Duration
  • added: field Options.Port: int
  • added: field Options.RenewDeadline: *time.Duration
  • added: field Options.RetryPeriod: *time.Duration
  • added: method LeaderElectionRunnable.NeedLeaderElection() bool
  • added: method Manager.GetAPIReader() client.Reader
  • added: method Manager.GetEventRecorderFor(string) record.EventRecorder
  • added: method Manager.GetWebhookServer() *webhook.Server
  • added: type LeaderElectionRunnable: interface
  • added: func SetupSignalHandler() (<-chan struct{})
  • removed: func NewJSONPatch(runtime.Object, runtime.Object) ([]jsonpatch.JsonPatchOperation, error)
  • added: field GenerationChangedPredicate.Funcs: embedded Funcs
  • added: method GenerationChangedPredicate.Update(event.UpdateEvent) bool
  • added: type GenerationChangedPredicate: struct
  • removed: func DecoderInto(types.Decoder, interface{}) (bool, error)
  • removed: method Decoder.InjectDecoder(types.Decoder) error
  • removed: type Decoder: interface
  • added: func APIReaderInto(client.Reader, interface{}) (bool, error)
  • added: func LoggerInto(logr.Logger, interface{}) (bool, error)
  • added: func MapperInto(meta.RESTMapper, interface{}) (bool, error)
  • added: method APIReader.InjectAPIReader(client.Reader) error
  • added: method Logger.InjectLogger(logr.Logger) error
  • added: method Mapper.InjectMapper(meta.RESTMapper) error
  • added: type APIReader: interface
  • added: type Logger: interface
  • added: type Mapper: interface
  • removed: field DelegatingLogger.Logger: embedded logr.Logger
  • removed: field KubeAwareEncoder.Encoder: embedded zapcore.Encoder
  • removed: field KubeAwareEncoder.Verbose: bool
  • removed: func NewDelegatingLogger(logr.Logger) *DelegatingLogger
  • removed: func SetLogger(logr.Logger)
  • removed: func ZapLogger(bool) logr.Logger
  • removed: func ZapLoggerTo(io.Writer, bool) logr.Logger
  • removed: method DelegatingLogger.Fulfill(logr.Logger)
  • removed: method DelegatingLogger.WithName(string) logr.Logger
  • removed: method DelegatingLogger.WithValues(...interface{}) logr.Logger
  • removed: method KubeAwareEncoder.Clone() zapcore.Encoder
  • removed: method KubeAwareEncoder.EncodeEntry(zapcore.Entry, []zapcore.Field) (*buffer.Buffer, error)
  • removed: method NullLogger.Enabled() bool
  • removed: method NullLogger.Error(error, string, ...interface{})
  • removed: method NullLogger.Info(string, ...interface{})
  • removed: method NullLogger.V(int) logr.InfoLogger
  • removed: method NullLogger.WithName(string) logr.Logger
  • removed: method NullLogger.WithValues(...interface{}) logr.Logger
  • removed: type DelegatingLogger: struct
  • removed: type KubeAwareEncoder: struct
  • removed: type NullLogger: struct
  • added: var SetLogger
  • added: var ZapLogger
  • added: var ZapLoggerTo
  • removed: field Builder.GroupVersion: schema.GroupVersion
  • removed: field Builder.SchemeBuilder: embedded runtime.SchemeBuilder
  • removed: method Builder.AddToScheme(*runtime.Scheme) error
  • removed: method Builder.Build() (*runtime.Scheme, error)
  • removed: method Builder.Register(...runtime.Object) *Builder
  • removed: method Builder.RegisterAll(*Builder) *Builder
  • changed: type Builder: struct → type Builder = scheme.Builder
  • removed: func SetupSignalHandler() (<-chan struct{})
  • added: var SetupSignalHandler
  • added: field Builder.GroupVersion: schema.GroupVersion
  • added: field Builder.SchemeBuilder: embedded runtime.SchemeBuilder
  • added: method Builder.AddToScheme(*runtime.Scheme) error
  • added: method Builder.Build() (*runtime.Scheme, error)
  • added: method Builder.Register(...runtime.Object) *Builder
  • added: method Builder.RegisterAll(*Builder) *Builder
  • added: type Builder: struct
  • changed: field Informer.Informer: toolscache.SharedIndexInformer → field Informer.Informer: cache.Informer
  • removed: field BootstrapOptions.Host: *string
  • removed: field BootstrapOptions.MutatingWebhookConfigName: string
  • removed: field BootstrapOptions.Secret: *apitypes.NamespacedName
  • removed: field BootstrapOptions.Service: *Service
  • removed: field BootstrapOptions.ValidatingWebhookConfigName: string
  • removed: field BootstrapOptions.Writer: io.Writer
  • removed: field Server.Name: string
  • removed: field Server.ServerOptions: embedded ServerOptions
  • removed: field ServerOptions.BootstrapOptions: embedded *BootstrapOptions
  • removed: field ServerOptions.CertDir: string
  • removed: field ServerOptions.Client: client.Client
  • removed: field ServerOptions.DisableWebhookConfigInstaller: *bool
  • removed: field ServerOptions.Port: int32
  • removed: field Service.Name: string
  • removed: field Service.Namespace: string
  • removed: field Service.Selectors: map[string]string
  • removed: func NewServer(string, manager.Manager, ServerOptions) (*Server, error)
  • removed: method Server.Handle(string, http.Handler)
  • removed: method Server.InjectClient(client.Client) error
  • removed: method Server.InjectDecoder(atypes.Decoder) error
  • removed: method Server.InstallWebhookManifests() error
  • removed: method Server.RefreshCert() (bool, error)
  • removed: method Webhook.GetName() string
  • removed: method Webhook.GetPath() string
  • removed: method Webhook.GetType() types.WebhookType
  • removed: method Webhook.Handler() http.Handler
  • removed: method Webhook.Validate() error
  • removed: type BootstrapOptions: struct
  • removed: type ServerOptions: struct
  • removed: type Service: struct
  • removed: type Webhook: interface
  • changed: method Server.Register(...Webhook) error → method Server.Register(string, http.Handler)
  • added: field Server.CertDir: string
  • added: field Server.Host: string
  • added: field Server.Port: int
  • added: field Server.WebhookMux: *http.ServeMux
  • added: method Server.InjectFunc(inject.Func) error
  • added: method Server.NeedLeaderElection() bool
  • added: type Admission = admission.Webhook
  • added: type AdmissionDecoder = admission.Decoder
  • added: type AdmissionHandler = admission.Handler
  • added: type AdmissionRequest = admission.Request
  • added: type AdmissionResponse = admission.Response
  • added: type Defaulter = admission.Defaulter
  • added: type JSONPatchOp = jsonpatch.Operation
  • added: type Validator = admission.Validator
  • added: var Allowed
  • added: var DefaultPort
  • added: var Denied
  • added: var Errored
  • added: var Patched
  • removed: field Webhook.FailurePolicy: *admissionregistrationv1beta1.FailurePolicyType
  • removed: field Webhook.Handlers: []Handler
  • removed: field Webhook.Name: string
  • removed: field Webhook.NamespaceSelector: *metav1.LabelSelector
  • removed: field Webhook.Path: string
  • removed: field Webhook.Rules: []admissionregistrationv1beta1.RuleWithOperations
  • removed: field Webhook.Type: types.WebhookType
  • removed: func ErrorResponse(int32, error) types.Response
  • removed: func PatchResponse(runtime.Object, runtime.Object) types.Response
  • removed: method DecodeFunc.Decode(types.Request, runtime.Object) error
  • removed: method Webhook.Add(...Handler)
  • removed: method Webhook.GetName() string
  • removed: method Webhook.GetPath() string
  • removed: method Webhook.GetType() types.WebhookType
  • removed: method Webhook.Handler() http.Handler
  • removed: method Webhook.InjectClient(client.Client) error
  • removed: method Webhook.InjectDecoder(atypes.Decoder) error
  • removed: method Webhook.Validate() error
  • removed: type DecodeFunc: func(types.Request, runtime.Object) error
  • changed: func NewDecoder(*runtime.Scheme) (types.Decoder, error) → func NewDecoder(*runtime.Scheme) (*Decoder, error)
  • changed: func ValidationResponse(bool, string) types.Response → func ValidationResponse(bool, string) Response
  • changed: method Handler.Handle(context.Context, atypes.Request) atypes.Response → method Handler.Handle(context.Context, Request) Response
  • changed: method HandlerFunc.Handle(context.Context, atypes.Request) atypes.Response → method HandlerFunc.Handle(context.Context, Request) Response
  • changed: method Webhook.Handle(context.Context, atypes.Request) atypes.Response → method Webhook.Handle(context.Context, Request) Response
  • changed: type HandlerFunc: func(context.Context, atypes.Request) atypes.Response → type HandlerFunc: func(context.Context, Request) Response
  • added: field Request.AdmissionRequest: embedded admissionv1beta1.AdmissionRequest
  • added: field Response.AdmissionResponse: embedded admissionv1beta1.AdmissionResponse
  • added: field Response.Patches: []jsonpatch.JsonPatchOperation
  • added: field Webhook.Handler: Handler
  • added: func Allowed(string) Response
  • added: func DefaultingWebhookFor(Defaulter) *Webhook
  • added: func Denied(string) Response
  • added: func Errored(int32, error) Response
  • added: func InjectDecoderInto(*Decoder, interface{}) (bool, error)
  • added: func MultiMutatingHandler(...Handler) Handler
  • added: func MultiValidatingHandler(...Handler) Handler
  • added: func PatchResponseFromRaw([]byte, []byte) Response
  • added: func Patched(string, ...jsonpatch.JsonPatchOperation) Response
  • added: func ValidatingWebhookFor(Validator) *Webhook
  • added: method Decoder.Decode(Request, runtime.Object) error
  • added: method Decoder.DecodeRaw(runtime.RawExtension, runtime.Object) error
  • added: method DecoderInjector.InjectDecoder(*Decoder) error
  • added: method Defaulter.Default()
  • added: method Response.Complete(Request) error
  • added: method Validator.ValidateCreate() error
  • added: method Validator.ValidateDelete() error
  • added: method Validator.ValidateUpdate(runtime.Object) error
  • added: method Webhook.GetDecoder() *Decoder
  • added: method Webhook.InjectFunc(inject.Func) error
  • added: method Webhook.InjectLogger(logr.Logger) error
  • added: method Webhook.InjectScheme(*runtime.Scheme) error
  • added: type Decoder: struct
  • added: type DecoderInjector: interface
  • added: type Defaulter: interface{runtime.Object}
  • added: type Request: struct
  • added: type Response: struct
  • added: type Validator: interface{runtime.Object}
  • removed: func NewWebhookBuilder() *WebhookBuilder
  • removed: method WebhookBuilder.Build() (*admission.Webhook, error)
  • removed: method WebhookBuilder.FailurePolicy(admissionregistrationv1beta1.FailurePolicyType) *WebhookBuilder
  • removed: method WebhookBuilder.ForType(runtime.Object) *WebhookBuilder
  • removed: method WebhookBuilder.Handlers(...admission.Handler) *WebhookBuilder
  • removed: method WebhookBuilder.Mutating() *WebhookBuilder
  • removed: method WebhookBuilder.Name(string) *WebhookBuilder
  • removed: method WebhookBuilder.NamespaceSelector(*metav1.LabelSelector) *WebhookBuilder
  • removed: method WebhookBuilder.Operations(...admissionregistrationv1beta1.OperationType) *WebhookBuilder
  • removed: method WebhookBuilder.Path(string) *WebhookBuilder
  • removed: method WebhookBuilder.Rules(...admissionregistrationv1beta1.RuleWithOperations) *WebhookBuilder
  • removed: method WebhookBuilder.Validating() *WebhookBuilder
  • removed: method WebhookBuilder.WithManager(manager.Manager) *WebhookBuilder
  • removed: type WebhookBuilder: struct
  • removed: field Request.AdmissionRequest: *admissionv1beta1.AdmissionRequest
  • removed: field Response.Patches: []jsonpatch.JsonPatchOperation
  • removed: field Response.Response: *admissionv1beta1.AdmissionResponse
  • removed: method Decoder.Decode(Request, runtime.Object) error
  • removed: type Decoder: interface
  • removed: type Request: struct
  • removed: type Response: struct
  • added: func IsConvertible(*runtime.Scheme, runtime.Object) (bool, error)
  • added: func NewDecoder(*runtime.Scheme) (*Decoder, error)
  • added: method Decoder.Decode([]byte) (runtime.Object, *schema.GroupVersionKind, error)
  • added: method Decoder.DecodeInto([]byte, runtime.Object) error
  • added: method PartialImplementationError.Error() string
  • added: method Webhook.InjectScheme(*runtime.Scheme) error
  • added: method Webhook.ServeHTTP(http.ResponseWriter, *http.Request)
  • added: type Decoder: struct
  • added: type PartialImplementationError: struct
  • added: type Webhook: struct
  • removed: const WebhookTypeMutating: WebhookType
  • removed: const WebhookTypeValidating: WebhookType
  • removed: type WebhookType: int