// WithStorageVersionPrecondition checks if the storage version barrier has // completed, if not, it only passes the following API requests: // 1. non-resource requests, // 2. read requests, // 3. write requests to the storageversion API, // 4. create requests to the namespace API sent by apiserver itself, // 5. write requests to the lease API in kube-system namespace, // 6. resources whose StorageVersion is not pending update, including non-persisted resources. func WithStorageVersionPrecondition(handler http.Handler, svm storageversion.Manager, s runtime.NegotiatedSerializer) http.Handler { … } func contains(s []string, e string) bool { … }