Add audit annotation for requests to deprecated API endpoints
Kubernetes-commit: 9550f5080fde480c0712a0870c56b4e2415f8637
This commit is contained in:
parent
92be1b77e7
commit
50fc715287
|
@ -31,6 +31,7 @@ import (
|
|||
"k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
utilsets "k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apiserver/pkg/audit"
|
||||
"k8s.io/apiserver/pkg/endpoints/request"
|
||||
"k8s.io/apiserver/pkg/features"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
|
@ -232,6 +233,16 @@ const (
|
|||
MutatingKind = "mutating"
|
||||
)
|
||||
|
||||
const (
|
||||
// deprecatedAnnotationKey is a key for an audit annotation set to
|
||||
// "true" on requests made to deprecated API versions
|
||||
deprecatedAnnotationKey = "k8s.io/deprecated"
|
||||
// removedReleaseAnnotationKey is a key for an audit annotation set to
|
||||
// the target removal release, in "<major>.<minor>" format,
|
||||
// on requests made to deprecated API versions with a target removal release
|
||||
removedReleaseAnnotationKey = "k8s.io/removed-release"
|
||||
)
|
||||
|
||||
var registerMetrics sync.Once
|
||||
|
||||
// Register all metrics.
|
||||
|
@ -315,6 +326,10 @@ func MonitorRequest(req *http.Request, verb, group, version, resource, subresour
|
|||
requestCounter.WithLabelValues(reportedVerb, dryRun, group, version, resource, subresource, scope, component, cleanContentType, codeToString(httpCode)).Inc()
|
||||
if deprecated {
|
||||
deprecatedRequestGauge.WithLabelValues(group, version, resource, subresource, removedRelease).Set(1)
|
||||
audit.AddAuditAnnotation(req.Context(), deprecatedAnnotationKey, "true")
|
||||
if len(removedRelease) > 0 {
|
||||
audit.AddAuditAnnotation(req.Context(), removedReleaseAnnotationKey, removedRelease)
|
||||
}
|
||||
}
|
||||
requestLatencies.WithLabelValues(reportedVerb, dryRun, group, version, resource, subresource, scope, component).Observe(elapsedSeconds)
|
||||
// We are only interested in response sizes of read requests.
|
||||
|
|
Loading…
Reference in New Issue