Skip to content

Upgrading sigs.k8s.io/controller-runtime 0.4 to 0.5

Breakingv0.4.0 → v0.5.14Breaking7New28Changed7Fixed29Other4

BreakingUpgrade verdict

7 breaking changes.

  • Remove inactive members from OWNERS_ALIASES.
  • Remove the whitelist word from our codebase.
  • Remove master word from our codebase.
  • Remove defaulting for leader election ID -- impact: if you're using leader election, leaving the leader election ID field empty will now yield a runtime error.
Top 3 of 7 that need code or config changes

Adds github.com/spf13/pflag v1.0.5.

Drops golang.org/x/xerrors, sigs.k8s.io/testing_frameworks.

Installs 28 packages in all (was 25).

Also installs github.com/beorn7/perks, github.com/google/go-cmp, github.com/hashicorp/golang-lru, github.com/json-iterator/go, github.com/prometheus/procfs, golang.org/x/text, gopkg.in/check.v1.

No longer installs go.uber.org/atomic, go.uber.org/multierr, gopkg.in/inf.v0.

Moves github.com/evanphx/json-patch v4.5.0+incompatible → v4.9.0+incompatible, github.com/golang/groupcache v0.0.0-20180513044358-24b0969c4cb7 → v0.0.0-20190129154638-5b532d6fd5ef, github.com/imdario/mergo v0.3.6 → v0.3.9, github.com/onsi/ginkgo v1.8.0 → v1.12.1, github.com/onsi/gomega v1.5.0 → v1.10.1, github.com/prometheus/client_golang v0.9.2 → v1.0.0, github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910 → v0.0.0-20190129233127-fd36f4220a90, go.uber.org/zap v1.9.1 → v1.10.0, golang.org/x/time v0.0.0-20181108054448-85acf8d2951c → v0.0.0-20190308202827-9d24e82272b4, k8s.io/api v0.0.0-20190918155943-95b840bb6a1f → v0.17.9, k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783 → v0.17.9, k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655 → v0.17.9, k8s.io/client-go v0.0.0-20190918160344-1fbdaa4c8d90 → v0.17.9, k8s.io/utils v0.0.0-20190801114015-581e00157fb1 → v0.0.0-20200619165400-6e3d28b6ed19. Your build may pick other versions.

