mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-05 07:26:55 +00:00
feat: add new instrumented clients (#6302)
* feat: add new instrumented clients Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * helper Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --------- Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
parent
f401071bb3
commit
5cbb8e82be
18 changed files with 2463 additions and 0 deletions
|
@ -7,6 +7,8 @@ import (
|
|||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/client/clientset/versioned"
|
||||
agg "github.com/kyverno/kyverno/pkg/clients/aggregator"
|
||||
apisrv "github.com/kyverno/kyverno/pkg/clients/apiserver"
|
||||
"github.com/kyverno/kyverno/pkg/clients/dclient"
|
||||
dyn "github.com/kyverno/kyverno/pkg/clients/dynamic"
|
||||
kube "github.com/kyverno/kyverno/pkg/clients/kube"
|
||||
|
@ -15,10 +17,12 @@ import (
|
|||
"github.com/kyverno/kyverno/pkg/config"
|
||||
"github.com/kyverno/kyverno/pkg/tracing"
|
||||
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
||||
apiserver "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
"k8s.io/client-go/dynamic"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/metadata"
|
||||
"k8s.io/client-go/rest"
|
||||
aggregator "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
||||
)
|
||||
|
||||
func CreateClientConfig(logger logr.Logger) *rest.Config {
|
||||
|
@ -64,6 +68,22 @@ func CreateMetadataClient(logger logr.Logger, opts ...meta.NewOption) metadata.I
|
|||
return client
|
||||
}
|
||||
|
||||
func CreateApiServerClient(logger logr.Logger, opts ...apisrv.NewOption) apiserver.Interface {
|
||||
logger = logger.WithName("apiserver-client")
|
||||
logger.Info("create apiserver client...", "kubeconfig", kubeconfig, "qps", clientRateLimitQPS, "burst", clientRateLimitBurst)
|
||||
client, err := apisrv.NewForConfig(CreateClientConfig(logger), opts...)
|
||||
checkError(logger, err, "failed to create apiserver client")
|
||||
return client
|
||||
}
|
||||
|
||||
func CreateAggregatorClient(logger logr.Logger, opts ...agg.NewOption) aggregator.Interface {
|
||||
logger = logger.WithName("aggregator-client")
|
||||
logger.Info("create aggregator client...", "kubeconfig", kubeconfig, "qps", clientRateLimitQPS, "burst", clientRateLimitBurst)
|
||||
client, err := agg.NewForConfig(CreateClientConfig(logger), opts...)
|
||||
checkError(logger, err, "failed to create aggregator client")
|
||||
return client
|
||||
}
|
||||
|
||||
func CreateDClient(logger logr.Logger, ctx context.Context, dyn dynamic.Interface, kube kubernetes.Interface, resync time.Duration) dclient.Interface {
|
||||
logger = logger.WithName("d-client")
|
||||
logger.Info("create the kyverno dynamic client...", "kubeconfig", kubeconfig, "qps", clientRateLimitQPS, "burst", clientRateLimitBurst)
|
||||
|
|
1
go.mod
1
go.mod
|
@ -67,6 +67,7 @@ require (
|
|||
k8s.io/cli-runtime v0.26.1
|
||||
k8s.io/client-go v0.26.1
|
||||
k8s.io/klog/v2 v2.90.0
|
||||
k8s.io/kube-aggregator v0.26.1
|
||||
k8s.io/kube-openapi v0.0.0-20230118215034-64b6bb138190
|
||||
k8s.io/pod-security-admission v0.26.1
|
||||
k8s.io/utils v0.0.0-20230115233650-391b47cb4029
|
||||
|
|
2
go.sum
2
go.sum
|
@ -2191,6 +2191,8 @@ k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
|
|||
k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
|
||||
k8s.io/klog/v2 v2.90.0 h1:VkTxIV/FjRXn1fgNNcKGM8cfmL1Z33ZjXRTVxKCoF5M=
|
||||
k8s.io/klog/v2 v2.90.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
|
||||
k8s.io/kube-aggregator v0.26.1 h1:TqDWwuaUJpyhWGWw4JrXR8ZAAaHa9qrsXxR41aR3igw=
|
||||
k8s.io/kube-aggregator v0.26.1/go.mod h1:E6dnKoQ6f4eFl8QQXHxTASZKXBX6+XcjROWl7GRltl4=
|
||||
k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM=
|
||||
k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE=
|
||||
k8s.io/kube-openapi v0.0.0-20230118215034-64b6bb138190 h1:5MAqxJfshQZ9NdSNGAn7CJ9vuBxAiTaqn3B4pfqD+PE=
|
||||
|
|
|
@ -10,10 +10,12 @@ import (
|
|||
"text/template"
|
||||
|
||||
"github.com/kyverno/kyverno/pkg/client/clientset/versioned"
|
||||
apiserver "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/client-go/dynamic"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/metadata"
|
||||
aggregator "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -744,4 +746,10 @@ func main() {
|
|||
metadataResource := parseResource(reflect.TypeOf((*metadata.ResourceInterface)(nil)).Elem())
|
||||
generateInterface(metadataInterface, "pkg/clients/metadata")
|
||||
generateResource(metadataResource, "pkg/clients/metadata/resource")
|
||||
apiserverInterface := parseClientset(reflect.TypeOf((*apiserver.Interface)(nil)).Elem())
|
||||
generateClientset(apiserverInterface, "pkg/clients/apiserver")
|
||||
generateInterface(apiserverInterface, "pkg/clients/apiserver")
|
||||
aggregatorInterface := parseClientset(reflect.TypeOf((*aggregator.Interface)(nil)).Elem())
|
||||
generateClientset(aggregatorInterface, "pkg/clients/aggregator")
|
||||
generateInterface(aggregatorInterface, "pkg/clients/aggregator")
|
||||
}
|
||||
|
|
|
@ -0,0 +1,373 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
context "context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"github.com/kyverno/kyverno/pkg/tracing"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.uber.org/multierr"
|
||||
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
|
||||
k8s_io_apimachinery_pkg_watch "k8s.io/apimachinery/pkg/watch"
|
||||
k8s_io_kube_aggregator_pkg_apis_apiregistration_v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1 "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1"
|
||||
)
|
||||
|
||||
func WithLogging(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface, logger logr.Logger) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
func WithMetrics(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface, recorder metrics.Recorder) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface {
|
||||
return &withMetrics{inner, recorder}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface, client, kind string) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface {
|
||||
return &withTracing{inner, client, kind}
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Create")
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Create failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Create done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Delete")
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "Delete failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Delete done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "DeleteCollection")
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "DeleteCollection failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("DeleteCollection done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Get")
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Get failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Get done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIServiceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "List")
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "List failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("List done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Patch")
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Patch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Patch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Update")
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Update failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Update done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "UpdateStatus")
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "UpdateStatus failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("UpdateStatus done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Watch")
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Watch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Watch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface
|
||||
recorder metrics.Recorder
|
||||
}
|
||||
|
||||
func (c *withMetrics) Create(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "create")
|
||||
return c.inner.Create(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete")
|
||||
return c.inner.Delete(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete_collection")
|
||||
return c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "get")
|
||||
return c.inner.Get(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIServiceList, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "list")
|
||||
return c.inner.List(arg0, arg1)
|
||||
}
|
||||
func (c *withMetrics) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "patch")
|
||||
return c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
}
|
||||
func (c *withMetrics) Update(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update")
|
||||
return c.inner.Update(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) UpdateStatus(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update_status")
|
||||
return c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "watch")
|
||||
return c.inner.Watch(arg0, arg1)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface
|
||||
client string
|
||||
kind string
|
||||
}
|
||||
|
||||
func (c *withTracing) Create(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Create"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Create"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Delete"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Delete"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "DeleteCollection"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("DeleteCollection"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Get"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Get"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIServiceList, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "List"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("List"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Patch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Patch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Update(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Update"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Update"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) UpdateStatus(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "UpdateStatus"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("UpdateStatus"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Watch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Watch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
59
pkg/clients/aggregator/apiregistrationv1/client.generated.go
Normal file
59
pkg/clients/aggregator/apiregistrationv1/client.generated.go
Normal file
|
@ -0,0 +1,59 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"github.com/go-logr/logr"
|
||||
apiservices "github.com/kyverno/kyverno/pkg/clients/aggregator/apiregistrationv1/apiservices"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"k8s.io/client-go/rest"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1 "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1"
|
||||
)
|
||||
|
||||
func WithMetrics(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface {
|
||||
return &withMetrics{inner, metrics, clientType}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface, client string) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface {
|
||||
return &withTracing{inner, client}
|
||||
}
|
||||
|
||||
func WithLogging(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface, logger logr.Logger) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface
|
||||
metrics metrics.MetricsConfigManager
|
||||
clientType metrics.ClientType
|
||||
}
|
||||
|
||||
func (c *withMetrics) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withMetrics) APIServices() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface {
|
||||
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "APIService", c.clientType)
|
||||
return apiservices.WithMetrics(c.inner.APIServices(), recorder)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface
|
||||
client string
|
||||
}
|
||||
|
||||
func (c *withTracing) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withTracing) APIServices() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface {
|
||||
return apiservices.WithTracing(c.inner.APIServices(), c.client, "APIService")
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withLogging) APIServices() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.APIServiceInterface {
|
||||
return apiservices.WithLogging(c.inner.APIServices(), c.logger.WithValues("resource", "APIServices"))
|
||||
}
|
|
@ -0,0 +1,373 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
context "context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"github.com/kyverno/kyverno/pkg/tracing"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.uber.org/multierr"
|
||||
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
|
||||
k8s_io_apimachinery_pkg_watch "k8s.io/apimachinery/pkg/watch"
|
||||
k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1 "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1beta1"
|
||||
)
|
||||
|
||||
func WithLogging(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface, logger logr.Logger) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
func WithMetrics(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface, recorder metrics.Recorder) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface {
|
||||
return &withMetrics{inner, recorder}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface, client, kind string) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface {
|
||||
return &withTracing{inner, client, kind}
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Create")
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Create failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Create done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Delete")
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "Delete failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Delete done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "DeleteCollection")
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "DeleteCollection failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("DeleteCollection done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Get")
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Get failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Get done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIServiceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "List")
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "List failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("List done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Patch")
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Patch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Patch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Update")
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Update failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Update done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "UpdateStatus")
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "UpdateStatus failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("UpdateStatus done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Watch")
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Watch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Watch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface
|
||||
recorder metrics.Recorder
|
||||
}
|
||||
|
||||
func (c *withMetrics) Create(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "create")
|
||||
return c.inner.Create(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete")
|
||||
return c.inner.Delete(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete_collection")
|
||||
return c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "get")
|
||||
return c.inner.Get(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIServiceList, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "list")
|
||||
return c.inner.List(arg0, arg1)
|
||||
}
|
||||
func (c *withMetrics) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "patch")
|
||||
return c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
}
|
||||
func (c *withMetrics) Update(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update")
|
||||
return c.inner.Update(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) UpdateStatus(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update_status")
|
||||
return c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "watch")
|
||||
return c.inner.Watch(arg0, arg1)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface
|
||||
client string
|
||||
kind string
|
||||
}
|
||||
|
||||
func (c *withTracing) Create(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Create"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Create"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Delete"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Delete"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "DeleteCollection"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("DeleteCollection"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Get"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Get"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIServiceList, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "List"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("List"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Patch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Patch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Update(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Update"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Update"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) UpdateStatus(arg0 context.Context, arg1 *k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_kube_aggregator_pkg_apis_apiregistration_v1beta1.APIService, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "UpdateStatus"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("UpdateStatus"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Watch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Watch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"github.com/go-logr/logr"
|
||||
apiservices "github.com/kyverno/kyverno/pkg/clients/aggregator/apiregistrationv1beta1/apiservices"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"k8s.io/client-go/rest"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1 "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1beta1"
|
||||
)
|
||||
|
||||
func WithMetrics(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface {
|
||||
return &withMetrics{inner, metrics, clientType}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface, client string) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface {
|
||||
return &withTracing{inner, client}
|
||||
}
|
||||
|
||||
func WithLogging(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface, logger logr.Logger) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface
|
||||
metrics metrics.MetricsConfigManager
|
||||
clientType metrics.ClientType
|
||||
}
|
||||
|
||||
func (c *withMetrics) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withMetrics) APIServices() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface {
|
||||
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "APIService", c.clientType)
|
||||
return apiservices.WithMetrics(c.inner.APIServices(), recorder)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface
|
||||
client string
|
||||
}
|
||||
|
||||
func (c *withTracing) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withTracing) APIServices() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface {
|
||||
return apiservices.WithTracing(c.inner.APIServices(), c.client, "APIService")
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withLogging) APIServices() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.APIServiceInterface {
|
||||
return apiservices.WithLogging(c.inner.APIServices(), c.logger.WithValues("resource", "APIServices"))
|
||||
}
|
53
pkg/clients/aggregator/clientset.generated.go
Normal file
53
pkg/clients/aggregator/clientset.generated.go
Normal file
|
@ -0,0 +1,53 @@
|
|||
package clientset
|
||||
|
||||
import (
|
||||
"github.com/go-logr/logr"
|
||||
apiregistrationv1 "github.com/kyverno/kyverno/pkg/clients/aggregator/apiregistrationv1"
|
||||
apiregistrationv1beta1 "github.com/kyverno/kyverno/pkg/clients/aggregator/apiregistrationv1beta1"
|
||||
discovery "github.com/kyverno/kyverno/pkg/clients/aggregator/discovery"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1 "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1 "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/typed/apiregistration/v1beta1"
|
||||
)
|
||||
|
||||
type clientset struct {
|
||||
discovery k8s_io_client_go_discovery.DiscoveryInterface
|
||||
apiregistrationv1 k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface
|
||||
apiregistrationv1beta1 k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface
|
||||
}
|
||||
|
||||
func (c *clientset) Discovery() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return c.discovery
|
||||
}
|
||||
func (c *clientset) ApiregistrationV1() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1.ApiregistrationV1Interface {
|
||||
return c.apiregistrationv1
|
||||
}
|
||||
func (c *clientset) ApiregistrationV1beta1() k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset_typed_apiregistration_v1beta1.ApiregistrationV1beta1Interface {
|
||||
return c.apiregistrationv1beta1
|
||||
}
|
||||
|
||||
func WrapWithMetrics(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface, m metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface {
|
||||
return &clientset{
|
||||
discovery: discovery.WithMetrics(inner.Discovery(), metrics.ClusteredClientQueryRecorder(m, "Discovery", clientType)),
|
||||
apiregistrationv1: apiregistrationv1.WithMetrics(inner.ApiregistrationV1(), m, clientType),
|
||||
apiregistrationv1beta1: apiregistrationv1beta1.WithMetrics(inner.ApiregistrationV1beta1(), m, clientType),
|
||||
}
|
||||
}
|
||||
|
||||
func WrapWithTracing(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface {
|
||||
return &clientset{
|
||||
discovery: discovery.WithTracing(inner.Discovery(), "Discovery", ""),
|
||||
apiregistrationv1: apiregistrationv1.WithTracing(inner.ApiregistrationV1(), "ApiregistrationV1"),
|
||||
apiregistrationv1beta1: apiregistrationv1beta1.WithTracing(inner.ApiregistrationV1beta1(), "ApiregistrationV1beta1"),
|
||||
}
|
||||
}
|
||||
|
||||
func WrapWithLogging(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface, logger logr.Logger) k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface {
|
||||
return &clientset{
|
||||
discovery: discovery.WithLogging(inner.Discovery(), logger.WithValues("group", "Discovery")),
|
||||
apiregistrationv1: apiregistrationv1.WithLogging(inner.ApiregistrationV1(), logger.WithValues("group", "ApiregistrationV1")),
|
||||
apiregistrationv1beta1: apiregistrationv1beta1.WithLogging(inner.ApiregistrationV1beta1(), logger.WithValues("group", "ApiregistrationV1beta1")),
|
||||
}
|
||||
}
|
214
pkg/clients/aggregator/discovery/resource.generated.go
Normal file
214
pkg/clients/aggregator/discovery/resource.generated.go
Normal file
|
@ -0,0 +1,214 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
github_com_google_gnostic_openapiv2 "github.com/google/gnostic/openapiv2"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"go.uber.org/multierr"
|
||||
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
k8s_io_apimachinery_pkg_version "k8s.io/apimachinery/pkg/version"
|
||||
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||
k8s_io_client_go_openapi "k8s.io/client-go/openapi"
|
||||
k8s_io_client_go_rest "k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func WithLogging(inner k8s_io_client_go_discovery.DiscoveryInterface, logger logr.Logger) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
func WithMetrics(inner k8s_io_client_go_discovery.DiscoveryInterface, recorder metrics.Recorder) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return &withMetrics{inner, recorder}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_client_go_discovery.DiscoveryInterface, client, kind string) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return &withTracing{inner, client, kind}
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "OpenAPISchema")
|
||||
ret0, ret1 := c.inner.OpenAPISchema()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "OpenAPISchema failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("OpenAPISchema done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "OpenAPIV3")
|
||||
ret0 := c.inner.OpenAPIV3()
|
||||
logger.Info("OpenAPIV3 done", "duration", time.Since(start))
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) RESTClient() k8s_io_client_go_rest.Interface {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "RESTClient")
|
||||
ret0 := c.inner.RESTClient()
|
||||
logger.Info("RESTClient done", "duration", time.Since(start))
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerGroups")
|
||||
ret0, ret1 := c.inner.ServerGroups()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerGroups failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerGroups done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerGroupsAndResources")
|
||||
ret0, ret1, ret2 := c.inner.ServerGroupsAndResources()
|
||||
if err := multierr.Combine(ret2); err != nil {
|
||||
logger.Error(err, "ServerGroupsAndResources failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerGroupsAndResources done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1, ret2
|
||||
}
|
||||
func (c *withLogging) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerPreferredNamespacedResources")
|
||||
ret0, ret1 := c.inner.ServerPreferredNamespacedResources()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerPreferredNamespacedResources failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerPreferredNamespacedResources done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerPreferredResources")
|
||||
ret0, ret1 := c.inner.ServerPreferredResources()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerPreferredResources failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerPreferredResources done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerResourcesForGroupVersion")
|
||||
ret0, ret1 := c.inner.ServerResourcesForGroupVersion(arg0)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerResourcesForGroupVersion failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerResourcesForGroupVersion done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerVersion")
|
||||
ret0, ret1 := c.inner.ServerVersion()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerVersion failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerVersion done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) WithLegacy() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "WithLegacy")
|
||||
ret0 := c.inner.WithLegacy()
|
||||
logger.Info("WithLegacy done", "duration", time.Since(start))
|
||||
return ret0
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||
recorder metrics.Recorder
|
||||
}
|
||||
|
||||
func (c *withMetrics) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||
defer c.recorder.Record("open_api_schema")
|
||||
return c.inner.OpenAPISchema()
|
||||
}
|
||||
func (c *withMetrics) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||
defer c.recorder.Record("open_apiv3")
|
||||
return c.inner.OpenAPIV3()
|
||||
}
|
||||
func (c *withMetrics) RESTClient() k8s_io_client_go_rest.Interface {
|
||||
defer c.recorder.Record("rest_client")
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withMetrics) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||
defer c.recorder.Record("server_groups")
|
||||
return c.inner.ServerGroups()
|
||||
}
|
||||
func (c *withMetrics) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_groups_and_resources")
|
||||
return c.inner.ServerGroupsAndResources()
|
||||
}
|
||||
func (c *withMetrics) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_preferred_namespaced_resources")
|
||||
return c.inner.ServerPreferredNamespacedResources()
|
||||
}
|
||||
func (c *withMetrics) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_preferred_resources")
|
||||
return c.inner.ServerPreferredResources()
|
||||
}
|
||||
func (c *withMetrics) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_resources_for_group_version")
|
||||
return c.inner.ServerResourcesForGroupVersion(arg0)
|
||||
}
|
||||
func (c *withMetrics) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||
defer c.recorder.Record("server_version")
|
||||
return c.inner.ServerVersion()
|
||||
}
|
||||
func (c *withMetrics) WithLegacy() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
defer c.recorder.Record("with_legacy")
|
||||
return c.inner.WithLegacy()
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||
client string
|
||||
kind string
|
||||
}
|
||||
|
||||
func (c *withTracing) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||
return c.inner.OpenAPISchema()
|
||||
}
|
||||
func (c *withTracing) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||
return c.inner.OpenAPIV3()
|
||||
}
|
||||
func (c *withTracing) RESTClient() k8s_io_client_go_rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withTracing) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||
return c.inner.ServerGroups()
|
||||
}
|
||||
func (c *withTracing) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerGroupsAndResources()
|
||||
}
|
||||
func (c *withTracing) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerPreferredNamespacedResources()
|
||||
}
|
||||
func (c *withTracing) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerPreferredResources()
|
||||
}
|
||||
func (c *withTracing) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerResourcesForGroupVersion(arg0)
|
||||
}
|
||||
func (c *withTracing) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||
return c.inner.ServerVersion()
|
||||
}
|
||||
func (c *withTracing) WithLegacy() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return c.inner.WithLegacy()
|
||||
}
|
85
pkg/clients/aggregator/interface.generated.go
Normal file
85
pkg/clients/aggregator/interface.generated.go
Normal file
|
@ -0,0 +1,85 @@
|
|||
package clientset
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"k8s.io/client-go/rest"
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface
|
||||
WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface
|
||||
WithTracing() Interface
|
||||
WithLogging(logr.Logger) Interface
|
||||
}
|
||||
|
||||
func From(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface, opts ...NewOption) Interface {
|
||||
i := from(inner)
|
||||
for _, opt := range opts {
|
||||
i = opt(i)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
type NewOption func(Interface) Interface
|
||||
|
||||
func WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption {
|
||||
return func(i Interface) Interface {
|
||||
return i.WithMetrics(m, t)
|
||||
}
|
||||
}
|
||||
|
||||
func WithTracing() NewOption {
|
||||
return func(i Interface) Interface {
|
||||
return i.WithTracing()
|
||||
}
|
||||
}
|
||||
|
||||
func WithLogging(logger logr.Logger) NewOption {
|
||||
return func(i Interface) Interface {
|
||||
return i.WithLogging(logger)
|
||||
}
|
||||
}
|
||||
|
||||
func NewForConfig(c *rest.Config, opts ...NewOption) (Interface, error) {
|
||||
inner, err := k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.NewForConfig(c)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return From(inner, opts...), nil
|
||||
}
|
||||
|
||||
func NewForConfigAndClient(c *rest.Config, httpClient *http.Client, opts ...NewOption) (Interface, error) {
|
||||
inner, err := k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.NewForConfigAndClient(c, httpClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return From(inner, opts...), nil
|
||||
}
|
||||
|
||||
func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface {
|
||||
return From(k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.NewForConfigOrDie(c), opts...)
|
||||
}
|
||||
|
||||
type wrapper struct {
|
||||
k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface
|
||||
}
|
||||
|
||||
func from(inner k8s_io_kube_aggregator_pkg_client_clientset_generated_clientset.Interface, opts ...NewOption) Interface {
|
||||
return &wrapper{inner}
|
||||
}
|
||||
|
||||
func (i *wrapper) WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface {
|
||||
return from(WrapWithMetrics(i, m, t))
|
||||
}
|
||||
|
||||
func (i *wrapper) WithTracing() Interface {
|
||||
return from(WrapWithTracing(i))
|
||||
}
|
||||
|
||||
func (i *wrapper) WithLogging(logger logr.Logger) Interface {
|
||||
return from(WrapWithLogging(i, logger))
|
||||
}
|
59
pkg/clients/apiserver/apiextensionsv1/client.generated.go
Normal file
59
pkg/clients/apiserver/apiextensionsv1/client.generated.go
Normal file
|
@ -0,0 +1,59 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"github.com/go-logr/logr"
|
||||
customresourcedefinitions "github.com/kyverno/kyverno/pkg/clients/apiserver/apiextensionsv1/customresourcedefinitions"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1"
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func WithMetrics(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface {
|
||||
return &withMetrics{inner, metrics, clientType}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface, client string) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface {
|
||||
return &withTracing{inner, client}
|
||||
}
|
||||
|
||||
func WithLogging(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface, logger logr.Logger) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface
|
||||
metrics metrics.MetricsConfigManager
|
||||
clientType metrics.ClientType
|
||||
}
|
||||
|
||||
func (c *withMetrics) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withMetrics) CustomResourceDefinitions() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface {
|
||||
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "CustomResourceDefinition", c.clientType)
|
||||
return customresourcedefinitions.WithMetrics(c.inner.CustomResourceDefinitions(), recorder)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface
|
||||
client string
|
||||
}
|
||||
|
||||
func (c *withTracing) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withTracing) CustomResourceDefinitions() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface {
|
||||
return customresourcedefinitions.WithTracing(c.inner.CustomResourceDefinitions(), c.client, "CustomResourceDefinition")
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withLogging) CustomResourceDefinitions() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface {
|
||||
return customresourcedefinitions.WithLogging(c.inner.CustomResourceDefinitions(), c.logger.WithValues("resource", "CustomResourceDefinitions"))
|
||||
}
|
|
@ -0,0 +1,373 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
context "context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"github.com/kyverno/kyverno/pkg/tracing"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.uber.org/multierr"
|
||||
k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1"
|
||||
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
|
||||
k8s_io_apimachinery_pkg_watch "k8s.io/apimachinery/pkg/watch"
|
||||
)
|
||||
|
||||
func WithLogging(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface, logger logr.Logger) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
func WithMetrics(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface, recorder metrics.Recorder) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface {
|
||||
return &withMetrics{inner, recorder}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface, client, kind string) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface {
|
||||
return &withTracing{inner, client, kind}
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Create")
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Create failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Create done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Delete")
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "Delete failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Delete done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "DeleteCollection")
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "DeleteCollection failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("DeleteCollection done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Get")
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Get failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Get done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinitionList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "List")
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "List failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("List done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Patch")
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Patch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Patch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Update")
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Update failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Update done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "UpdateStatus")
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "UpdateStatus failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("UpdateStatus done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Watch")
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Watch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Watch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface
|
||||
recorder metrics.Recorder
|
||||
}
|
||||
|
||||
func (c *withMetrics) Create(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "create")
|
||||
return c.inner.Create(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete")
|
||||
return c.inner.Delete(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete_collection")
|
||||
return c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "get")
|
||||
return c.inner.Get(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinitionList, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "list")
|
||||
return c.inner.List(arg0, arg1)
|
||||
}
|
||||
func (c *withMetrics) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "patch")
|
||||
return c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
}
|
||||
func (c *withMetrics) Update(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update")
|
||||
return c.inner.Update(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) UpdateStatus(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update_status")
|
||||
return c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "watch")
|
||||
return c.inner.Watch(arg0, arg1)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.CustomResourceDefinitionInterface
|
||||
client string
|
||||
kind string
|
||||
}
|
||||
|
||||
func (c *withTracing) Create(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Create"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Create"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Delete"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Delete"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "DeleteCollection"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("DeleteCollection"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Get"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Get"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinitionList, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "List"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("List"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Patch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Patch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Update(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Update"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Update"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) UpdateStatus(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "UpdateStatus"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("UpdateStatus"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Watch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Watch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
package client
|
||||
|
||||
import (
|
||||
"github.com/go-logr/logr"
|
||||
customresourcedefinitions "github.com/kyverno/kyverno/pkg/clients/apiserver/apiextensionsv1beta1/customresourcedefinitions"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func WithMetrics(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface {
|
||||
return &withMetrics{inner, metrics, clientType}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface, client string) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface {
|
||||
return &withTracing{inner, client}
|
||||
}
|
||||
|
||||
func WithLogging(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface, logger logr.Logger) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface
|
||||
metrics metrics.MetricsConfigManager
|
||||
clientType metrics.ClientType
|
||||
}
|
||||
|
||||
func (c *withMetrics) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withMetrics) CustomResourceDefinitions() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface {
|
||||
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "CustomResourceDefinition", c.clientType)
|
||||
return customresourcedefinitions.WithMetrics(c.inner.CustomResourceDefinitions(), recorder)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface
|
||||
client string
|
||||
}
|
||||
|
||||
func (c *withTracing) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withTracing) CustomResourceDefinitions() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface {
|
||||
return customresourcedefinitions.WithTracing(c.inner.CustomResourceDefinitions(), c.client, "CustomResourceDefinition")
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) RESTClient() rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withLogging) CustomResourceDefinitions() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface {
|
||||
return customresourcedefinitions.WithLogging(c.inner.CustomResourceDefinitions(), c.logger.WithValues("resource", "CustomResourceDefinitions"))
|
||||
}
|
|
@ -0,0 +1,373 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
context "context"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"github.com/kyverno/kyverno/pkg/tracing"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.uber.org/multierr"
|
||||
k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
|
||||
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types"
|
||||
k8s_io_apimachinery_pkg_watch "k8s.io/apimachinery/pkg/watch"
|
||||
)
|
||||
|
||||
func WithLogging(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface, logger logr.Logger) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
func WithMetrics(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface, recorder metrics.Recorder) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface {
|
||||
return &withMetrics{inner, recorder}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface, client, kind string) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface {
|
||||
return &withTracing{inner, client, kind}
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Create")
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Create failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Create done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Delete")
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "Delete failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Delete done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "DeleteCollection")
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret0); err != nil {
|
||||
logger.Error(err, "DeleteCollection failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("DeleteCollection done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Get")
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Get failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Get done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinitionList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "List")
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "List failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("List done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Patch")
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Patch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Patch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Update")
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Update failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Update done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "UpdateStatus")
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "UpdateStatus failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("UpdateStatus done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "Watch")
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "Watch failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("Watch done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface
|
||||
recorder metrics.Recorder
|
||||
}
|
||||
|
||||
func (c *withMetrics) Create(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "create")
|
||||
return c.inner.Create(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete")
|
||||
return c.inner.Delete(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
defer c.recorder.RecordWithContext(arg0, "delete_collection")
|
||||
return c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "get")
|
||||
return c.inner.Get(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinitionList, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "list")
|
||||
return c.inner.List(arg0, arg1)
|
||||
}
|
||||
func (c *withMetrics) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "patch")
|
||||
return c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
}
|
||||
func (c *withMetrics) Update(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update")
|
||||
return c.inner.Update(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) UpdateStatus(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "update_status")
|
||||
return c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
}
|
||||
func (c *withMetrics) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
defer c.recorder.RecordWithContext(arg0, "watch")
|
||||
return c.inner.Watch(arg0, arg1)
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.CustomResourceDefinitionInterface
|
||||
client string
|
||||
kind string
|
||||
}
|
||||
|
||||
func (c *withTracing) Create(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Create"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Create"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Create(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Delete"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Delete"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.Delete(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) DeleteCollection(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) error {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "DeleteCollection"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("DeleteCollection"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0 := c.inner.DeleteCollection(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret0)
|
||||
}
|
||||
return ret0
|
||||
}
|
||||
func (c *withTracing) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Get"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Get"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Get(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinitionList, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "List"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("List"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.List(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_types.PatchType, arg3 []uint8, arg4 k8s_io_apimachinery_pkg_apis_meta_v1.PatchOptions, arg5 ...string) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Patch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Patch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Patch(arg0, arg1, arg2, arg3, arg4, arg5...)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Update(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Update"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Update"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Update(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) UpdateStatus(arg0 context.Context, arg1 *k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1.CustomResourceDefinition, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "UpdateStatus"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("UpdateStatus"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.UpdateStatus(arg0, arg1, arg2)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||
var span trace.Span
|
||||
if tracing.IsInSpan(arg0) {
|
||||
arg0, span = tracing.StartChildSpan(
|
||||
arg0,
|
||||
"",
|
||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Watch"),
|
||||
trace.WithAttributes(
|
||||
tracing.KubeClientGroupKey.String(c.client),
|
||||
tracing.KubeClientKindKey.String(c.kind),
|
||||
tracing.KubeClientOperationKey.String("Watch"),
|
||||
),
|
||||
)
|
||||
defer span.End()
|
||||
}
|
||||
ret0, ret1 := c.inner.Watch(arg0, arg1)
|
||||
if span != nil {
|
||||
tracing.SetSpanStatus(span, ret1)
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
53
pkg/clients/apiserver/clientset.generated.go
Normal file
53
pkg/clients/apiserver/clientset.generated.go
Normal file
|
@ -0,0 +1,53 @@
|
|||
package clientset
|
||||
|
||||
import (
|
||||
"github.com/go-logr/logr"
|
||||
apiextensionsv1 "github.com/kyverno/kyverno/pkg/clients/apiserver/apiextensionsv1"
|
||||
apiextensionsv1beta1 "github.com/kyverno/kyverno/pkg/clients/apiserver/apiextensionsv1beta1"
|
||||
discovery "github.com/kyverno/kyverno/pkg/clients/apiserver/discovery"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1 "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
|
||||
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||
)
|
||||
|
||||
type clientset struct {
|
||||
discovery k8s_io_client_go_discovery.DiscoveryInterface
|
||||
apiextensionsv1 k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface
|
||||
apiextensionsv1beta1 k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface
|
||||
}
|
||||
|
||||
func (c *clientset) Discovery() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return c.discovery
|
||||
}
|
||||
func (c *clientset) ApiextensionsV1() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1.ApiextensionsV1Interface {
|
||||
return c.apiextensionsv1
|
||||
}
|
||||
func (c *clientset) ApiextensionsV1beta1() k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset_typed_apiextensions_v1beta1.ApiextensionsV1beta1Interface {
|
||||
return c.apiextensionsv1beta1
|
||||
}
|
||||
|
||||
func WrapWithMetrics(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface, m metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface {
|
||||
return &clientset{
|
||||
discovery: discovery.WithMetrics(inner.Discovery(), metrics.ClusteredClientQueryRecorder(m, "Discovery", clientType)),
|
||||
apiextensionsv1: apiextensionsv1.WithMetrics(inner.ApiextensionsV1(), m, clientType),
|
||||
apiextensionsv1beta1: apiextensionsv1beta1.WithMetrics(inner.ApiextensionsV1beta1(), m, clientType),
|
||||
}
|
||||
}
|
||||
|
||||
func WrapWithTracing(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface {
|
||||
return &clientset{
|
||||
discovery: discovery.WithTracing(inner.Discovery(), "Discovery", ""),
|
||||
apiextensionsv1: apiextensionsv1.WithTracing(inner.ApiextensionsV1(), "ApiextensionsV1"),
|
||||
apiextensionsv1beta1: apiextensionsv1beta1.WithTracing(inner.ApiextensionsV1beta1(), "ApiextensionsV1beta1"),
|
||||
}
|
||||
}
|
||||
|
||||
func WrapWithLogging(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface, logger logr.Logger) k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface {
|
||||
return &clientset{
|
||||
discovery: discovery.WithLogging(inner.Discovery(), logger.WithValues("group", "Discovery")),
|
||||
apiextensionsv1: apiextensionsv1.WithLogging(inner.ApiextensionsV1(), logger.WithValues("group", "ApiextensionsV1")),
|
||||
apiextensionsv1beta1: apiextensionsv1beta1.WithLogging(inner.ApiextensionsV1beta1(), logger.WithValues("group", "ApiextensionsV1beta1")),
|
||||
}
|
||||
}
|
214
pkg/clients/apiserver/discovery/resource.generated.go
Normal file
214
pkg/clients/apiserver/discovery/resource.generated.go
Normal file
|
@ -0,0 +1,214 @@
|
|||
package resource
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
github_com_google_gnostic_openapiv2 "github.com/google/gnostic/openapiv2"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
"go.uber.org/multierr"
|
||||
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
k8s_io_apimachinery_pkg_version "k8s.io/apimachinery/pkg/version"
|
||||
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||
k8s_io_client_go_openapi "k8s.io/client-go/openapi"
|
||||
k8s_io_client_go_rest "k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
func WithLogging(inner k8s_io_client_go_discovery.DiscoveryInterface, logger logr.Logger) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return &withLogging{inner, logger}
|
||||
}
|
||||
|
||||
func WithMetrics(inner k8s_io_client_go_discovery.DiscoveryInterface, recorder metrics.Recorder) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return &withMetrics{inner, recorder}
|
||||
}
|
||||
|
||||
func WithTracing(inner k8s_io_client_go_discovery.DiscoveryInterface, client, kind string) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return &withTracing{inner, client, kind}
|
||||
}
|
||||
|
||||
type withLogging struct {
|
||||
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||
logger logr.Logger
|
||||
}
|
||||
|
||||
func (c *withLogging) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "OpenAPISchema")
|
||||
ret0, ret1 := c.inner.OpenAPISchema()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "OpenAPISchema failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("OpenAPISchema done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "OpenAPIV3")
|
||||
ret0 := c.inner.OpenAPIV3()
|
||||
logger.Info("OpenAPIV3 done", "duration", time.Since(start))
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) RESTClient() k8s_io_client_go_rest.Interface {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "RESTClient")
|
||||
ret0 := c.inner.RESTClient()
|
||||
logger.Info("RESTClient done", "duration", time.Since(start))
|
||||
return ret0
|
||||
}
|
||||
func (c *withLogging) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerGroups")
|
||||
ret0, ret1 := c.inner.ServerGroups()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerGroups failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerGroups done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerGroupsAndResources")
|
||||
ret0, ret1, ret2 := c.inner.ServerGroupsAndResources()
|
||||
if err := multierr.Combine(ret2); err != nil {
|
||||
logger.Error(err, "ServerGroupsAndResources failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerGroupsAndResources done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1, ret2
|
||||
}
|
||||
func (c *withLogging) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerPreferredNamespacedResources")
|
||||
ret0, ret1 := c.inner.ServerPreferredNamespacedResources()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerPreferredNamespacedResources failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerPreferredNamespacedResources done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerPreferredResources")
|
||||
ret0, ret1 := c.inner.ServerPreferredResources()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerPreferredResources failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerPreferredResources done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerResourcesForGroupVersion")
|
||||
ret0, ret1 := c.inner.ServerResourcesForGroupVersion(arg0)
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerResourcesForGroupVersion failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerResourcesForGroupVersion done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "ServerVersion")
|
||||
ret0, ret1 := c.inner.ServerVersion()
|
||||
if err := multierr.Combine(ret1); err != nil {
|
||||
logger.Error(err, "ServerVersion failed", "duration", time.Since(start))
|
||||
} else {
|
||||
logger.Info("ServerVersion done", "duration", time.Since(start))
|
||||
}
|
||||
return ret0, ret1
|
||||
}
|
||||
func (c *withLogging) WithLegacy() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
start := time.Now()
|
||||
logger := c.logger.WithValues("operation", "WithLegacy")
|
||||
ret0 := c.inner.WithLegacy()
|
||||
logger.Info("WithLegacy done", "duration", time.Since(start))
|
||||
return ret0
|
||||
}
|
||||
|
||||
type withMetrics struct {
|
||||
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||
recorder metrics.Recorder
|
||||
}
|
||||
|
||||
func (c *withMetrics) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||
defer c.recorder.Record("open_api_schema")
|
||||
return c.inner.OpenAPISchema()
|
||||
}
|
||||
func (c *withMetrics) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||
defer c.recorder.Record("open_apiv3")
|
||||
return c.inner.OpenAPIV3()
|
||||
}
|
||||
func (c *withMetrics) RESTClient() k8s_io_client_go_rest.Interface {
|
||||
defer c.recorder.Record("rest_client")
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withMetrics) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||
defer c.recorder.Record("server_groups")
|
||||
return c.inner.ServerGroups()
|
||||
}
|
||||
func (c *withMetrics) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_groups_and_resources")
|
||||
return c.inner.ServerGroupsAndResources()
|
||||
}
|
||||
func (c *withMetrics) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_preferred_namespaced_resources")
|
||||
return c.inner.ServerPreferredNamespacedResources()
|
||||
}
|
||||
func (c *withMetrics) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_preferred_resources")
|
||||
return c.inner.ServerPreferredResources()
|
||||
}
|
||||
func (c *withMetrics) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
defer c.recorder.Record("server_resources_for_group_version")
|
||||
return c.inner.ServerResourcesForGroupVersion(arg0)
|
||||
}
|
||||
func (c *withMetrics) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||
defer c.recorder.Record("server_version")
|
||||
return c.inner.ServerVersion()
|
||||
}
|
||||
func (c *withMetrics) WithLegacy() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
defer c.recorder.Record("with_legacy")
|
||||
return c.inner.WithLegacy()
|
||||
}
|
||||
|
||||
type withTracing struct {
|
||||
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||
client string
|
||||
kind string
|
||||
}
|
||||
|
||||
func (c *withTracing) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||
return c.inner.OpenAPISchema()
|
||||
}
|
||||
func (c *withTracing) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||
return c.inner.OpenAPIV3()
|
||||
}
|
||||
func (c *withTracing) RESTClient() k8s_io_client_go_rest.Interface {
|
||||
return c.inner.RESTClient()
|
||||
}
|
||||
func (c *withTracing) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||
return c.inner.ServerGroups()
|
||||
}
|
||||
func (c *withTracing) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerGroupsAndResources()
|
||||
}
|
||||
func (c *withTracing) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerPreferredNamespacedResources()
|
||||
}
|
||||
func (c *withTracing) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerPreferredResources()
|
||||
}
|
||||
func (c *withTracing) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||
return c.inner.ServerResourcesForGroupVersion(arg0)
|
||||
}
|
||||
func (c *withTracing) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||
return c.inner.ServerVersion()
|
||||
}
|
||||
func (c *withTracing) WithLegacy() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||
return c.inner.WithLegacy()
|
||||
}
|
85
pkg/clients/apiserver/interface.generated.go
Normal file
85
pkg/clients/apiserver/interface.generated.go
Normal file
|
@ -0,0 +1,85 @@
|
|||
package clientset
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
"github.com/kyverno/kyverno/pkg/metrics"
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
"k8s.io/client-go/rest"
|
||||
)
|
||||
|
||||
type Interface interface {
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface
|
||||
WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface
|
||||
WithTracing() Interface
|
||||
WithLogging(logr.Logger) Interface
|
||||
}
|
||||
|
||||
func From(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface, opts ...NewOption) Interface {
|
||||
i := from(inner)
|
||||
for _, opt := range opts {
|
||||
i = opt(i)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
type NewOption func(Interface) Interface
|
||||
|
||||
func WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption {
|
||||
return func(i Interface) Interface {
|
||||
return i.WithMetrics(m, t)
|
||||
}
|
||||
}
|
||||
|
||||
func WithTracing() NewOption {
|
||||
return func(i Interface) Interface {
|
||||
return i.WithTracing()
|
||||
}
|
||||
}
|
||||
|
||||
func WithLogging(logger logr.Logger) NewOption {
|
||||
return func(i Interface) Interface {
|
||||
return i.WithLogging(logger)
|
||||
}
|
||||
}
|
||||
|
||||
func NewForConfig(c *rest.Config, opts ...NewOption) (Interface, error) {
|
||||
inner, err := k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.NewForConfig(c)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return From(inner, opts...), nil
|
||||
}
|
||||
|
||||
func NewForConfigAndClient(c *rest.Config, httpClient *http.Client, opts ...NewOption) (Interface, error) {
|
||||
inner, err := k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.NewForConfigAndClient(c, httpClient)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return From(inner, opts...), nil
|
||||
}
|
||||
|
||||
func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface {
|
||||
return From(k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.NewForConfigOrDie(c), opts...)
|
||||
}
|
||||
|
||||
type wrapper struct {
|
||||
k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface
|
||||
}
|
||||
|
||||
func from(inner k8s_io_apiextensions_apiserver_pkg_client_clientset_clientset.Interface, opts ...NewOption) Interface {
|
||||
return &wrapper{inner}
|
||||
}
|
||||
|
||||
func (i *wrapper) WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface {
|
||||
return from(WrapWithMetrics(i, m, t))
|
||||
}
|
||||
|
||||
func (i *wrapper) WithTracing() Interface {
|
||||
return from(WrapWithTracing(i))
|
||||
}
|
||||
|
||||
func (i *wrapper) WithLogging(logger logr.Logger) Interface {
|
||||
return from(WrapWithLogging(i, logger))
|
||||
}
|
Loading…
Add table
Reference in a new issue