type muxAndDiscoveryIncompleteKeyType … const muxAndDiscoveryIncompleteKey … // NoMuxAndDiscoveryIncompleteKey checks if the context contains muxAndDiscoveryIncompleteKey. // The presence of the key indicates the request has been made when the HTTP paths weren't installed. func NoMuxAndDiscoveryIncompleteKey(ctx context.Context) bool { … } // WithMuxAndDiscoveryComplete puts the muxAndDiscoveryIncompleteKey in the context if a request has been made before muxAndDiscoveryCompleteSignal has been ready. // Putting the key protect us from returning a 404 response instead of a 503. // It is especially important for controllers like GC and NS since they act on 404s. // // The presence of the key is checked in the NotFoundHandler (staging/src/k8s.io/apiserver/pkg/util/notfoundhandler/not_found_handler.go) // // The primary reason this filter exists is to protect from a potential race between the client's requests reaching the NotFoundHandler and the server becoming ready. // Without the protection key a request could still get a 404 response when the registered signals changed their status just slightly before reaching the new handler. // In that case, the presence of the key will make the handler return a 503 instead of a 404. func WithMuxAndDiscoveryComplete(handler http.Handler, muxAndDiscoveryCompleteSignal <-chan struct{ … } // isClosed is a convenience function that simply check if the given chan has been closed func isClosed(ch <-chan struct{ … }