Bump k8s.io deps to v0.25.3
Signed-off-by: Luca Comellini <luca.com@gmail.com>
This commit is contained in:
2
vendor/k8s.io/apiserver/pkg/audit/request.go
generated
vendored
2
vendor/k8s.io/apiserver/pkg/audit/request.go
generated
vendored
@@ -239,7 +239,7 @@ func encodeObject(obj runtime.Object, gv schema.GroupVersion, serializer runtime
|
||||
|
||||
return &runtime.Unknown{
|
||||
Raw: buf.Bytes(),
|
||||
ContentType: runtime.ContentTypeJSON,
|
||||
ContentType: mediaType,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
1
vendor/k8s.io/apiserver/pkg/audit/union.go
generated
vendored
1
vendor/k8s.io/apiserver/pkg/audit/union.go
generated
vendored
@@ -48,6 +48,7 @@ func (u union) ProcessEvents(events ...*auditinternal.Event) bool {
|
||||
func (u union) Run(stopCh <-chan struct{}) error {
|
||||
var funcs []func() error
|
||||
for _, backend := range u.backends {
|
||||
backend := backend
|
||||
funcs = append(funcs, func() error {
|
||||
return backend.Run(stopCh)
|
||||
})
|
||||
|
||||
75
vendor/k8s.io/apiserver/pkg/endpoints/metrics/metrics.go
generated
vendored
75
vendor/k8s.io/apiserver/pkg/endpoints/metrics/metrics.go
generated
vendored
@@ -25,7 +25,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
restful "github.com/emicklei/go-restful"
|
||||
restful "github.com/emicklei/go-restful/v3"
|
||||
"k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
utilsets "k8s.io/apimachinery/pkg/util/sets"
|
||||
@@ -83,16 +83,7 @@ var (
|
||||
&compbasemetrics.GaugeOpts{
|
||||
Name: "apiserver_longrunning_requests",
|
||||
Help: "Gauge of all active long-running apiserver requests broken out by verb, group, version, resource, scope and component. Not all requests are tracked this way.",
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
},
|
||||
[]string{"verb", "group", "version", "resource", "subresource", "scope", "component"},
|
||||
)
|
||||
longRunningRequestGauge = compbasemetrics.NewGaugeVec(
|
||||
&compbasemetrics.GaugeOpts{
|
||||
Name: "apiserver_longrunning_gauge",
|
||||
Help: "Gauge of all active long-running apiserver requests broken out by verb, group, version, resource, scope and component. Not all requests are tracked this way.",
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
DeprecatedVersion: "1.23.0",
|
||||
StabilityLevel: compbasemetrics.STABLE,
|
||||
},
|
||||
[]string{"verb", "group", "version", "resource", "subresource", "scope", "component"},
|
||||
)
|
||||
@@ -103,7 +94,7 @@ var (
|
||||
// This metric is used for verifying api call latencies SLO,
|
||||
// as well as tracking regressions in this aspects.
|
||||
// Thus we customize buckets significantly, to empower both usecases.
|
||||
Buckets: []float64{0.05, 0.1, 0.2, 0.4, 0.6, 0.8, 1.0, 1.25, 1.5, 2, 3,
|
||||
Buckets: []float64{0.005, 0.025, 0.05, 0.1, 0.2, 0.4, 0.6, 0.8, 1.0, 1.25, 1.5, 2, 3,
|
||||
4, 5, 6, 8, 10, 15, 20, 30, 45, 60},
|
||||
StabilityLevel: compbasemetrics.STABLE,
|
||||
},
|
||||
@@ -145,16 +136,6 @@ var (
|
||||
},
|
||||
[]string{"verb", "group", "version", "resource", "subresource", "scope", "component"},
|
||||
)
|
||||
// droppedRequests is a number of requests dropped with 'Try again later' response"
|
||||
droppedRequests = compbasemetrics.NewCounterVec(
|
||||
&compbasemetrics.CounterOpts{
|
||||
Name: "apiserver_dropped_requests_total",
|
||||
Help: "Number of requests dropped with 'Try again later' response. Use apiserver_request_total and/or apiserver_request_terminations_total metrics instead.",
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
DeprecatedVersion: "1.24.0",
|
||||
},
|
||||
[]string{"request_kind"},
|
||||
)
|
||||
// TLSHandshakeErrors is a number of requests dropped with 'TLS handshake error from' error
|
||||
TLSHandshakeErrors = compbasemetrics.NewCounter(
|
||||
&compbasemetrics.CounterOpts{
|
||||
@@ -163,16 +144,6 @@ var (
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
},
|
||||
)
|
||||
// RegisteredWatchers is a number of currently registered watchers splitted by resource.
|
||||
RegisteredWatchers = compbasemetrics.NewGaugeVec(
|
||||
&compbasemetrics.GaugeOpts{
|
||||
Name: "apiserver_registered_watchers",
|
||||
Help: "Number of currently registered watchers for a given resources",
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
DeprecatedVersion: "1.23.0",
|
||||
},
|
||||
[]string{"group", "version", "kind"},
|
||||
)
|
||||
WatchEvents = compbasemetrics.NewCounterVec(
|
||||
&compbasemetrics.CounterOpts{
|
||||
Name: "apiserver_watch_events_total",
|
||||
@@ -267,18 +238,27 @@ var (
|
||||
[]string{"source", "status"},
|
||||
)
|
||||
|
||||
requestTimestampComparisonDuration = compbasemetrics.NewHistogramVec(
|
||||
&compbasemetrics.HistogramOpts{
|
||||
Name: "apiserver_request_timestamp_comparison_time",
|
||||
Help: "Time taken for comparison of old vs new objects in UPDATE or PATCH requests",
|
||||
Buckets: []float64{0.0001, 0.0003, 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1.0, 5.0},
|
||||
StabilityLevel: compbasemetrics.ALPHA,
|
||||
},
|
||||
// Path the code takes to reach a conclusion:
|
||||
// i.e. unequalObjectsFast, unequalObjectsSlow, equalObjectsSlow
|
||||
[]string{"code_path"},
|
||||
)
|
||||
|
||||
metrics = []resettableCollector{
|
||||
deprecatedRequestGauge,
|
||||
requestCounter,
|
||||
longRunningRequestsGauge,
|
||||
longRunningRequestGauge,
|
||||
requestLatencies,
|
||||
requestSloLatencies,
|
||||
fieldValidationRequestLatencies,
|
||||
responseSizes,
|
||||
droppedRequests,
|
||||
TLSHandshakeErrors,
|
||||
RegisteredWatchers,
|
||||
WatchEvents,
|
||||
WatchEventsSizes,
|
||||
currentInflightRequests,
|
||||
@@ -288,6 +268,7 @@ var (
|
||||
requestFilterDuration,
|
||||
requestAbortsTotal,
|
||||
requestPostTimeoutTotal,
|
||||
requestTimestampComparisonDuration,
|
||||
}
|
||||
|
||||
// these are the valid request methods which we report in our metrics. Any other request methods
|
||||
@@ -398,6 +379,10 @@ func RecordFilterLatency(ctx context.Context, name string, elapsed time.Duration
|
||||
requestFilterDuration.WithContext(ctx).WithLabelValues(name).Observe(elapsed.Seconds())
|
||||
}
|
||||
|
||||
func RecordTimestampComparisonLatency(codePath string, elapsed time.Duration) {
|
||||
requestTimestampComparisonDuration.WithLabelValues(codePath).Observe(elapsed.Seconds())
|
||||
}
|
||||
|
||||
func RecordRequestPostTimeout(source string, status string) {
|
||||
requestPostTimeoutTotal.WithLabelValues(source, status).Inc()
|
||||
}
|
||||
@@ -437,12 +422,6 @@ func RecordDroppedRequest(req *http.Request, requestInfo *request.RequestInfo, c
|
||||
} else {
|
||||
requestCounter.WithContext(req.Context()).WithLabelValues(reportedVerb, dryRun, "", "", "", requestInfo.Subresource, scope, component, codeToString(http.StatusTooManyRequests)).Inc()
|
||||
}
|
||||
|
||||
if isMutatingRequest {
|
||||
droppedRequests.WithContext(req.Context()).WithLabelValues(MutatingKind).Inc()
|
||||
} else {
|
||||
droppedRequests.WithContext(req.Context()).WithLabelValues(ReadOnlyKind).Inc()
|
||||
}
|
||||
}
|
||||
|
||||
// RecordRequestTermination records that the request was terminated early as part of a resource
|
||||
@@ -474,7 +453,7 @@ func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, comp
|
||||
if requestInfo == nil {
|
||||
requestInfo = &request.RequestInfo{Verb: req.Method, Path: req.URL.Path}
|
||||
}
|
||||
var g, e compbasemetrics.GaugeMetric
|
||||
var g compbasemetrics.GaugeMetric
|
||||
scope := CleanScope(requestInfo)
|
||||
|
||||
// We don't use verb from <requestInfo>, as this may be propagated from
|
||||
@@ -484,18 +463,12 @@ func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, comp
|
||||
reportedVerb := cleanVerb(CanonicalVerb(strings.ToUpper(req.Method), scope), getVerbIfWatch(req), req)
|
||||
|
||||
if requestInfo.IsResourceRequest {
|
||||
e = longRunningRequestsGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, requestInfo.APIGroup, requestInfo.APIVersion, requestInfo.Resource, requestInfo.Subresource, scope, component)
|
||||
g = longRunningRequestGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, requestInfo.APIGroup, requestInfo.APIVersion, requestInfo.Resource, requestInfo.Subresource, scope, component)
|
||||
g = longRunningRequestsGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, requestInfo.APIGroup, requestInfo.APIVersion, requestInfo.Resource, requestInfo.Subresource, scope, component)
|
||||
} else {
|
||||
e = longRunningRequestsGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, "", "", "", requestInfo.Path, scope, component)
|
||||
g = longRunningRequestGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, "", "", "", requestInfo.Path, scope, component)
|
||||
g = longRunningRequestsGauge.WithContext(req.Context()).WithLabelValues(reportedVerb, "", "", "", requestInfo.Path, scope, component)
|
||||
}
|
||||
e.Inc()
|
||||
g.Inc()
|
||||
defer func() {
|
||||
e.Dec()
|
||||
g.Dec()
|
||||
}()
|
||||
defer g.Dec()
|
||||
fn()
|
||||
}
|
||||
|
||||
|
||||
7
vendor/k8s.io/apiserver/pkg/endpoints/request/auditid.go
generated
vendored
7
vendor/k8s.io/apiserver/pkg/endpoints/request/auditid.go
generated
vendored
@@ -18,7 +18,6 @@ package request
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
)
|
||||
@@ -45,12 +44,12 @@ func AuditIDFrom(ctx context.Context) (types.UID, bool) {
|
||||
return auditID, ok
|
||||
}
|
||||
|
||||
// GetAuditIDTruncated returns the audit ID (truncated) associated with a request.
|
||||
// GetAuditIDTruncated returns the audit ID (truncated) from the request context.
|
||||
// If the length of the Audit-ID value exceeds the limit, we truncate it to keep
|
||||
// the first N (maxAuditIDLength) characters.
|
||||
// This is intended to be used in logging only.
|
||||
func GetAuditIDTruncated(req *http.Request) string {
|
||||
auditID, ok := AuditIDFrom(req.Context())
|
||||
func GetAuditIDTruncated(ctx context.Context) string {
|
||||
auditID, ok := AuditIDFrom(ctx)
|
||||
if !ok {
|
||||
return ""
|
||||
}
|
||||
|
||||
16
vendor/k8s.io/apiserver/pkg/endpoints/responsewriter/wrapper.go
generated
vendored
16
vendor/k8s.io/apiserver/pkg/endpoints/responsewriter/wrapper.go
generated
vendored
@@ -42,19 +42,19 @@ type UserProvidedDecorator interface {
|
||||
// object implements the same subset of those interfaces as the inner http.ResponseWriter.
|
||||
//
|
||||
// This function handles the following three casses.
|
||||
// - The inner ResponseWriter implements `http.CloseNotifier`, `http.Flusher`,
|
||||
// and `http.Hijacker` (an HTTP/1.1 sever provides such a ResponseWriter).
|
||||
// - The inner ResponseWriter implements `http.CloseNotifier` and `http.Flusher`
|
||||
// but not `http.Hijacker` (an HTTP/2 server provides such a ResponseWriter).
|
||||
// - All the other cases collapse to this one, in which the given ResponseWriter is returned.
|
||||
// - The inner ResponseWriter implements `http.CloseNotifier`, `http.Flusher`,
|
||||
// and `http.Hijacker` (an HTTP/1.1 sever provides such a ResponseWriter).
|
||||
// - The inner ResponseWriter implements `http.CloseNotifier` and `http.Flusher`
|
||||
// but not `http.Hijacker` (an HTTP/2 server provides such a ResponseWriter).
|
||||
// - All the other cases collapse to this one, in which the given ResponseWriter is returned.
|
||||
//
|
||||
// There are three applicable terms:
|
||||
// - "outer": this is the ResponseWriter object returned by the WrapForHTTP1Or2 function.
|
||||
// - "user-provided decorator" or "middle": this is the user-provided decorator
|
||||
// - "outer": this is the ResponseWriter object returned by the WrapForHTTP1Or2 function.
|
||||
// - "user-provided decorator" or "middle": this is the user-provided decorator
|
||||
// that decorates an inner ResponseWriter object. A user-provided decorator
|
||||
// implements the UserProvidedDecorator interface. A user-provided decorator
|
||||
// may or may not implement http.CloseNotifier, http.Flusher or http.Hijacker.
|
||||
// - "inner": the ResponseWriter that the user-provided decorator extends.
|
||||
// - "inner": the ResponseWriter that the user-provided decorator extends.
|
||||
func WrapForHTTP1Or2(decorator UserProvidedDecorator) http.ResponseWriter {
|
||||
// from go net/http documentation:
|
||||
// The default HTTP/1.x and HTTP/2 ResponseWriter implementations support Flusher
|
||||
|
||||
250
vendor/k8s.io/apiserver/pkg/features/kube_features.go
generated
vendored
250
vendor/k8s.io/apiserver/pkg/features/kube_features.go
generated
vendored
@@ -28,24 +28,12 @@ const (
|
||||
//
|
||||
// // owner: @username
|
||||
// // alpha: v1.4
|
||||
// MyFeature() bool
|
||||
|
||||
// owner: @tallclair
|
||||
// alpha: v1.7
|
||||
// beta: v1.8
|
||||
// GA: v1.12
|
||||
// MyFeature featuregate.Feature = "MyFeature"
|
||||
//
|
||||
// AdvancedAuditing enables a much more general API auditing pipeline, which includes support for
|
||||
// pluggable output backends and an audit policy specifying how different requests should be
|
||||
// audited.
|
||||
AdvancedAuditing featuregate.Feature = "AdvancedAuditing"
|
||||
|
||||
// owner: @ilackams
|
||||
// alpha: v1.7
|
||||
// beta: v1.16
|
||||
//
|
||||
// Enables compression of REST responses (GET and LIST only)
|
||||
APIResponseCompression featuregate.Feature = "APIResponseCompression"
|
||||
// Feature gates should be listed in alphabetical, case-sensitive
|
||||
// (upper before any lower case character) order. This reduces the risk
|
||||
// of code conflicts because changes are more likely to be scattered
|
||||
// across the file.
|
||||
|
||||
// owner: @smarterclayton
|
||||
// alpha: v1.8
|
||||
@@ -55,54 +43,6 @@ const (
|
||||
// all at once.
|
||||
APIListChunking featuregate.Feature = "APIListChunking"
|
||||
|
||||
// owner: @apelisse
|
||||
// alpha: v1.12
|
||||
// beta: v1.13
|
||||
// stable: v1.18
|
||||
//
|
||||
// Allow requests to be processed but not stored, so that
|
||||
// validation, merging, mutation can be tested without
|
||||
// committing.
|
||||
DryRun featuregate.Feature = "DryRun"
|
||||
|
||||
// owner: @caesarxuchao
|
||||
// alpha: v1.15
|
||||
// beta: v1.16
|
||||
//
|
||||
// Allow apiservers to show a count of remaining items in the response
|
||||
// to a chunking list request.
|
||||
RemainingItemCount featuregate.Feature = "RemainingItemCount"
|
||||
|
||||
// owner: @apelisse, @lavalamp
|
||||
// alpha: v1.14
|
||||
// beta: v1.16
|
||||
// stable: v1.22
|
||||
//
|
||||
// Server-side apply. Merging happens on the server.
|
||||
ServerSideApply featuregate.Feature = "ServerSideApply"
|
||||
|
||||
// owner: @caesarxuchao
|
||||
// alpha: v1.14
|
||||
// beta: v1.15
|
||||
//
|
||||
// Allow apiservers to expose the storage version hash in the discovery
|
||||
// document.
|
||||
StorageVersionHash featuregate.Feature = "StorageVersionHash"
|
||||
|
||||
// owner: @caesarxuchao @roycaihw
|
||||
// alpha: v1.20
|
||||
//
|
||||
// Enable the storage version API.
|
||||
StorageVersionAPI featuregate.Feature = "StorageVersionAPI"
|
||||
|
||||
// owner: @wojtek-t
|
||||
// alpha: v1.15
|
||||
// beta: v1.16
|
||||
// GA: v1.17
|
||||
//
|
||||
// Enables support for watch bookmark events.
|
||||
WatchBookmark featuregate.Feature = "WatchBookmark"
|
||||
|
||||
// owner: @MikeSpreitzer @yue9944882
|
||||
// alpha: v1.18
|
||||
// beta: v1.20
|
||||
@@ -112,29 +52,12 @@ const (
|
||||
// was not really implemented before 1.18.
|
||||
APIPriorityAndFairness featuregate.Feature = "APIPriorityAndFairness"
|
||||
|
||||
// owner: @wojtek-t
|
||||
// alpha: v1.16
|
||||
// beta: v1.20
|
||||
// GA: v1.24
|
||||
// owner: @ilackams
|
||||
// alpha: v1.7
|
||||
// beta: v1.16
|
||||
//
|
||||
// Deprecates and removes SelfLink from ObjectMeta and ListMeta.
|
||||
RemoveSelfLink featuregate.Feature = "RemoveSelfLink"
|
||||
|
||||
// owner: @shaloulcy, @wojtek-t
|
||||
// alpha: v1.18
|
||||
// beta: v1.19
|
||||
// GA: v1.20
|
||||
//
|
||||
// Allows label and field based indexes in apiserver watch cache to accelerate list operations.
|
||||
SelectorIndex featuregate.Feature = "SelectorIndex"
|
||||
|
||||
// owner: @wojtek-t
|
||||
// alpha: v1.20
|
||||
// beta: v1.21
|
||||
// GA: v1.24
|
||||
//
|
||||
// Allows for updating watchcache resource version with progress notify events.
|
||||
EfficientWatchResumption featuregate.Feature = "EfficientWatchResumption"
|
||||
// Enables compression of REST responses (GET and LIST only)
|
||||
APIResponseCompression featuregate.Feature = "APIResponseCompression"
|
||||
|
||||
// owner: @roycaihw
|
||||
// alpha: v1.20
|
||||
@@ -148,6 +71,49 @@ const (
|
||||
// Add support for distributed tracing in the API Server
|
||||
APIServerTracing featuregate.Feature = "APIServerTracing"
|
||||
|
||||
// owner: @tallclair
|
||||
// alpha: v1.7
|
||||
// beta: v1.8
|
||||
// GA: v1.12
|
||||
//
|
||||
// AdvancedAuditing enables a much more general API auditing pipeline, which includes support for
|
||||
// pluggable output backends and an audit policy specifying how different requests should be
|
||||
// audited.
|
||||
AdvancedAuditing featuregate.Feature = "AdvancedAuditing"
|
||||
|
||||
// owner: @cici37
|
||||
// kep: http://kep.k8s.io/2876
|
||||
// alpha: v1.23
|
||||
// beta: v1.25
|
||||
//
|
||||
// Enables expression validation for Custom Resource
|
||||
CustomResourceValidationExpressions featuregate.Feature = "CustomResourceValidationExpressions"
|
||||
|
||||
// owner: @apelisse
|
||||
// alpha: v1.12
|
||||
// beta: v1.13
|
||||
// stable: v1.18
|
||||
//
|
||||
// Allow requests to be processed but not stored, so that
|
||||
// validation, merging, mutation can be tested without
|
||||
// committing.
|
||||
DryRun featuregate.Feature = "DryRun"
|
||||
|
||||
// owner: @wojtek-t
|
||||
// alpha: v1.20
|
||||
// beta: v1.21
|
||||
// GA: v1.24
|
||||
//
|
||||
// Allows for updating watchcache resource version with progress notify events.
|
||||
EfficientWatchResumption featuregate.Feature = "EfficientWatchResumption"
|
||||
|
||||
// owner: @aramase
|
||||
// kep: http://kep.k8s.io/3299
|
||||
// alpha: v1.25
|
||||
//
|
||||
// Enables KMS v2 API for encryption at rest.
|
||||
KMSv2 featuregate.Feature = "KMSv2"
|
||||
|
||||
// owner: @jiahuif
|
||||
// kep: http://kep.k8s.io/2887
|
||||
// alpha: v1.23
|
||||
@@ -157,13 +123,6 @@ const (
|
||||
// in the spec returned from kube-apiserver.
|
||||
OpenAPIEnums featuregate.Feature = "OpenAPIEnums"
|
||||
|
||||
// owner: @cici37
|
||||
// kep: http://kep.k8s.io/2876
|
||||
// alpha: v1.23
|
||||
//
|
||||
// Enables expression validation for Custom Resource
|
||||
CustomResourceValidationExpressions featuregate.Feature = "CustomResourceValidationExpressions"
|
||||
|
||||
// owner: @jefftree
|
||||
// kep: http://kep.k8s.io/2896
|
||||
// alpha: v1.23
|
||||
@@ -172,12 +131,59 @@ const (
|
||||
// Enables kubernetes to publish OpenAPI v3
|
||||
OpenAPIV3 featuregate.Feature = "OpenAPIV3"
|
||||
|
||||
// owner: @caesarxuchao
|
||||
// alpha: v1.15
|
||||
// beta: v1.16
|
||||
//
|
||||
// Allow apiservers to show a count of remaining items in the response
|
||||
// to a chunking list request.
|
||||
RemainingItemCount featuregate.Feature = "RemainingItemCount"
|
||||
|
||||
// owner: @wojtek-t
|
||||
// alpha: v1.16
|
||||
// beta: v1.20
|
||||
// GA: v1.24
|
||||
//
|
||||
// Deprecates and removes SelfLink from ObjectMeta and ListMeta.
|
||||
RemoveSelfLink featuregate.Feature = "RemoveSelfLink"
|
||||
|
||||
// owner: @apelisse, @lavalamp
|
||||
// alpha: v1.14
|
||||
// beta: v1.16
|
||||
// stable: v1.22
|
||||
//
|
||||
// Server-side apply. Merging happens on the server.
|
||||
ServerSideApply featuregate.Feature = "ServerSideApply"
|
||||
|
||||
// owner: @kevindelgado
|
||||
// kep: http://kep.k8s.io/2885
|
||||
// alpha: v1.23
|
||||
// beta: v1.24
|
||||
//
|
||||
// Enables server-side field validation.
|
||||
ServerSideFieldValidation featuregate.Feature = "ServerSideFieldValidation"
|
||||
|
||||
// owner: @caesarxuchao @roycaihw
|
||||
// alpha: v1.20
|
||||
//
|
||||
// Enable the storage version API.
|
||||
StorageVersionAPI featuregate.Feature = "StorageVersionAPI"
|
||||
|
||||
// owner: @caesarxuchao
|
||||
// alpha: v1.14
|
||||
// beta: v1.15
|
||||
//
|
||||
// Allow apiservers to expose the storage version hash in the discovery
|
||||
// document.
|
||||
StorageVersionHash featuregate.Feature = "StorageVersionHash"
|
||||
|
||||
// owner: @wojtek-t
|
||||
// alpha: v1.15
|
||||
// beta: v1.16
|
||||
// GA: v1.17
|
||||
//
|
||||
// Enables support for watch bookmark events.
|
||||
WatchBookmark featuregate.Feature = "WatchBookmark"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -188,23 +194,41 @@ func init() {
|
||||
// To add a new feature, define a key for it above and add it here. The features will be
|
||||
// available throughout Kubernetes binaries.
|
||||
var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
|
||||
AdvancedAuditing: {Default: true, PreRelease: featuregate.GA},
|
||||
APIResponseCompression: {Default: true, PreRelease: featuregate.Beta},
|
||||
APIListChunking: {Default: true, PreRelease: featuregate.Beta},
|
||||
DryRun: {Default: true, PreRelease: featuregate.GA},
|
||||
RemainingItemCount: {Default: true, PreRelease: featuregate.Beta},
|
||||
ServerSideApply: {Default: true, PreRelease: featuregate.GA},
|
||||
StorageVersionHash: {Default: true, PreRelease: featuregate.Beta},
|
||||
StorageVersionAPI: {Default: false, PreRelease: featuregate.Alpha},
|
||||
WatchBookmark: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
APIPriorityAndFairness: {Default: true, PreRelease: featuregate.Beta},
|
||||
RemoveSelfLink: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
SelectorIndex: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
EfficientWatchResumption: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
APIServerIdentity: {Default: false, PreRelease: featuregate.Alpha},
|
||||
APIServerTracing: {Default: false, PreRelease: featuregate.Alpha},
|
||||
OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta},
|
||||
CustomResourceValidationExpressions: {Default: false, PreRelease: featuregate.Alpha},
|
||||
OpenAPIV3: {Default: true, PreRelease: featuregate.Beta},
|
||||
ServerSideFieldValidation: {Default: false, PreRelease: featuregate.Alpha},
|
||||
APIListChunking: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
APIPriorityAndFairness: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
APIResponseCompression: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
APIServerIdentity: {Default: false, PreRelease: featuregate.Alpha},
|
||||
|
||||
APIServerTracing: {Default: false, PreRelease: featuregate.Alpha},
|
||||
|
||||
AdvancedAuditing: {Default: true, PreRelease: featuregate.GA},
|
||||
|
||||
CustomResourceValidationExpressions: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
DryRun: {Default: true, PreRelease: featuregate.GA},
|
||||
|
||||
EfficientWatchResumption: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
|
||||
KMSv2: {Default: false, PreRelease: featuregate.Alpha},
|
||||
|
||||
OpenAPIEnums: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
OpenAPIV3: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
RemainingItemCount: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
RemoveSelfLink: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
|
||||
ServerSideApply: {Default: true, PreRelease: featuregate.GA},
|
||||
|
||||
ServerSideFieldValidation: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
StorageVersionAPI: {Default: false, PreRelease: featuregate.Alpha},
|
||||
|
||||
StorageVersionHash: {Default: true, PreRelease: featuregate.Beta},
|
||||
|
||||
WatchBookmark: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
}
|
||||
|
||||
2
vendor/k8s.io/apiserver/pkg/server/httplog/httplog.go
generated
vendored
2
vendor/k8s.io/apiserver/pkg/server/httplog/httplog.go
generated
vendored
@@ -239,7 +239,7 @@ func SetStacktracePredicate(ctx context.Context, pred StacktracePred) {
|
||||
// Log is intended to be called once at the end of your request handler, via defer
|
||||
func (rl *respLogger) Log() {
|
||||
latency := time.Since(rl.startTime)
|
||||
auditID := request.GetAuditIDTruncated(rl.req)
|
||||
auditID := request.GetAuditIDTruncated(rl.req.Context())
|
||||
|
||||
verb := rl.req.Method
|
||||
if requestInfo, ok := request.RequestInfoFrom(rl.req.Context()); ok {
|
||||
|
||||
18
vendor/k8s.io/apiserver/pkg/util/wsstream/conn.go
generated
vendored
18
vendor/k8s.io/apiserver/pkg/util/wsstream/conn.go
generated
vendored
@@ -40,11 +40,10 @@ import (
|
||||
//
|
||||
// Example client session:
|
||||
//
|
||||
// CONNECT http://server.com with subprotocol "channel.k8s.io"
|
||||
// WRITE []byte{0, 102, 111, 111, 10} # send "foo\n" on channel 0 (STDIN)
|
||||
// READ []byte{1, 10} # receive "\n" on channel 1 (STDOUT)
|
||||
// CLOSE
|
||||
//
|
||||
// CONNECT http://server.com with subprotocol "channel.k8s.io"
|
||||
// WRITE []byte{0, 102, 111, 111, 10} # send "foo\n" on channel 0 (STDIN)
|
||||
// READ []byte{1, 10} # receive "\n" on channel 1 (STDOUT)
|
||||
// CLOSE
|
||||
const ChannelWebSocketProtocol = "channel.k8s.io"
|
||||
|
||||
// The Websocket subprotocol "base64.channel.k8s.io" base64 encodes each message with a character
|
||||
@@ -56,11 +55,10 @@ const ChannelWebSocketProtocol = "channel.k8s.io"
|
||||
//
|
||||
// Example client session:
|
||||
//
|
||||
// CONNECT http://server.com with subprotocol "base64.channel.k8s.io"
|
||||
// WRITE []byte{48, 90, 109, 57, 118, 67, 103, 111, 61} # send "foo\n" (base64: "Zm9vCgo=") on channel '0' (STDIN)
|
||||
// READ []byte{49, 67, 103, 61, 61} # receive "\n" (base64: "Cg==") on channel '1' (STDOUT)
|
||||
// CLOSE
|
||||
//
|
||||
// CONNECT http://server.com with subprotocol "base64.channel.k8s.io"
|
||||
// WRITE []byte{48, 90, 109, 57, 118, 67, 103, 111, 61} # send "foo\n" (base64: "Zm9vCgo=") on channel '0' (STDIN)
|
||||
// READ []byte{49, 67, 103, 61, 61} # receive "\n" (base64: "Cg==") on channel '1' (STDOUT)
|
||||
// CLOSE
|
||||
const Base64ChannelWebSocketProtocol = "base64.channel.k8s.io"
|
||||
|
||||
type codecType int
|
||||
|
||||
Reference in New Issue
Block a user