Breaking7
Remove inactive members from OWNERS_ALIASES.
Remove the whitelist word from our codebase.
Remove master word from our codebase.
Remove defaulting for leader election ID -- impact: if you're using leader election, leaving the leader election ID field empty will now yield a runtime error.
Envtest: Do not pull in ginkgo outside of _test.go files -- impact: larger.
Add testenv support for CRDv1/CRDv1beta1 + update to k8s 1.16.4 -- impact: if you were populating the CRD field of envtest.Environment by hand (as opposed to loading files from disk), you'll have to…
envtest.Environmentruntime.Object
Bring in testing framework -- impact: minimal -- if you were manually importing sigs.k8s.io/testing_frameworks, you'll have to update your import paths.
sigs.k8s.io/testing_frameworks

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

  • added: func OnlyMetadata(runtime.Object) runtime.Object
  • added: field MergeFromOptions.OptimisticLock: bool
  • added: func MergeFromWithOptions(runtime.Object, ...MergeFromOption) Patch
  • added: func RawPatch(types.PatchType, []byte) Patch
  • added: method HasLabels.ApplyToDeleteAllOf(*DeleteAllOfOptions)
  • added: method HasLabels.ApplyToList(*ListOptions)
  • added: method MergeFromOption.ApplyToMergeFrom(*MergeFromOptions)
  • added: method MergeFromWithOptimisticLock.ApplyToMergeFrom(*MergeFromOptions)
  • added: type HasLabels: []string
  • added: type MergeFromOption: interface
  • added: type MergeFromOptions: struct
  • added: type MergeFromWithOptimisticLock: struct
  • added: var Merge
  • added: field Options.RateLimiter: ratelimiter.RateLimiter
  • added: field UnconventionalListType.ObjectMeta: embedded metav1.ObjectMeta
  • added: field UnconventionalListType.Spec: string
  • added: field UnconventionalListType.TypeMeta: embedded metav1.TypeMeta
  • added: field UnconventionalListTypeList.Items: []*UnconventionalListType
  • added: field UnconventionalListTypeList.ListMeta: embedded metav1.ListMeta
  • added: field UnconventionalListTypeList.TypeMeta: embedded metav1.TypeMeta
  • added: method UnconventionalListType.DeepCopy() *UnconventionalListType
  • added: method UnconventionalListType.DeepCopyObject() runtime.Object
  • added: method UnconventionalListTypeList.DeepCopy() *UnconventionalListTypeList
  • added: method UnconventionalListTypeList.DeepCopyObject() runtime.Object
  • added: type UnconventionalListType: struct
  • added: type UnconventionalListTypeList: struct
  • added: func ContainsFinalizer(Object, string) bool
  • added: func SetOwnerReference(metav1.Object, metav1.Object, *runtime.Scheme) error
  • added: type Object: interface{metav1.Object; runtime.Object}
  • removed: type NewlineReporter = printer.NewlineReporter
  • changed: field CRDInstallOptions.CRDs: []*apiextensionsv1beta1.CustomResourceDefinition → field CRDInstallOptions.CRDs: []runtime.Object
  • changed: field Environment.CRDs: []*apiextensionsv1beta1.CustomResourceDefinition → field Environment.CRDs: []runtime.Object
  • changed: func CreateCRDs(*rest.Config, []*apiextensionsv1beta1.CustomResourceDefinition) error → func CreateCRDs(*rest.Config, []runtime.Object) error
  • changed: func InstallCRDs(*rest.Config, CRDInstallOptions) ([]*apiextensionsv1beta1.CustomResourceDefinition, error) → func InstallCRDs(*rest.Config, CRDInstallOptions) ([]runtime.Object, error)
  • changed: func WaitForCRDs(*rest.Config, []*apiextensionsv1beta1.CustomResourceDefinition, CRDInstallOptions) error → func WaitForCRDs(*rest.Config, []runtime.Object, CRDInstallOptions) error
  • added: field CRDInstallOptions.CleanUpAfterUse: bool
  • added: field Environment.ErrorIfCRDPathMissing: bool
  • added: field Environment.WebhookInstallOptions: WebhookInstallOptions
  • added: field WebhookInstallOptions.DirectoryPaths: []string
  • added: field WebhookInstallOptions.IgnoreErrorIfPathMissing: bool
  • added: field WebhookInstallOptions.LocalServingCertDir: string
  • added: field WebhookInstallOptions.LocalServingHost: string
  • added: field WebhookInstallOptions.LocalServingPort: int
  • added: field WebhookInstallOptions.MaxTime: time.Duration
  • added: field WebhookInstallOptions.MutatingWebhooks: []runtime.Object
  • added: field WebhookInstallOptions.PollInterval: time.Duration
  • added: field WebhookInstallOptions.ValidatingWebhooks: []runtime.Object
  • added: func UninstallCRDs(*rest.Config, CRDInstallOptions) error
  • added: func WaitForWebhooks(*rest.Config, []runtime.Object, []runtime.Object, WebhookInstallOptions) error
  • added: method WebhookInstallOptions.Cleanup() error
  • added: method WebhookInstallOptions.Install(*rest.Config) error
  • added: method WebhookInstallOptions.ModifyWebhookDefinitions([]byte) error
  • added: type APIServer = integration.APIServer
  • added: type ControlPlane = integration.ControlPlane
  • added: type Etcd = integration.Etcd
  • added: type WebhookInstallOptions: struct
  • changed: method ResourceLock.Get() (*resourcelock.LeaderElectionRecord, error) → method ResourceLock.Get() (*resourcelock.LeaderElectionRecord, []byte, error)
  • added: func UseFlagOptions(*Options) Opts
  • added: method Options.BindFlags(*flag.FlagSet)
  • added: field Options.LeaderElectionConfig: *rest.Config
  • changed: var Registry → var Registry: RegistererGatherer
  • added: const AddsKey
  • added: const DepthKey
  • added: const ItemsPerListKey
  • added: const ItemsPerWatchKey
  • added: const LastResourceVersionKey
  • added: const LatencyKey
  • added: const ListsDurationKey
  • added: const ListsTotalKey
  • added: const LongestRunningProcessorKey
  • added: const QueueLatencyKey
  • added: const ReflectorSubsystem
  • added: const RestClientSubsystem
  • added: const ResultKey
  • added: const RetriesKey
  • added: const ShortWatchesTotalKey
  • added: const UnfinishedWorkKey
  • added: const WatchDurationKey
  • added: const WatchesTotalKey
  • added: const WorkDurationKey
  • added: const WorkQueueSubsystem
  • added: type RegistererGatherer: interface{prometheus.Registerer; prometheus.Gatherer}
  • added: func And(...Predicate) Predicate
  • added: func Or(...Predicate) Predicate
  • added: method RateLimiter.Forget(interface{})
  • added: method RateLimiter.NumRequeues(interface{}) int
  • added: method RateLimiter.When(interface{}) time.Duration
  • added: type RateLimiter: interface
  • added: method Result.IsZero() bool
  • added: func NewKindWithCache(runtime.Object, cache.Cache) SyncingSource
  • added: method Kind.WaitForSync(<-chan struct{}) error
  • added: method SyncingSource.Start(handler.EventHandler, workqueue.RateLimitingInterface, ...predicate.Predicate) error
  • added: method SyncingSource.WaitForSync(<-chan struct{}) error
  • added: type SyncingSource: interface{Source}
  • added: field Server.CertName: string
  • added: field Server.ClientCAName: string
  • added: field Server.KeyName: string