diff --git a/hack/main.go b/hack/main.go index 166f1ff158..93475edadf 100644 --- a/hack/main.go +++ b/hack/main.go @@ -22,15 +22,22 @@ package resource import ( "fmt" + "time" + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" {{- range $package := Packages .Target.Type }} {{ Pkg $package }} {{ Quote $package }} {{- end }} ) +func WithLogging(inner {{ GoType .Target.Type }}, logger logr.Logger) {{ GoType .Target.Type }} { + return &withLogging{inner, logger} +} + func WithMetrics(inner {{ GoType .Target.Type }}, recorder metrics.Recorder) {{ GoType .Target.Type }} { return &withMetrics{inner, recorder} } @@ -39,6 +46,57 @@ func WithTracing(inner {{ GoType .Target.Type }}, client, kind string) {{ GoType return &withTracing{inner, client, kind} } +type withLogging struct { + inner {{ GoType .Target.Type }} + logger logr.Logger +} + +{{- range $operation := .Target.Operations }} +func (c *withLogging) {{ $operation.Method.Name }}( + {{- range $i, $arg := Args $operation.Method -}} + {{- if $arg.IsVariadic -}} + arg{{ $i }} ...{{ GoType $arg.Type.Elem }}, + {{- else -}} + arg{{ $i }} {{ GoType $arg.Type }}, + {{- end -}} + {{- end -}} +) ( + {{- range $return := Returns $operation.Method -}} + {{ GoType $return }}, + {{- end -}} +) { + start := time.Now() + logger := c.logger.WithValues("operation", {{ Quote $operation.Method.Name }}) + {{ range $i, $ret := Returns $operation.Method }}ret{{ $i }}{{ if not $ret.IsLast -}},{{- end }} {{ end }} := c.inner.{{ $operation.Method.Name }}( + {{- range $i, $arg := Args $operation.Method -}} + {{- if $arg.IsVariadic -}} + arg{{ $i }}..., + {{- else -}} + arg{{ $i }}, + {{- end -}} + {{- end -}} + ) + {{- if $operation.HasError }} + if err := multierr.Combine( + {{- range $i, $ret := Returns $operation.Method -}} + {{- if $ret.IsError -}} + ret{{ $i }}, + {{- end -}} + {{- end -}} + ); err != nil { + logger.Error(err, "{{ $operation.Method.Name }} failed", "duration", time.Since(start)) + } else { + logger.Info("{{ $operation.Method.Name }} done", "duration", time.Since(start)) + } + {{- else }} + logger.Info("{{ $operation.Method.Name }} done", "duration", time.Since(start)) + {{- end }} + return {{ range $i, $ret := Returns $operation.Method -}} + ret{{ $i }}{{ if not $ret.IsLast -}},{{- end }} + {{- end }} +} +{{- end }} + type withMetrics struct { inner {{ GoType .Target.Type }} recorder metrics.Recorder @@ -137,8 +195,9 @@ func (c *withTracing) {{ $operation.Method.Name }}( package client import ( - "k8s.io/client-go/rest" + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" + "k8s.io/client-go/rest" {{- range $package := Packages .Target.Type }} {{ Pkg $package }} {{ Quote $package }} {{- end }} @@ -155,6 +214,10 @@ func WithTracing(inner {{ GoType .Target.Type }}, client string) {{ GoType .Targ return &withTracing{inner, client} } +func WithLogging(inner {{ GoType .Target.Type }}, logger logr.Logger) {{ GoType .Target.Type }} { + return &withLogging{inner, logger} +} + type withMetrics struct { inner {{ GoType .Target }} metrics metrics.MetricsConfigManager @@ -190,11 +253,28 @@ func (c *withTracing) {{ $method.Name }}({{- if $method.IsNamespaced -}}namespac ) } {{- end }} + +type withLogging struct { + inner {{ GoType .Target }} + logger logr.Logger +} +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +{{- range $method, $resource := .Target.Resources }} +func (c *withLogging) {{ $method.Name }}({{- if $method.IsNamespaced -}}namespace string{{- end -}}) {{ GoType $resource.Type }} { + return {{ ToLower $method.Name }}.WithLogging(c.inner.{{ $method.Name }}( + {{- if $method.IsNamespaced -}}namespace{{- end -}}), c.logger.WithValues("resource", {{ Quote $method.Name }}) + {{- if $method.IsNamespaced -}}.WithValues("namespace", namespace){{- end -}} + ) +} +{{- end }} ` clientsetTpl = ` package clientset import ( + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" {{- range $package := Packages .Target.Type }} {{ Pkg $package }} {{ Quote $package }} @@ -249,11 +329,23 @@ func WrapWithTracing(inner {{ GoType .Target }}) {{ GoType .Target }} { {{- end }} } } + +func WrapWithLogging(inner {{ GoType .Target }}, logger logr.Logger) {{ GoType .Target }} { + return &clientset{ + {{- range $resourceMethod, $resource := .Target.Resources }} + {{ ToLower $resourceMethod.Name }}: {{ ToLower $resourceMethod.Name }}.WithLogging(inner.{{ $resourceMethod.Name }}(), logger.WithValues("group", {{ Quote $resourceMethod.Name }})), + {{- end }} + {{- range $clientMethod, $client := .Target.Clients }} + {{ ToLower $clientMethod.Name }}: {{ ToLower $clientMethod.Name }}.WithLogging(inner.{{ $clientMethod.Name }}(), logger.WithValues("group", {{ Quote $clientMethod.Name }})), + {{- end }} + } +} ` interfaceTpl = ` package clientset import ( + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" {{- range $package := Packages .Target.Type }} {{ Pkg $package }} {{ Quote $package }} @@ -265,16 +357,39 @@ import ( type Interface interface { {{ GoType .Target.Type }} - WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface + WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface WithTracing() Interface + WithLogging(logr.Logger) Interface } -type wrapper struct { - {{ GoType .Target.Type }} +func From(inner {{ GoType .Target }}, 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 := {{ Pkg .Target.Type.PkgPath }}.NewForConfig(c) if err != nil { @@ -295,36 +410,24 @@ func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface { return From({{ Pkg .Target.Type.PkgPath }}.NewForConfigOrDie(c), opts...) } -func from(inner {{ GoType .Target }}, opts ...NewOption) Interface { - return &wrapper{inner} +type wrapper struct { + {{ GoType .Target.Type }} } -func From(inner {{ GoType .Target }}, opts ...NewOption) Interface { - i := from(inner) - for _, opt := range opts { - i = opt(i) - } - return i +func from(inner {{ GoType .Target }}, opts ...NewOption) Interface { + return &wrapper{inner} } func (i *wrapper) WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface { return from(WrapWithMetrics(i, m, t)) } -func WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption { - return func(i Interface) Interface { - return i.WithMetrics(m, t) - } -} - func (i *wrapper) WithTracing() Interface { return from(WrapWithTracing(i)) } -func WithTracing() NewOption { - return func(i Interface) Interface { - return i.WithTracing() - } +func (i *wrapper) WithLogging(logger logr.Logger) Interface { + return from(WrapWithLogging(i, logger)) } ` ) diff --git a/pkg/clients/dynamic/client.go b/pkg/clients/dynamic/client.go index 323c4fbc56..acc829ccac 100644 --- a/pkg/clients/dynamic/client.go +++ b/pkg/clients/dynamic/client.go @@ -1,6 +1,7 @@ package clientset import ( + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/clients/dynamic/resource" "github.com/kyverno/kyverno/pkg/metrics" "k8s.io/apimachinery/pkg/runtime/schema" @@ -19,6 +20,10 @@ func WrapWithTracing(inner dynamic.Interface) dynamic.Interface { return &withTracing{inner} } +func WrapWithLogging(inner dynamic.Interface, logger logr.Logger) dynamic.Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner dynamic.Interface metrics metrics.MetricsConfigManager @@ -26,10 +31,10 @@ type withMetrics struct { } type withMetricsNamespaceable struct { + inner namespaceableInterface metrics metrics.MetricsConfigManager resource string clientType metrics.ClientType - inner namespaceableInterface } func (c *withMetricsNamespaceable) Namespace(namespace string) dynamic.ResourceInterface { @@ -45,7 +50,7 @@ func (c *withMetrics) Resource(gvr schema.GroupVersionResource) dynamic.Namespac namespaceableInterface }{ resource.WithMetrics(inner, recorder), - &withMetricsNamespaceable{c.metrics, gvr.Resource, c.clientType, inner}, + &withMetricsNamespaceable{inner, c.metrics, gvr.Resource, c.clientType}, } } @@ -54,9 +59,9 @@ type withTracing struct { } type withTracingNamespaceable struct { + inner namespaceableInterface client string kind string - inner namespaceableInterface } func (c *withTracingNamespaceable) Namespace(namespace string) dynamic.ResourceInterface { @@ -72,6 +77,32 @@ func (c *withTracing) Resource(gvr schema.GroupVersionResource) dynamic.Namespac namespaceableInterface }{ resource.WithTracing(inner, client, kind), - &withTracingNamespaceable{client, kind, inner}, + &withTracingNamespaceable{inner, client, kind}, + } +} + +type withLogging struct { + inner dynamic.Interface + logger logr.Logger +} + +type withLoggingNamespaceable struct { + inner namespaceableInterface + logger logr.Logger +} + +func (c *withLoggingNamespaceable) Namespace(namespace string) dynamic.ResourceInterface { + return resource.WithLogging(c.inner.Namespace(namespace), c.logger) +} + +func (c *withLogging) Resource(gvr schema.GroupVersionResource) dynamic.NamespaceableResourceInterface { + logger := c.logger.WithValues("group", gvr.Group, "version", gvr.Version, "resource", gvr.Resource) + inner := c.inner.Resource(gvr) + return struct { + dynamic.ResourceInterface + namespaceableInterface + }{ + resource.WithLogging(inner, logger), + &withLoggingNamespaceable{inner, logger}, } } diff --git a/pkg/clients/dynamic/interface.generated.go b/pkg/clients/dynamic/interface.generated.go index b026e032d2..b1aaa37437 100644 --- a/pkg/clients/dynamic/interface.generated.go +++ b/pkg/clients/dynamic/interface.generated.go @@ -3,6 +3,7 @@ package clientset import ( "net/http" + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_dynamic "k8s.io/client-go/dynamic" "k8s.io/client-go/rest" @@ -10,16 +11,39 @@ import ( type Interface interface { k8s_io_client_go_dynamic.Interface - WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface + WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface WithTracing() Interface + WithLogging(logr.Logger) Interface } -type wrapper struct { - k8s_io_client_go_dynamic.Interface +func From(inner k8s_io_client_go_dynamic.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_client_go_dynamic.NewForConfig(c) if err != nil { @@ -40,34 +64,22 @@ func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface { return From(k8s_io_client_go_dynamic.NewForConfigOrDie(c), opts...) } -func from(inner k8s_io_client_go_dynamic.Interface, opts ...NewOption) Interface { - return &wrapper{inner} +type wrapper struct { + k8s_io_client_go_dynamic.Interface } -func From(inner k8s_io_client_go_dynamic.Interface, opts ...NewOption) Interface { - i := from(inner) - for _, opt := range opts { - i = opt(i) - } - return i +func from(inner k8s_io_client_go_dynamic.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 WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption { - return func(i Interface) Interface { - return i.WithMetrics(m, t) - } -} - func (i *wrapper) WithTracing() Interface { return from(WrapWithTracing(i)) } -func WithTracing() NewOption { - return func(i Interface) Interface { - return i.WithTracing() - } +func (i *wrapper) WithLogging(logger logr.Logger) Interface { + return from(WrapWithLogging(i, logger)) } diff --git a/pkg/clients/dynamic/resource/resource.generated.go b/pkg/clients/dynamic/resource/resource.generated.go index 5429a9ea99..3eb09dab68 100644 --- a/pkg/clients/dynamic/resource/resource.generated.go +++ b/pkg/clients/dynamic/resource/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_apis_meta_v1_unstructured "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -15,6 +18,10 @@ import ( k8s_io_client_go_dynamic "k8s.io/client-go/dynamic" ) +func WithLogging(inner k8s_io_client_go_dynamic.ResourceInterface, logger logr.Logger) k8s_io_client_go_dynamic.ResourceInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_dynamic.ResourceInterface, recorder metrics.Recorder) k8s_io_client_go_dynamic.ResourceInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,133 @@ func WithTracing(inner k8s_io_client_go_dynamic.ResourceInterface, client, kind return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_dynamic.ResourceInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 string, arg2 *k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions, arg4 ...string) (*k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2, arg3, arg4...) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 string, arg2 *k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions, arg3 ...string) (*k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Create") + ret0, ret1 := c.inner.Create(arg0, arg1, arg2, arg3...) + 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, arg3 ...string) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Delete") + ret0 := c.inner.Delete(arg0, arg1, arg2, arg3...) + 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, arg3 ...string) (*k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Get") + ret0, ret1 := c.inner.Get(arg0, arg1, arg2, arg3...) + 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_apimachinery_pkg_apis_meta_v1_unstructured.UnstructuredList, 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_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, 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_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions, arg3 ...string) (*k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Update") + ret0, ret1 := c.inner.Update(arg0, arg1, arg2, arg3...) + 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_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_apimachinery_pkg_apis_meta_v1_unstructured.Unstructured, 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_client_go_dynamic.ResourceInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/admissionregistrationv1/client.generated.go b/pkg/clients/kube/admissionregistrationv1/client.generated.go index b26f40f7cc..3c78428d3d 100644 --- a/pkg/clients/kube/admissionregistrationv1/client.generated.go +++ b/pkg/clients/kube/admissionregistrationv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" mutatingwebhookconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/admissionregistrationv1/mutatingwebhookconfigurations" validatingwebhookconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/admissionregistrationv1/validatingwebhookconfigurations" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) MutatingWebhookConfigurations() k8s_io_client_go_kubernete func (c *withTracing) ValidatingWebhookConfigurations() k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface { return validatingwebhookconfigurations.WithTracing(c.inner.ValidatingWebhookConfigurations(), c.client, "ValidatingWebhookConfiguration") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) MutatingWebhookConfigurations() k8s_io_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface { + return mutatingwebhookconfigurations.WithLogging(c.inner.MutatingWebhookConfigurations(), c.logger.WithValues("resource", "MutatingWebhookConfigurations")) +} +func (c *withLogging) ValidatingWebhookConfigurations() k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface { + return validatingwebhookconfigurations.WithLogging(c.inner.ValidatingWebhookConfigurations(), c.logger.WithValues("resource", "ValidatingWebhookConfigurations")) +} diff --git a/pkg/clients/kube/admissionregistrationv1/mutatingwebhookconfigurations/resource.generated.go b/pkg/clients/kube/admissionregistrationv1/mutatingwebhookconfigurations/resource.generated.go index 74e1ad81d3..aca85f4c00 100644 --- a/pkg/clients/kube/admissionregistrationv1/mutatingwebhookconfigurations/resource.generated.go +++ b/pkg/clients/kube/admissionregistrationv1/mutatingwebhookconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_admissionregistration_v1 "k8s.io/api/admissionregistration/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_admissionregistration_v1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_admissionregistration_v1.MutatingWebhookConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_admissionregistration_v1.MutatingWebhookConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_admissionregistration_v1.MutatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_admissionregistration_v1.MutatingWebhookConfiguration, 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_api_admissionregistration_v1.MutatingWebhookConfiguration, 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_api_admissionregistration_v1.MutatingWebhookConfigurationList, 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_api_admissionregistration_v1.MutatingWebhookConfiguration, 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_api_admissionregistration_v1.MutatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_admissionregistration_v1.MutatingWebhookConfiguration, 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) 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_client_go_kubernetes_typed_admissionregistration_v1.MutatingWebhookConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/admissionregistrationv1/validatingwebhookconfigurations/resource.generated.go b/pkg/clients/kube/admissionregistrationv1/validatingwebhookconfigurations/resource.generated.go index 615f852380..54f942c7b8 100644 --- a/pkg/clients/kube/admissionregistrationv1/validatingwebhookconfigurations/resource.generated.go +++ b/pkg/clients/kube/admissionregistrationv1/validatingwebhookconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_admissionregistration_v1 "k8s.io/api/admissionregistration/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_admissionregistration_v1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_admissionregistration_v1.ValidatingWebhookConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_admissionregistration_v1.ValidatingWebhookConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_admissionregistration_v1.ValidatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_admissionregistration_v1.ValidatingWebhookConfiguration, 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_api_admissionregistration_v1.ValidatingWebhookConfiguration, 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_api_admissionregistration_v1.ValidatingWebhookConfigurationList, 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_api_admissionregistration_v1.ValidatingWebhookConfiguration, 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_api_admissionregistration_v1.ValidatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_admissionregistration_v1.ValidatingWebhookConfiguration, 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) 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_client_go_kubernetes_typed_admissionregistration_v1.ValidatingWebhookConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/admissionregistrationv1beta1/client.generated.go b/pkg/clients/kube/admissionregistrationv1beta1/client.generated.go index e7a06c39e4..bb4344b641 100644 --- a/pkg/clients/kube/admissionregistrationv1beta1/client.generated.go +++ b/pkg/clients/kube/admissionregistrationv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" mutatingwebhookconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/admissionregistrationv1beta1/mutatingwebhookconfigurations" validatingwebhookconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/admissionregistrationv1beta1/validatingwebhookconfigurations" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.AdmissionregistrationV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.AdmissionregistrationV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.AdmissionregistrationV1beta1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) MutatingWebhookConfigurations() k8s_io_client_go_kubernete func (c *withTracing) ValidatingWebhookConfigurations() k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface { return validatingwebhookconfigurations.WithTracing(c.inner.ValidatingWebhookConfigurations(), c.client, "ValidatingWebhookConfiguration") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.AdmissionregistrationV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) MutatingWebhookConfigurations() k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface { + return mutatingwebhookconfigurations.WithLogging(c.inner.MutatingWebhookConfigurations(), c.logger.WithValues("resource", "MutatingWebhookConfigurations")) +} +func (c *withLogging) ValidatingWebhookConfigurations() k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface { + return validatingwebhookconfigurations.WithLogging(c.inner.ValidatingWebhookConfigurations(), c.logger.WithValues("resource", "ValidatingWebhookConfigurations")) +} diff --git a/pkg/clients/kube/admissionregistrationv1beta1/mutatingwebhookconfigurations/resource.generated.go b/pkg/clients/kube/admissionregistrationv1beta1/mutatingwebhookconfigurations/resource.generated.go index 44f378142d..494e8a786b 100644 --- a/pkg/clients/kube/admissionregistrationv1beta1/mutatingwebhookconfigurations/resource.generated.go +++ b/pkg/clients/kube/admissionregistrationv1beta1/mutatingwebhookconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_admissionregistration_v1beta1 "k8s.io/api/admissionregistration/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_admissionregistration_v1beta1.MutatingWebhookConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, 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_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, 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_api_admissionregistration_v1beta1.MutatingWebhookConfigurationList, 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_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, 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_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_admissionregistration_v1beta1.MutatingWebhookConfiguration, 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) 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_client_go_kubernetes_typed_admissionregistration_v1beta1.MutatingWebhookConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/admissionregistrationv1beta1/validatingwebhookconfigurations/resource.generated.go b/pkg/clients/kube/admissionregistrationv1beta1/validatingwebhookconfigurations/resource.generated.go index ff01cd73ee..ef9ffd9184 100644 --- a/pkg/clients/kube/admissionregistrationv1beta1/validatingwebhookconfigurations/resource.generated.go +++ b/pkg/clients/kube/admissionregistrationv1beta1/validatingwebhookconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_admissionregistration_v1beta1 "k8s.io/api/admissionregistration/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_admissionregistration_v return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_admissionregistration_v1beta1.ValidatingWebhookConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, 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_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, 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_api_admissionregistration_v1beta1.ValidatingWebhookConfigurationList, 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_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, 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_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_admissionregistration_v1beta1.ValidatingWebhookConfiguration, 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) 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_client_go_kubernetes_typed_admissionregistration_v1beta1.ValidatingWebhookConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1/client.generated.go b/pkg/clients/kube/appsv1/client.generated.go index ee15707fc8..11aabe404c 100644 --- a/pkg/clients/kube/appsv1/client.generated.go +++ b/pkg/clients/kube/appsv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" controllerrevisions "github.com/kyverno/kyverno/pkg/clients/kube/appsv1/controllerrevisions" daemonsets "github.com/kyverno/kyverno/pkg/clients/kube/appsv1/daemonsets" deployments "github.com/kyverno/kyverno/pkg/clients/kube/appsv1/deployments" @@ -19,6 +20,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface metrics metrics.MetricsConfigManager @@ -72,3 +77,27 @@ func (c *withTracing) ReplicaSets(namespace string) k8s_io_client_go_kubernetes_ func (c *withTracing) StatefulSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface { return statefulsets.WithTracing(c.inner.StatefulSets(namespace), c.client, "StatefulSet") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ControllerRevisions(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface { + return controllerrevisions.WithLogging(c.inner.ControllerRevisions(namespace), c.logger.WithValues("resource", "ControllerRevisions").WithValues("namespace", namespace)) +} +func (c *withLogging) DaemonSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterface { + return daemonsets.WithLogging(c.inner.DaemonSets(namespace), c.logger.WithValues("resource", "DaemonSets").WithValues("namespace", namespace)) +} +func (c *withLogging) Deployments(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInterface { + return deployments.WithLogging(c.inner.Deployments(namespace), c.logger.WithValues("resource", "Deployments").WithValues("namespace", namespace)) +} +func (c *withLogging) ReplicaSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface { + return replicasets.WithLogging(c.inner.ReplicaSets(namespace), c.logger.WithValues("resource", "ReplicaSets").WithValues("namespace", namespace)) +} +func (c *withLogging) StatefulSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface { + return statefulsets.WithLogging(c.inner.StatefulSets(namespace), c.logger.WithValues("resource", "StatefulSets").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/appsv1/controllerrevisions/resource.generated.go b/pkg/clients/kube/appsv1/controllerrevisions/resource.generated.go index f20d5a3e1a..3b63f77950 100644 --- a/pkg/clients/kube/appsv1/controllerrevisions/resource.generated.go +++ b/pkg/clients/kube/appsv1/controllerrevisions/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1 "k8s.io/api/apps/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1 "k8s.io/client-go/kubernetes/typed/apps/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevis return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.ControllerRevisionApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.ControllerRevision, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1.ControllerRevision, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1.ControllerRevision, 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_api_apps_v1.ControllerRevision, 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_api_apps_v1.ControllerRevisionList, 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_api_apps_v1.ControllerRevision, 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_api_apps_v1.ControllerRevision, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.ControllerRevision, 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) 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_client_go_kubernetes_typed_apps_v1.ControllerRevisionInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1/daemonsets/resource.generated.go b/pkg/clients/kube/appsv1/daemonsets/resource.generated.go index 9eb45d525f..753f0b0495 100644 --- a/pkg/clients/kube/appsv1/daemonsets/resource.generated.go +++ b/pkg/clients/kube/appsv1/daemonsets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1 "k8s.io/api/apps/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1 "k8s.io/client-go/kubernetes/typed/apps/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterf return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1.DaemonSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.DaemonSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.DaemonSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.DaemonSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.DaemonSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1.DaemonSet, 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_api_apps_v1.DaemonSet, 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_api_apps_v1.DaemonSetList, 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_api_apps_v1.DaemonSet, 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_api_apps_v1.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.DaemonSet, 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_api_apps_v1.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.DaemonSet, 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_client_go_kubernetes_typed_apps_v1.DaemonSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1/deployments/resource.generated.go b/pkg/clients/kube/appsv1/deployments/resource.generated.go index d438413756..1dc7374d6e 100644 --- a/pkg/clients/kube/appsv1/deployments/resource.generated.go +++ b/pkg/clients/kube/appsv1/deployments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1 "k8s.io/api/apps/v1" k8s_io_api_autoscaling_v1 "k8s.io/api/autoscaling/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -18,6 +21,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1 "k8s.io/client-go/kubernetes/typed/apps/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInterface { return &withMetrics{inner, recorder} } @@ -26,6 +33,166 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInter return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1.DeploymentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyScale(arg0 context.Context, arg1 string, arg2 *k8s_io_client_go_applyconfigurations_autoscaling_v1.ScaleApplyConfiguration, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyScale") + ret0, ret1 := c.inner.ApplyScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyScale failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1.Deployment, 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_api_apps_v1.Deployment, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_apps_v1.DeploymentList, 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_api_apps_v1.Deployment, 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_api_apps_v1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.Deployment, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_autoscaling_v1.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_apps_v1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.Deployment, 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_client_go_kubernetes_typed_apps_v1.DeploymentInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1/replicasets/resource.generated.go b/pkg/clients/kube/appsv1/replicasets/resource.generated.go index f887eb1105..4bc302145e 100644 --- a/pkg/clients/kube/appsv1/replicasets/resource.generated.go +++ b/pkg/clients/kube/appsv1/replicasets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1 "k8s.io/api/apps/v1" k8s_io_api_autoscaling_v1 "k8s.io/api/autoscaling/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -18,6 +21,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1 "k8s.io/client-go/kubernetes/typed/apps/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface { return &withMetrics{inner, recorder} } @@ -26,6 +33,166 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInter return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.ReplicaSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.ReplicaSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyScale(arg0 context.Context, arg1 string, arg2 *k8s_io_client_go_applyconfigurations_autoscaling_v1.ScaleApplyConfiguration, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyScale") + ret0, ret1 := c.inner.ApplyScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyScale failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.ReplicaSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.ReplicaSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1.ReplicaSet, 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_api_apps_v1.ReplicaSet, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_apps_v1.ReplicaSetList, 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_api_apps_v1.ReplicaSet, 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_api_apps_v1.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.ReplicaSet, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_autoscaling_v1.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_apps_v1.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.ReplicaSet, 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_client_go_kubernetes_typed_apps_v1.ReplicaSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1/statefulsets/resource.generated.go b/pkg/clients/kube/appsv1/statefulsets/resource.generated.go index fe7b8dee1e..3a8f5624d6 100644 --- a/pkg/clients/kube/appsv1/statefulsets/resource.generated.go +++ b/pkg/clients/kube/appsv1/statefulsets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1 "k8s.io/api/apps/v1" k8s_io_api_autoscaling_v1 "k8s.io/api/autoscaling/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -18,6 +21,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1 "k8s.io/client-go/kubernetes/typed/apps/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface { return &withMetrics{inner, recorder} } @@ -26,6 +33,166 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInte return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1.StatefulSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.StatefulSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.StatefulSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyScale(arg0 context.Context, arg1 string, arg2 *k8s_io_client_go_applyconfigurations_autoscaling_v1.ScaleApplyConfiguration, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyScale") + ret0, ret1 := c.inner.ApplyScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyScale failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1.StatefulSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1.StatefulSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1.StatefulSet, 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_api_apps_v1.StatefulSet, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_apps_v1.StatefulSetList, 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_api_apps_v1.StatefulSet, 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_api_apps_v1.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.StatefulSet, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_autoscaling_v1.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_apps_v1.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1.StatefulSet, 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_client_go_kubernetes_typed_apps_v1.StatefulSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta1/client.generated.go b/pkg/clients/kube/appsv1beta1/client.generated.go index 5ab8acc55a..80c6c57238 100644 --- a/pkg/clients/kube/appsv1beta1/client.generated.go +++ b/pkg/clients/kube/appsv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" controllerrevisions "github.com/kyverno/kyverno/pkg/clients/kube/appsv1beta1/controllerrevisions" deployments "github.com/kyverno/kyverno/pkg/clients/kube/appsv1beta1/deployments" statefulsets "github.com/kyverno/kyverno/pkg/clients/kube/appsv1beta1/statefulsets" @@ -17,6 +18,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.AppsV1beta return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.AppsV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta1.AppsV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.AppsV1beta1Interface metrics metrics.MetricsConfigManager @@ -56,3 +61,21 @@ func (c *withTracing) Deployments(namespace string) k8s_io_client_go_kubernetes_ func (c *withTracing) StatefulSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface { return statefulsets.WithTracing(c.inner.StatefulSets(namespace), c.client, "StatefulSet") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.AppsV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ControllerRevisions(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface { + return controllerrevisions.WithLogging(c.inner.ControllerRevisions(namespace), c.logger.WithValues("resource", "ControllerRevisions").WithValues("namespace", namespace)) +} +func (c *withLogging) Deployments(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface { + return deployments.WithLogging(c.inner.Deployments(namespace), c.logger.WithValues("resource", "Deployments").WithValues("namespace", namespace)) +} +func (c *withLogging) StatefulSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface { + return statefulsets.WithLogging(c.inner.StatefulSets(namespace), c.logger.WithValues("resource", "StatefulSets").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/appsv1beta1/controllerrevisions/resource.generated.go b/pkg/clients/kube/appsv1beta1/controllerrevisions/resource.generated.go index 0d6d6cf376..c9cddf01d5 100644 --- a/pkg/clients/kube/appsv1beta1/controllerrevisions/resource.generated.go +++ b/pkg/clients/kube/appsv1beta1/controllerrevisions/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta1 "k8s.io/api/apps/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta1 "k8s.io/client-go/kubernetes/typed/apps/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.Controller return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta1.ControllerRevisionApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta1.ControllerRevision, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta1.ControllerRevision, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta1.ControllerRevision, 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_api_apps_v1beta1.ControllerRevision, 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_api_apps_v1beta1.ControllerRevisionList, 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_api_apps_v1beta1.ControllerRevision, 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_api_apps_v1beta1.ControllerRevision, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta1.ControllerRevision, 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) 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_client_go_kubernetes_typed_apps_v1beta1.ControllerRevisionInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta1/deployments/resource.generated.go b/pkg/clients/kube/appsv1beta1/deployments/resource.generated.go index 1aafa99d20..da4f6bbfc0 100644 --- a/pkg/clients/kube/appsv1beta1/deployments/resource.generated.go +++ b/pkg/clients/kube/appsv1beta1/deployments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta1 "k8s.io/api/apps/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta1 "k8s.io/client-go/kubernetes/typed/apps/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.Deployment return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta1.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta1.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta1.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta1.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta1.Deployment, 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_api_apps_v1beta1.Deployment, 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_api_apps_v1beta1.DeploymentList, 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_api_apps_v1beta1.Deployment, 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_api_apps_v1beta1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta1.Deployment, 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_api_apps_v1beta1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta1.Deployment, 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_client_go_kubernetes_typed_apps_v1beta1.DeploymentInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta1/statefulsets/resource.generated.go b/pkg/clients/kube/appsv1beta1/statefulsets/resource.generated.go index 5d018058e6..68d2a3e955 100644 --- a/pkg/clients/kube/appsv1beta1/statefulsets/resource.generated.go +++ b/pkg/clients/kube/appsv1beta1/statefulsets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta1 "k8s.io/api/apps/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta1 "k8s.io/client-go/kubernetes/typed/apps/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSe return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta1.StatefulSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta1.StatefulSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta1.StatefulSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta1.StatefulSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta1.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta1.StatefulSet, 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_api_apps_v1beta1.StatefulSet, 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_api_apps_v1beta1.StatefulSetList, 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_api_apps_v1beta1.StatefulSet, 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_api_apps_v1beta1.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta1.StatefulSet, 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_api_apps_v1beta1.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta1.StatefulSet, 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_client_go_kubernetes_typed_apps_v1beta1.StatefulSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta2/client.generated.go b/pkg/clients/kube/appsv1beta2/client.generated.go index c39797c7b7..7864eb6e97 100644 --- a/pkg/clients/kube/appsv1beta2/client.generated.go +++ b/pkg/clients/kube/appsv1beta2/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" controllerrevisions "github.com/kyverno/kyverno/pkg/clients/kube/appsv1beta2/controllerrevisions" daemonsets "github.com/kyverno/kyverno/pkg/clients/kube/appsv1beta2/daemonsets" deployments "github.com/kyverno/kyverno/pkg/clients/kube/appsv1beta2/deployments" @@ -19,6 +20,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.AppsV1beta return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.AppsV1beta2Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta2.AppsV1beta2Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.AppsV1beta2Interface metrics metrics.MetricsConfigManager @@ -72,3 +77,27 @@ func (c *withTracing) ReplicaSets(namespace string) k8s_io_client_go_kubernetes_ func (c *withTracing) StatefulSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface { return statefulsets.WithTracing(c.inner.StatefulSets(namespace), c.client, "StatefulSet") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.AppsV1beta2Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ControllerRevisions(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface { + return controllerrevisions.WithLogging(c.inner.ControllerRevisions(namespace), c.logger.WithValues("resource", "ControllerRevisions").WithValues("namespace", namespace)) +} +func (c *withLogging) DaemonSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface { + return daemonsets.WithLogging(c.inner.DaemonSets(namespace), c.logger.WithValues("resource", "DaemonSets").WithValues("namespace", namespace)) +} +func (c *withLogging) Deployments(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface { + return deployments.WithLogging(c.inner.Deployments(namespace), c.logger.WithValues("resource", "Deployments").WithValues("namespace", namespace)) +} +func (c *withLogging) ReplicaSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface { + return replicasets.WithLogging(c.inner.ReplicaSets(namespace), c.logger.WithValues("resource", "ReplicaSets").WithValues("namespace", namespace)) +} +func (c *withLogging) StatefulSets(namespace string) k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface { + return statefulsets.WithLogging(c.inner.StatefulSets(namespace), c.logger.WithValues("resource", "StatefulSets").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/appsv1beta2/controllerrevisions/resource.generated.go b/pkg/clients/kube/appsv1beta2/controllerrevisions/resource.generated.go index 80bbc4f3e3..df92d5eaad 100644 --- a/pkg/clients/kube/appsv1beta2/controllerrevisions/resource.generated.go +++ b/pkg/clients/kube/appsv1beta2/controllerrevisions/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta2 "k8s.io/api/apps/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.Controller return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.ControllerRevisionApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.ControllerRevision, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta2.ControllerRevision, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta2.ControllerRevision, 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_api_apps_v1beta2.ControllerRevision, 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_api_apps_v1beta2.ControllerRevisionList, 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_api_apps_v1beta2.ControllerRevision, 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_api_apps_v1beta2.ControllerRevision, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.ControllerRevision, 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) 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_client_go_kubernetes_typed_apps_v1beta2.ControllerRevisionInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta2/daemonsets/resource.generated.go b/pkg/clients/kube/appsv1beta2/daemonsets/resource.generated.go index 7fd634900a..54aba8de9f 100644 --- a/pkg/clients/kube/appsv1beta2/daemonsets/resource.generated.go +++ b/pkg/clients/kube/appsv1beta2/daemonsets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta2 "k8s.io/api/apps/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetI return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.DaemonSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.DaemonSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.DaemonSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.DaemonSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta2.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta2.DaemonSet, 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_api_apps_v1beta2.DaemonSet, 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_api_apps_v1beta2.DaemonSetList, 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_api_apps_v1beta2.DaemonSet, 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_api_apps_v1beta2.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.DaemonSet, 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_api_apps_v1beta2.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.DaemonSet, 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_client_go_kubernetes_typed_apps_v1beta2.DaemonSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta2/deployments/resource.generated.go b/pkg/clients/kube/appsv1beta2/deployments/resource.generated.go index b2ff99645c..d4663c6116 100644 --- a/pkg/clients/kube/appsv1beta2/deployments/resource.generated.go +++ b/pkg/clients/kube/appsv1beta2/deployments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta2 "k8s.io/api/apps/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.Deployment return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta2.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta2.Deployment, 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_api_apps_v1beta2.Deployment, 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_api_apps_v1beta2.DeploymentList, 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_api_apps_v1beta2.Deployment, 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_api_apps_v1beta2.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.Deployment, 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_api_apps_v1beta2.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.Deployment, 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_client_go_kubernetes_typed_apps_v1beta2.DeploymentInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta2/replicasets/resource.generated.go b/pkg/clients/kube/appsv1beta2/replicasets/resource.generated.go index aa16390baf..89253c223f 100644 --- a/pkg/clients/kube/appsv1beta2/replicasets/resource.generated.go +++ b/pkg/clients/kube/appsv1beta2/replicasets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta2 "k8s.io/api/apps/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSet return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.ReplicaSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.ReplicaSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.ReplicaSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.ReplicaSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta2.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta2.ReplicaSet, 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_api_apps_v1beta2.ReplicaSet, 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_api_apps_v1beta2.ReplicaSetList, 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_api_apps_v1beta2.ReplicaSet, 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_api_apps_v1beta2.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.ReplicaSet, 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_api_apps_v1beta2.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.ReplicaSet, 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_client_go_kubernetes_typed_apps_v1beta2.ReplicaSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/appsv1beta2/statefulsets/resource.generated.go b/pkg/clients/kube/appsv1beta2/statefulsets/resource.generated.go index fedc30f75b..aa9f45407e 100644 --- a/pkg/clients/kube/appsv1beta2/statefulsets/resource.generated.go +++ b/pkg/clients/kube/appsv1beta2/statefulsets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apps_v1beta2 "k8s.io/api/apps/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apps_v1beta2 "k8s.io/client-go/kubernetes/typed/apps/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,166 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSe return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.StatefulSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.StatefulSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyScale(arg0 context.Context, arg1 string, arg2 *k8s_io_client_go_applyconfigurations_apps_v1beta2.ScaleApplyConfiguration, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyScale") + ret0, ret1 := c.inner.ApplyScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyScale failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apps_v1beta2.StatefulSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apps_v1beta2.StatefulSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta2.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apps_v1beta2.StatefulSet, 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_api_apps_v1beta2.StatefulSet, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_apps_v1beta2.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_apps_v1beta2.StatefulSetList, 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_api_apps_v1beta2.StatefulSet, 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_api_apps_v1beta2.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.StatefulSet, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_apps_v1beta2.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_apps_v1beta2.StatefulSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apps_v1beta2.StatefulSet, 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_client_go_kubernetes_typed_apps_v1beta2.StatefulSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authenticationv1/client.generated.go b/pkg/clients/kube/authenticationv1/client.generated.go index e20fec5742..66c901d043 100644 --- a/pkg/clients/kube/authenticationv1/client.generated.go +++ b/pkg/clients/kube/authenticationv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" tokenreviews "github.com/kyverno/kyverno/pkg/clients/kube/authenticationv1/tokenreviews" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_authentication_v1 "k8s.io/client-go/kubernetes/typed/authentication/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authentication_v1.Authe return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authentication_v1.AuthenticationV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authentication_v1.AuthenticationV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authentication_v1.AuthenticationV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) TokenReviews() k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface { return tokenreviews.WithTracing(c.inner.TokenReviews(), c.client, "TokenReview") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authentication_v1.AuthenticationV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) TokenReviews() k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface { + return tokenreviews.WithLogging(c.inner.TokenReviews(), c.logger.WithValues("resource", "TokenReviews")) +} diff --git a/pkg/clients/kube/authenticationv1/tokenreviews/resource.generated.go b/pkg/clients/kube/authenticationv1/tokenreviews/resource.generated.go index 4cc2cc69d0..5b04a3d47c 100644 --- a/pkg/clients/kube/authenticationv1/tokenreviews/resource.generated.go +++ b/pkg/clients/kube/authenticationv1/tokenreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authentication_v1 "k8s.io/api/authentication/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authentication_v1 "k8s.io/client-go/kubernetes/typed/authentication/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authentication_v1.Token return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authentication_v1.TokenReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authentication_v1.TokenReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authentication_v1.TokenReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authenticationv1beta1/client.generated.go b/pkg/clients/kube/authenticationv1beta1/client.generated.go index a293e1d82e..20ca7b4920 100644 --- a/pkg/clients/kube/authenticationv1beta1/client.generated.go +++ b/pkg/clients/kube/authenticationv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" tokenreviews "github.com/kyverno/kyverno/pkg/clients/kube/authenticationv1beta1/tokenreviews" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_authentication_v1beta1 "k8s.io/client-go/kubernetes/typed/authentication/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1. return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.AuthenticationV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authentication_v1beta1.AuthenticationV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.AuthenticationV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) TokenReviews() k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface { return tokenreviews.WithTracing(c.inner.TokenReviews(), c.client, "TokenReview") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.AuthenticationV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) TokenReviews() k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface { + return tokenreviews.WithLogging(c.inner.TokenReviews(), c.logger.WithValues("resource", "TokenReviews")) +} diff --git a/pkg/clients/kube/authenticationv1beta1/tokenreviews/resource.generated.go b/pkg/clients/kube/authenticationv1beta1/tokenreviews/resource.generated.go index 10aec0dc5d..d5847972c7 100644 --- a/pkg/clients/kube/authenticationv1beta1/tokenreviews/resource.generated.go +++ b/pkg/clients/kube/authenticationv1beta1/tokenreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authentication_v1beta1 "k8s.io/api/authentication/v1beta1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authentication_v1beta1 "k8s.io/client-go/kubernetes/typed/authentication/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1. return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authentication_v1beta1.TokenReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authentication_v1beta1.TokenReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authentication_v1beta1.TokenReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1/client.generated.go b/pkg/clients/kube/authorizationv1/client.generated.go index 87056b4ff6..f3351d1005 100644 --- a/pkg/clients/kube/authorizationv1/client.generated.go +++ b/pkg/clients/kube/authorizationv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" localsubjectaccessreviews "github.com/kyverno/kyverno/pkg/clients/kube/authorizationv1/localsubjectaccessreviews" selfsubjectaccessreviews "github.com/kyverno/kyverno/pkg/clients/kube/authorizationv1/selfsubjectaccessreviews" selfsubjectrulesreviews "github.com/kyverno/kyverno/pkg/clients/kube/authorizationv1/selfsubjectrulesreviews" @@ -18,6 +19,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1.Author return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1.AuthorizationV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1.AuthorizationV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1.AuthorizationV1Interface metrics metrics.MetricsConfigManager @@ -64,3 +69,24 @@ func (c *withTracing) SelfSubjectRulesReviews() k8s_io_client_go_kubernetes_type func (c *withTracing) SubjectAccessReviews() k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface { return subjectaccessreviews.WithTracing(c.inner.SubjectAccessReviews(), c.client, "SubjectAccessReview") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1.AuthorizationV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) LocalSubjectAccessReviews(namespace string) k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface { + return localsubjectaccessreviews.WithLogging(c.inner.LocalSubjectAccessReviews(namespace), c.logger.WithValues("resource", "LocalSubjectAccessReviews").WithValues("namespace", namespace)) +} +func (c *withLogging) SelfSubjectAccessReviews() k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface { + return selfsubjectaccessreviews.WithLogging(c.inner.SelfSubjectAccessReviews(), c.logger.WithValues("resource", "SelfSubjectAccessReviews")) +} +func (c *withLogging) SelfSubjectRulesReviews() k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface { + return selfsubjectrulesreviews.WithLogging(c.inner.SelfSubjectRulesReviews(), c.logger.WithValues("resource", "SelfSubjectRulesReviews")) +} +func (c *withLogging) SubjectAccessReviews() k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface { + return subjectaccessreviews.WithLogging(c.inner.SubjectAccessReviews(), c.logger.WithValues("resource", "SubjectAccessReviews")) +} diff --git a/pkg/clients/kube/authorizationv1/localsubjectaccessreviews/resource.generated.go b/pkg/clients/kube/authorizationv1/localsubjectaccessreviews/resource.generated.go index d61618431e..d3513c078a 100644 --- a/pkg/clients/kube/authorizationv1/localsubjectaccessreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1/localsubjectaccessreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1 "k8s.io/api/authorization/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1 "k8s.io/client-go/kubernetes/typed/authorization/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1.LocalS return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1.LocalSubjectAccessReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1.LocalSubjectAccessReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1.LocalSubjectAccessReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1/selfsubjectaccessreviews/resource.generated.go b/pkg/clients/kube/authorizationv1/selfsubjectaccessreviews/resource.generated.go index 203ffd1c06..17d6ba8439 100644 --- a/pkg/clients/kube/authorizationv1/selfsubjectaccessreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1/selfsubjectaccessreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1 "k8s.io/api/authorization/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1 "k8s.io/client-go/kubernetes/typed/authorization/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSu return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1.SelfSubjectAccessReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1.SelfSubjectAccessReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectAccessReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1/selfsubjectrulesreviews/resource.generated.go b/pkg/clients/kube/authorizationv1/selfsubjectrulesreviews/resource.generated.go index 3942370eaa..fa75349438 100644 --- a/pkg/clients/kube/authorizationv1/selfsubjectrulesreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1/selfsubjectrulesreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1 "k8s.io/api/authorization/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1 "k8s.io/client-go/kubernetes/typed/authorization/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSu return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1.SelfSubjectRulesReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1.SelfSubjectRulesReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1.SelfSubjectRulesReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1/subjectaccessreviews/resource.generated.go b/pkg/clients/kube/authorizationv1/subjectaccessreviews/resource.generated.go index dfc8c08803..6398ccbfe7 100644 --- a/pkg/clients/kube/authorizationv1/subjectaccessreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1/subjectaccessreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1 "k8s.io/api/authorization/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1 "k8s.io/client-go/kubernetes/typed/authorization/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1.Subjec return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1.SubjectAccessReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1.SubjectAccessReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1.SubjectAccessReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1beta1/client.generated.go b/pkg/clients/kube/authorizationv1beta1/client.generated.go index c107716c89..054e8a7831 100644 --- a/pkg/clients/kube/authorizationv1beta1/client.generated.go +++ b/pkg/clients/kube/authorizationv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" localsubjectaccessreviews "github.com/kyverno/kyverno/pkg/clients/kube/authorizationv1beta1/localsubjectaccessreviews" selfsubjectaccessreviews "github.com/kyverno/kyverno/pkg/clients/kube/authorizationv1beta1/selfsubjectaccessreviews" selfsubjectrulesreviews "github.com/kyverno/kyverno/pkg/clients/kube/authorizationv1beta1/selfsubjectrulesreviews" @@ -18,6 +19,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.A return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.AuthorizationV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.AuthorizationV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.AuthorizationV1beta1Interface metrics metrics.MetricsConfigManager @@ -64,3 +69,24 @@ func (c *withTracing) SelfSubjectRulesReviews() k8s_io_client_go_kubernetes_type func (c *withTracing) SubjectAccessReviews() k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface { return subjectaccessreviews.WithTracing(c.inner.SubjectAccessReviews(), c.client, "SubjectAccessReview") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.AuthorizationV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) LocalSubjectAccessReviews(namespace string) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface { + return localsubjectaccessreviews.WithLogging(c.inner.LocalSubjectAccessReviews(namespace), c.logger.WithValues("resource", "LocalSubjectAccessReviews").WithValues("namespace", namespace)) +} +func (c *withLogging) SelfSubjectAccessReviews() k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface { + return selfsubjectaccessreviews.WithLogging(c.inner.SelfSubjectAccessReviews(), c.logger.WithValues("resource", "SelfSubjectAccessReviews")) +} +func (c *withLogging) SelfSubjectRulesReviews() k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface { + return selfsubjectrulesreviews.WithLogging(c.inner.SelfSubjectRulesReviews(), c.logger.WithValues("resource", "SelfSubjectRulesReviews")) +} +func (c *withLogging) SubjectAccessReviews() k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface { + return subjectaccessreviews.WithLogging(c.inner.SubjectAccessReviews(), c.logger.WithValues("resource", "SubjectAccessReviews")) +} diff --git a/pkg/clients/kube/authorizationv1beta1/localsubjectaccessreviews/resource.generated.go b/pkg/clients/kube/authorizationv1beta1/localsubjectaccessreviews/resource.generated.go index 4a815b3ace..19ab922345 100644 --- a/pkg/clients/kube/authorizationv1beta1/localsubjectaccessreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1beta1/localsubjectaccessreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1beta1 "k8s.io/api/authorization/v1beta1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.L return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1beta1.LocalSubjectAccessReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1beta1.LocalSubjectAccessReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.LocalSubjectAccessReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1beta1/selfsubjectaccessreviews/resource.generated.go b/pkg/clients/kube/authorizationv1beta1/selfsubjectaccessreviews/resource.generated.go index a0c38ee05a..a6b81469c6 100644 --- a/pkg/clients/kube/authorizationv1beta1/selfsubjectaccessreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1beta1/selfsubjectaccessreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1beta1 "k8s.io/api/authorization/v1beta1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.S return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1beta1.SelfSubjectAccessReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1beta1.SelfSubjectAccessReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectAccessReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1beta1/selfsubjectrulesreviews/resource.generated.go b/pkg/clients/kube/authorizationv1beta1/selfsubjectrulesreviews/resource.generated.go index 1295ea8165..79c058fc7c 100644 --- a/pkg/clients/kube/authorizationv1beta1/selfsubjectrulesreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1beta1/selfsubjectrulesreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1beta1 "k8s.io/api/authorization/v1beta1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.S return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1beta1.SelfSubjectRulesReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1beta1.SelfSubjectRulesReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SelfSubjectRulesReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/authorizationv1beta1/subjectaccessreviews/resource.generated.go b/pkg/clients/kube/authorizationv1beta1/subjectaccessreviews/resource.generated.go index a2cf97c950..776b6f6c2f 100644 --- a/pkg/clients/kube/authorizationv1beta1/subjectaccessreviews/resource.generated.go +++ b/pkg/clients/kube/authorizationv1beta1/subjectaccessreviews/resource.generated.go @@ -3,16 +3,23 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authorization_v1beta1 "k8s.io/api/authorization/v1beta1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_client_go_kubernetes_typed_authorization_v1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface { return &withMetrics{inner, recorder} } @@ -21,6 +28,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.S return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_authorization_v1beta1.SubjectAccessReview, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authorization_v1beta1.SubjectAccessReview, 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 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_authorization_v1beta1.SubjectAccessReviewInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/autoscalingv1/client.generated.go b/pkg/clients/kube/autoscalingv1/client.generated.go index c47ab71029..4a15ec76df 100644 --- a/pkg/clients/kube/autoscalingv1/client.generated.go +++ b/pkg/clients/kube/autoscalingv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" horizontalpodautoscalers "github.com/kyverno/kyverno/pkg/clients/kube/autoscalingv1/horizontalpodautoscalers" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_autoscaling_v1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.Autoscal return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.AutoscalingV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v1.AutoscalingV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.AutoscalingV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface { return horizontalpodautoscalers.WithTracing(c.inner.HorizontalPodAutoscalers(namespace), c.client, "HorizontalPodAutoscaler") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.AutoscalingV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface { + return horizontalpodautoscalers.WithLogging(c.inner.HorizontalPodAutoscalers(namespace), c.logger.WithValues("resource", "HorizontalPodAutoscalers").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/autoscalingv1/horizontalpodautoscalers/resource.generated.go b/pkg/clients/kube/autoscalingv1/horizontalpodautoscalers/resource.generated.go index bddc06541a..4f57205b26 100644 --- a/pkg/clients/kube/autoscalingv1/horizontalpodautoscalers/resource.generated.go +++ b/pkg/clients/kube/autoscalingv1/horizontalpodautoscalers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_autoscaling_v1 "k8s.io/api/autoscaling/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_autoscaling_v1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.Horizont return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v1.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v1.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v1.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v1.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_autoscaling_v1.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_autoscaling_v1.HorizontalPodAutoscaler, 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_api_autoscaling_v1.HorizontalPodAutoscaler, 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_api_autoscaling_v1.HorizontalPodAutoscalerList, 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_api_autoscaling_v1.HorizontalPodAutoscaler, 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_api_autoscaling_v1.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v1.HorizontalPodAutoscaler, 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_api_autoscaling_v1.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v1.HorizontalPodAutoscaler, 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_client_go_kubernetes_typed_autoscaling_v1.HorizontalPodAutoscalerInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/autoscalingv2/client.generated.go b/pkg/clients/kube/autoscalingv2/client.generated.go index 7472ff403d..ffdfbf0623 100644 --- a/pkg/clients/kube/autoscalingv2/client.generated.go +++ b/pkg/clients/kube/autoscalingv2/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" horizontalpodautoscalers "github.com/kyverno/kyverno/pkg/clients/kube/autoscalingv2/horizontalpodautoscalers" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_autoscaling_v2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.Autoscal return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.AutoscalingV2Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v2.AutoscalingV2Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.AutoscalingV2Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface { return horizontalpodautoscalers.WithTracing(c.inner.HorizontalPodAutoscalers(namespace), c.client, "HorizontalPodAutoscaler") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.AutoscalingV2Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface { + return horizontalpodautoscalers.WithLogging(c.inner.HorizontalPodAutoscalers(namespace), c.logger.WithValues("resource", "HorizontalPodAutoscalers").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/autoscalingv2/horizontalpodautoscalers/resource.generated.go b/pkg/clients/kube/autoscalingv2/horizontalpodautoscalers/resource.generated.go index 5c8411a223..0e61325550 100644 --- a/pkg/clients/kube/autoscalingv2/horizontalpodautoscalers/resource.generated.go +++ b/pkg/clients/kube/autoscalingv2/horizontalpodautoscalers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_autoscaling_v2 "k8s.io/api/autoscaling/v2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_autoscaling_v2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.Horizont return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v2.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v2.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v2.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v2.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_autoscaling_v2.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_autoscaling_v2.HorizontalPodAutoscaler, 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_api_autoscaling_v2.HorizontalPodAutoscaler, 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_api_autoscaling_v2.HorizontalPodAutoscalerList, 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_api_autoscaling_v2.HorizontalPodAutoscaler, 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_api_autoscaling_v2.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v2.HorizontalPodAutoscaler, 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_api_autoscaling_v2.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v2.HorizontalPodAutoscaler, 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_client_go_kubernetes_typed_autoscaling_v2.HorizontalPodAutoscalerInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/autoscalingv2beta1/client.generated.go b/pkg/clients/kube/autoscalingv2beta1/client.generated.go index a146c4e04a..408e7b4fef 100644 --- a/pkg/clients/kube/autoscalingv2beta1/client.generated.go +++ b/pkg/clients/kube/autoscalingv2beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" horizontalpodautoscalers "github.com/kyverno/kyverno/pkg/clients/kube/autoscalingv2beta1/horizontalpodautoscalers" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.Aut return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.AutoscalingV2beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.AutoscalingV2beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.AutoscalingV2beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface { return horizontalpodautoscalers.WithTracing(c.inner.HorizontalPodAutoscalers(namespace), c.client, "HorizontalPodAutoscaler") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.AutoscalingV2beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface { + return horizontalpodautoscalers.WithLogging(c.inner.HorizontalPodAutoscalers(namespace), c.logger.WithValues("resource", "HorizontalPodAutoscalers").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/autoscalingv2beta1/horizontalpodautoscalers/resource.generated.go b/pkg/clients/kube/autoscalingv2beta1/horizontalpodautoscalers/resource.generated.go index dbeb59cea1..0f7df3df57 100644 --- a/pkg/clients/kube/autoscalingv2beta1/horizontalpodautoscalers/resource.generated.go +++ b/pkg/clients/kube/autoscalingv2beta1/horizontalpodautoscalers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_autoscaling_v2beta1 "k8s.io/api/autoscaling/v2beta1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.Hor return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v2beta1.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v2beta1.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v2beta1.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v2beta1.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_autoscaling_v2beta1.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_autoscaling_v2beta1.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta1.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta1.HorizontalPodAutoscalerList, 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_api_autoscaling_v2beta1.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta1.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v2beta1.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta1.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v2beta1.HorizontalPodAutoscaler, 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_client_go_kubernetes_typed_autoscaling_v2beta1.HorizontalPodAutoscalerInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/autoscalingv2beta2/client.generated.go b/pkg/clients/kube/autoscalingv2beta2/client.generated.go index 2d431404ca..2590f4446d 100644 --- a/pkg/clients/kube/autoscalingv2beta2/client.generated.go +++ b/pkg/clients/kube/autoscalingv2beta2/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" horizontalpodautoscalers "github.com/kyverno/kyverno/pkg/clients/kube/autoscalingv2beta2/horizontalpodautoscalers" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.Aut return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.AutoscalingV2beta2Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.AutoscalingV2beta2Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.AutoscalingV2beta2Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface { return horizontalpodautoscalers.WithTracing(c.inner.HorizontalPodAutoscalers(namespace), c.client, "HorizontalPodAutoscaler") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.AutoscalingV2beta2Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) HorizontalPodAutoscalers(namespace string) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface { + return horizontalpodautoscalers.WithLogging(c.inner.HorizontalPodAutoscalers(namespace), c.logger.WithValues("resource", "HorizontalPodAutoscalers").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/autoscalingv2beta2/horizontalpodautoscalers/resource.generated.go b/pkg/clients/kube/autoscalingv2beta2/horizontalpodautoscalers/resource.generated.go index 452808bea0..d40dcadae3 100644 --- a/pkg/clients/kube/autoscalingv2beta2/horizontalpodautoscalers/resource.generated.go +++ b/pkg/clients/kube/autoscalingv2beta2/horizontalpodautoscalers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_autoscaling_v2beta2 "k8s.io/api/autoscaling/v2beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.Hor return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v2beta2.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v2beta2.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_autoscaling_v2beta2.HorizontalPodAutoscalerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_autoscaling_v2beta2.HorizontalPodAutoscaler, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_autoscaling_v2beta2.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_autoscaling_v2beta2.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta2.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta2.HorizontalPodAutoscalerList, 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_api_autoscaling_v2beta2.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta2.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v2beta2.HorizontalPodAutoscaler, 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_api_autoscaling_v2beta2.HorizontalPodAutoscaler, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v2beta2.HorizontalPodAutoscaler, 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_client_go_kubernetes_typed_autoscaling_v2beta2.HorizontalPodAutoscalerInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/batchv1/client.generated.go b/pkg/clients/kube/batchv1/client.generated.go index 61ee655312..6a284d82a5 100644 --- a/pkg/clients/kube/batchv1/client.generated.go +++ b/pkg/clients/kube/batchv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" cronjobs "github.com/kyverno/kyverno/pkg/clients/kube/batchv1/cronjobs" jobs "github.com/kyverno/kyverno/pkg/clients/kube/batchv1/jobs" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_batch_v1.BatchV1Interfa return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_batch_v1.BatchV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_batch_v1.BatchV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_batch_v1.BatchV1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) CronJobs(namespace string) k8s_io_client_go_kubernetes_typ func (c *withTracing) Jobs(namespace string) k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface { return jobs.WithTracing(c.inner.Jobs(namespace), c.client, "Job") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_batch_v1.BatchV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CronJobs(namespace string) k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterface { + return cronjobs.WithLogging(c.inner.CronJobs(namespace), c.logger.WithValues("resource", "CronJobs").WithValues("namespace", namespace)) +} +func (c *withLogging) Jobs(namespace string) k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface { + return jobs.WithLogging(c.inner.Jobs(namespace), c.logger.WithValues("resource", "Jobs").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/batchv1/cronjobs/resource.generated.go b/pkg/clients/kube/batchv1/cronjobs/resource.generated.go index e23c3f2fd5..5bad2dba2f 100644 --- a/pkg/clients/kube/batchv1/cronjobs/resource.generated.go +++ b/pkg/clients/kube/batchv1/cronjobs/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_batch_v1 "k8s.io/api/batch/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_batch_v1 "k8s.io/client-go/kubernetes/typed/batch/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterfa return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_batch_v1.CronJobInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_batch_v1.CronJobApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_batch_v1.CronJob, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_batch_v1.CronJobApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_batch_v1.CronJob, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_batch_v1.CronJob, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_batch_v1.CronJob, 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_api_batch_v1.CronJob, 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_api_batch_v1.CronJobList, 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_api_batch_v1.CronJob, 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_api_batch_v1.CronJob, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_batch_v1.CronJob, 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_api_batch_v1.CronJob, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_batch_v1.CronJob, 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_client_go_kubernetes_typed_batch_v1.CronJobInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/batchv1/jobs/resource.generated.go b/pkg/clients/kube/batchv1/jobs/resource.generated.go index 4159d253be..e9892b1b7f 100644 --- a/pkg/clients/kube/batchv1/jobs/resource.generated.go +++ b/pkg/clients/kube/batchv1/jobs/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_batch_v1 "k8s.io/api/batch/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_batch_v1 "k8s.io/client-go/kubernetes/typed/batch/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface, return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_batch_v1.JobInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_batch_v1.JobApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_batch_v1.Job, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_batch_v1.JobApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_batch_v1.Job, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_batch_v1.Job, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_batch_v1.Job, 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_api_batch_v1.Job, 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_api_batch_v1.JobList, 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_api_batch_v1.Job, 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_api_batch_v1.Job, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_batch_v1.Job, 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_api_batch_v1.Job, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_batch_v1.Job, 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_client_go_kubernetes_typed_batch_v1.JobInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/batchv1beta1/client.generated.go b/pkg/clients/kube/batchv1beta1/client.generated.go index 9f3c4657f5..318c8ee5d4 100644 --- a/pkg/clients/kube/batchv1beta1/client.generated.go +++ b/pkg/clients/kube/batchv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" cronjobs "github.com/kyverno/kyverno/pkg/clients/kube/batchv1beta1/cronjobs" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_batch_v1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.BatchV1be return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.BatchV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_batch_v1beta1.BatchV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.BatchV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) CronJobs(namespace string) k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface { return cronjobs.WithTracing(c.inner.CronJobs(namespace), c.client, "CronJob") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.BatchV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CronJobs(namespace string) k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface { + return cronjobs.WithLogging(c.inner.CronJobs(namespace), c.logger.WithValues("resource", "CronJobs").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/batchv1beta1/cronjobs/resource.generated.go b/pkg/clients/kube/batchv1beta1/cronjobs/resource.generated.go index ede03c1fa9..9ab0265ac2 100644 --- a/pkg/clients/kube/batchv1beta1/cronjobs/resource.generated.go +++ b/pkg/clients/kube/batchv1beta1/cronjobs/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_batch_v1beta1 "k8s.io/api/batch/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_batch_v1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobIn return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_batch_v1beta1.CronJobApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_batch_v1beta1.CronJob, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_batch_v1beta1.CronJobApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_batch_v1beta1.CronJob, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_batch_v1beta1.CronJob, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_batch_v1beta1.CronJob, 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_api_batch_v1beta1.CronJob, 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_api_batch_v1beta1.CronJobList, 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_api_batch_v1beta1.CronJob, 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_api_batch_v1beta1.CronJob, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_batch_v1beta1.CronJob, 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_api_batch_v1beta1.CronJob, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_batch_v1beta1.CronJob, 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_client_go_kubernetes_typed_batch_v1beta1.CronJobInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/certificatesv1/certificatesigningrequests/resource.generated.go b/pkg/clients/kube/certificatesv1/certificatesigningrequests/resource.generated.go index 8e356b5c28..506832ac89 100644 --- a/pkg/clients/kube/certificatesv1/certificatesigningrequests/resource.generated.go +++ b/pkg/clients/kube/certificatesv1/certificatesigningrequests/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_certificates_v1 "k8s.io/api/certificates/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_certificates_v1 "k8s.io/client-go/kubernetes/typed/certificates/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,144 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_certificates_v1.Certifi return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_certificates_v1.CertificateSigningRequestApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_certificates_v1.CertificateSigningRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_certificates_v1.CertificateSigningRequestApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_certificates_v1.CertificateSigningRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_certificates_v1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_certificates_v1.CertificateSigningRequest, 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_api_certificates_v1.CertificateSigningRequest, 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_api_certificates_v1.CertificateSigningRequestList, 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_api_certificates_v1.CertificateSigningRequest, 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_api_certificates_v1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_certificates_v1.CertificateSigningRequest, 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) UpdateApproval(arg0 context.Context, arg1 string, arg2 *k8s_io_api_certificates_v1.CertificateSigningRequest, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_certificates_v1.CertificateSigningRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateApproval") + ret0, ret1 := c.inner.UpdateApproval(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateApproval failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateApproval done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_certificates_v1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_certificates_v1.CertificateSigningRequest, 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_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/certificatesv1/client.generated.go b/pkg/clients/kube/certificatesv1/client.generated.go index 7e3b5986d1..935e05f952 100644 --- a/pkg/clients/kube/certificatesv1/client.generated.go +++ b/pkg/clients/kube/certificatesv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" certificatesigningrequests "github.com/kyverno/kyverno/pkg/clients/kube/certificatesv1/certificatesigningrequests" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_certificates_v1 "k8s.io/client-go/kubernetes/typed/certificates/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_certificates_v1.Certifi return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_certificates_v1.CertificatesV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_certificates_v1.CertificatesV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_certificates_v1.CertificatesV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) CertificateSigningRequests() k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface { return certificatesigningrequests.WithTracing(c.inner.CertificateSigningRequests(), c.client, "CertificateSigningRequest") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_certificates_v1.CertificatesV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CertificateSigningRequests() k8s_io_client_go_kubernetes_typed_certificates_v1.CertificateSigningRequestInterface { + return certificatesigningrequests.WithLogging(c.inner.CertificateSigningRequests(), c.logger.WithValues("resource", "CertificateSigningRequests")) +} diff --git a/pkg/clients/kube/certificatesv1beta1/certificatesigningrequests/resource.generated.go b/pkg/clients/kube/certificatesv1beta1/certificatesigningrequests/resource.generated.go index fb7d5a9490..750b821a3d 100644 --- a/pkg/clients/kube/certificatesv1beta1/certificatesigningrequests/resource.generated.go +++ b/pkg/clients/kube/certificatesv1beta1/certificatesigningrequests/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_certificates_v1beta1 "k8s.io/api/certificates/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_certificates_v1beta1 "k8s.io/client-go/kubernetes/typed/certificates/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,144 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.Ce return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_certificates_v1beta1.CertificateSigningRequestApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_certificates_v1beta1.CertificateSigningRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_certificates_v1beta1.CertificateSigningRequestApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_certificates_v1beta1.CertificateSigningRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_certificates_v1beta1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_certificates_v1beta1.CertificateSigningRequest, 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_api_certificates_v1beta1.CertificateSigningRequest, 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_api_certificates_v1beta1.CertificateSigningRequestList, 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_api_certificates_v1beta1.CertificateSigningRequest, 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_api_certificates_v1beta1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_certificates_v1beta1.CertificateSigningRequest, 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) UpdateApproval(arg0 context.Context, arg1 *k8s_io_api_certificates_v1beta1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_certificates_v1beta1.CertificateSigningRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateApproval") + ret0, ret1 := c.inner.UpdateApproval(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateApproval failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateApproval done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_certificates_v1beta1.CertificateSigningRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_certificates_v1beta1.CertificateSigningRequest, 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_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/certificatesv1beta1/client.generated.go b/pkg/clients/kube/certificatesv1beta1/client.generated.go index 4e676dbb9c..8e70be850d 100644 --- a/pkg/clients/kube/certificatesv1beta1/client.generated.go +++ b/pkg/clients/kube/certificatesv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" certificatesigningrequests "github.com/kyverno/kyverno/pkg/clients/kube/certificatesv1beta1/certificatesigningrequests" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_certificates_v1beta1 "k8s.io/client-go/kubernetes/typed/certificates/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.Ce return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificatesV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificatesV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificatesV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) CertificateSigningRequests() k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface { return certificatesigningrequests.WithTracing(c.inner.CertificateSigningRequests(), c.client, "CertificateSigningRequest") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificatesV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CertificateSigningRequests() k8s_io_client_go_kubernetes_typed_certificates_v1beta1.CertificateSigningRequestInterface { + return certificatesigningrequests.WithLogging(c.inner.CertificateSigningRequests(), c.logger.WithValues("resource", "CertificateSigningRequests")) +} diff --git a/pkg/clients/kube/clientset.generated.go b/pkg/clients/kube/clientset.generated.go index 1ad2273c36..eacb3d3fc8 100644 --- a/pkg/clients/kube/clientset.generated.go +++ b/pkg/clients/kube/clientset.generated.go @@ -1,6 +1,7 @@ package clientset import ( + "github.com/go-logr/logr" admissionregistrationv1 "github.com/kyverno/kyverno/pkg/clients/kube/admissionregistrationv1" admissionregistrationv1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/admissionregistrationv1beta1" appsv1 "github.com/kyverno/kyverno/pkg/clients/kube/appsv1" @@ -394,3 +395,55 @@ func WrapWithTracing(inner k8s_io_client_go_kubernetes.Interface) k8s_io_client_ storagev1beta1: storagev1beta1.WithTracing(inner.StorageV1beta1(), "StorageV1beta1"), } } + +func WrapWithLogging(inner k8s_io_client_go_kubernetes.Interface, logger logr.Logger) k8s_io_client_go_kubernetes.Interface { + return &clientset{ + discovery: discovery.WithLogging(inner.Discovery(), logger.WithValues("group", "Discovery")), + admissionregistrationv1: admissionregistrationv1.WithLogging(inner.AdmissionregistrationV1(), logger.WithValues("group", "AdmissionregistrationV1")), + admissionregistrationv1beta1: admissionregistrationv1beta1.WithLogging(inner.AdmissionregistrationV1beta1(), logger.WithValues("group", "AdmissionregistrationV1beta1")), + appsv1: appsv1.WithLogging(inner.AppsV1(), logger.WithValues("group", "AppsV1")), + appsv1beta1: appsv1beta1.WithLogging(inner.AppsV1beta1(), logger.WithValues("group", "AppsV1beta1")), + appsv1beta2: appsv1beta2.WithLogging(inner.AppsV1beta2(), logger.WithValues("group", "AppsV1beta2")), + authenticationv1: authenticationv1.WithLogging(inner.AuthenticationV1(), logger.WithValues("group", "AuthenticationV1")), + authenticationv1beta1: authenticationv1beta1.WithLogging(inner.AuthenticationV1beta1(), logger.WithValues("group", "AuthenticationV1beta1")), + authorizationv1: authorizationv1.WithLogging(inner.AuthorizationV1(), logger.WithValues("group", "AuthorizationV1")), + authorizationv1beta1: authorizationv1beta1.WithLogging(inner.AuthorizationV1beta1(), logger.WithValues("group", "AuthorizationV1beta1")), + autoscalingv1: autoscalingv1.WithLogging(inner.AutoscalingV1(), logger.WithValues("group", "AutoscalingV1")), + autoscalingv2: autoscalingv2.WithLogging(inner.AutoscalingV2(), logger.WithValues("group", "AutoscalingV2")), + autoscalingv2beta1: autoscalingv2beta1.WithLogging(inner.AutoscalingV2beta1(), logger.WithValues("group", "AutoscalingV2beta1")), + autoscalingv2beta2: autoscalingv2beta2.WithLogging(inner.AutoscalingV2beta2(), logger.WithValues("group", "AutoscalingV2beta2")), + batchv1: batchv1.WithLogging(inner.BatchV1(), logger.WithValues("group", "BatchV1")), + batchv1beta1: batchv1beta1.WithLogging(inner.BatchV1beta1(), logger.WithValues("group", "BatchV1beta1")), + certificatesv1: certificatesv1.WithLogging(inner.CertificatesV1(), logger.WithValues("group", "CertificatesV1")), + certificatesv1beta1: certificatesv1beta1.WithLogging(inner.CertificatesV1beta1(), logger.WithValues("group", "CertificatesV1beta1")), + coordinationv1: coordinationv1.WithLogging(inner.CoordinationV1(), logger.WithValues("group", "CoordinationV1")), + coordinationv1beta1: coordinationv1beta1.WithLogging(inner.CoordinationV1beta1(), logger.WithValues("group", "CoordinationV1beta1")), + corev1: corev1.WithLogging(inner.CoreV1(), logger.WithValues("group", "CoreV1")), + discoveryv1: discoveryv1.WithLogging(inner.DiscoveryV1(), logger.WithValues("group", "DiscoveryV1")), + discoveryv1beta1: discoveryv1beta1.WithLogging(inner.DiscoveryV1beta1(), logger.WithValues("group", "DiscoveryV1beta1")), + eventsv1: eventsv1.WithLogging(inner.EventsV1(), logger.WithValues("group", "EventsV1")), + eventsv1beta1: eventsv1beta1.WithLogging(inner.EventsV1beta1(), logger.WithValues("group", "EventsV1beta1")), + extensionsv1beta1: extensionsv1beta1.WithLogging(inner.ExtensionsV1beta1(), logger.WithValues("group", "ExtensionsV1beta1")), + flowcontrolv1alpha1: flowcontrolv1alpha1.WithLogging(inner.FlowcontrolV1alpha1(), logger.WithValues("group", "FlowcontrolV1alpha1")), + flowcontrolv1beta1: flowcontrolv1beta1.WithLogging(inner.FlowcontrolV1beta1(), logger.WithValues("group", "FlowcontrolV1beta1")), + flowcontrolv1beta2: flowcontrolv1beta2.WithLogging(inner.FlowcontrolV1beta2(), logger.WithValues("group", "FlowcontrolV1beta2")), + internalv1alpha1: internalv1alpha1.WithLogging(inner.InternalV1alpha1(), logger.WithValues("group", "InternalV1alpha1")), + networkingv1: networkingv1.WithLogging(inner.NetworkingV1(), logger.WithValues("group", "NetworkingV1")), + networkingv1alpha1: networkingv1alpha1.WithLogging(inner.NetworkingV1alpha1(), logger.WithValues("group", "NetworkingV1alpha1")), + networkingv1beta1: networkingv1beta1.WithLogging(inner.NetworkingV1beta1(), logger.WithValues("group", "NetworkingV1beta1")), + nodev1: nodev1.WithLogging(inner.NodeV1(), logger.WithValues("group", "NodeV1")), + nodev1alpha1: nodev1alpha1.WithLogging(inner.NodeV1alpha1(), logger.WithValues("group", "NodeV1alpha1")), + nodev1beta1: nodev1beta1.WithLogging(inner.NodeV1beta1(), logger.WithValues("group", "NodeV1beta1")), + policyv1: policyv1.WithLogging(inner.PolicyV1(), logger.WithValues("group", "PolicyV1")), + policyv1beta1: policyv1beta1.WithLogging(inner.PolicyV1beta1(), logger.WithValues("group", "PolicyV1beta1")), + rbacv1: rbacv1.WithLogging(inner.RbacV1(), logger.WithValues("group", "RbacV1")), + rbacv1alpha1: rbacv1alpha1.WithLogging(inner.RbacV1alpha1(), logger.WithValues("group", "RbacV1alpha1")), + rbacv1beta1: rbacv1beta1.WithLogging(inner.RbacV1beta1(), logger.WithValues("group", "RbacV1beta1")), + schedulingv1: schedulingv1.WithLogging(inner.SchedulingV1(), logger.WithValues("group", "SchedulingV1")), + schedulingv1alpha1: schedulingv1alpha1.WithLogging(inner.SchedulingV1alpha1(), logger.WithValues("group", "SchedulingV1alpha1")), + schedulingv1beta1: schedulingv1beta1.WithLogging(inner.SchedulingV1beta1(), logger.WithValues("group", "SchedulingV1beta1")), + storagev1: storagev1.WithLogging(inner.StorageV1(), logger.WithValues("group", "StorageV1")), + storagev1alpha1: storagev1alpha1.WithLogging(inner.StorageV1alpha1(), logger.WithValues("group", "StorageV1alpha1")), + storagev1beta1: storagev1beta1.WithLogging(inner.StorageV1beta1(), logger.WithValues("group", "StorageV1beta1")), + } +} diff --git a/pkg/clients/kube/coordinationv1/client.generated.go b/pkg/clients/kube/coordinationv1/client.generated.go index c8b726da52..a6e0f2e803 100644 --- a/pkg/clients/kube/coordinationv1/client.generated.go +++ b/pkg/clients/kube/coordinationv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" leases "github.com/kyverno/kyverno/pkg/clients/kube/coordinationv1/leases" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_coordination_v1 "k8s.io/client-go/kubernetes/typed/coordination/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_coordination_v1.Coordin return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_coordination_v1.CoordinationV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_coordination_v1.CoordinationV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_coordination_v1.CoordinationV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) Leases(namespace string) k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface { return leases.WithTracing(c.inner.Leases(namespace), c.client, "Lease") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_coordination_v1.CoordinationV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) Leases(namespace string) k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface { + return leases.WithLogging(c.inner.Leases(namespace), c.logger.WithValues("resource", "Leases").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/coordinationv1/leases/resource.generated.go b/pkg/clients/kube/coordinationv1/leases/resource.generated.go index a3209e612a..016e05132d 100644 --- a/pkg/clients/kube/coordinationv1/leases/resource.generated.go +++ b/pkg/clients/kube/coordinationv1/leases/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_coordination_v1 "k8s.io/api/coordination/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_coordination_v1 "k8s.io/client-go/kubernetes/typed/coordination/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseIn return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_coordination_v1.LeaseInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_coordination_v1.LeaseApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_coordination_v1.Lease, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_coordination_v1.Lease, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_coordination_v1.Lease, 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_api_coordination_v1.Lease, 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_api_coordination_v1.LeaseList, 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_api_coordination_v1.Lease, 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_api_coordination_v1.Lease, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_coordination_v1.Lease, 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) 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_client_go_kubernetes_typed_coordination_v1.LeaseInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/coordinationv1beta1/client.generated.go b/pkg/clients/kube/coordinationv1beta1/client.generated.go index adf9254d05..d586aaafe0 100644 --- a/pkg/clients/kube/coordinationv1beta1/client.generated.go +++ b/pkg/clients/kube/coordinationv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" leases "github.com/kyverno/kyverno/pkg/clients/kube/coordinationv1beta1/leases" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_coordination_v1beta1 "k8s.io/client-go/kubernetes/typed/coordination/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.Co return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.CoordinationV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_coordination_v1beta1.CoordinationV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.CoordinationV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) Leases(namespace string) k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface { return leases.WithTracing(c.inner.Leases(namespace), c.client, "Lease") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.CoordinationV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) Leases(namespace string) k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface { + return leases.WithLogging(c.inner.Leases(namespace), c.logger.WithValues("resource", "Leases").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/coordinationv1beta1/leases/resource.generated.go b/pkg/clients/kube/coordinationv1beta1/leases/resource.generated.go index 7ab3b918d9..6b96166e90 100644 --- a/pkg/clients/kube/coordinationv1beta1/leases/resource.generated.go +++ b/pkg/clients/kube/coordinationv1beta1/leases/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_coordination_v1beta1 "k8s.io/api/coordination/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_coordination_v1beta1 "k8s.io/client-go/kubernetes/typed/coordination/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.Le return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_coordination_v1beta1.LeaseApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_coordination_v1beta1.Lease, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_coordination_v1beta1.Lease, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_coordination_v1beta1.Lease, 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_api_coordination_v1beta1.Lease, 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_api_coordination_v1beta1.LeaseList, 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_api_coordination_v1beta1.Lease, 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_api_coordination_v1beta1.Lease, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_coordination_v1beta1.Lease, 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) 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_client_go_kubernetes_typed_coordination_v1beta1.LeaseInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/client.generated.go b/pkg/clients/kube/corev1/client.generated.go index da22882289..99815082f1 100644 --- a/pkg/clients/kube/corev1/client.generated.go +++ b/pkg/clients/kube/corev1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" componentstatuses "github.com/kyverno/kyverno/pkg/clients/kube/corev1/componentstatuses" configmaps "github.com/kyverno/kyverno/pkg/clients/kube/corev1/configmaps" endpoints "github.com/kyverno/kyverno/pkg/clients/kube/corev1/endpoints" @@ -30,6 +31,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface metrics metrics.MetricsConfigManager @@ -160,3 +165,60 @@ func (c *withTracing) ServiceAccounts(namespace string) k8s_io_client_go_kuberne func (c *withTracing) Services(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface { return services.WithTracing(c.inner.Services(namespace), c.client, "Service") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ComponentStatuses() k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface { + return componentstatuses.WithLogging(c.inner.ComponentStatuses(), c.logger.WithValues("resource", "ComponentStatuses")) +} +func (c *withLogging) ConfigMaps(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface { + return configmaps.WithLogging(c.inner.ConfigMaps(namespace), c.logger.WithValues("resource", "ConfigMaps").WithValues("namespace", namespace)) +} +func (c *withLogging) Endpoints(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface { + return endpoints.WithLogging(c.inner.Endpoints(namespace), c.logger.WithValues("resource", "Endpoints").WithValues("namespace", namespace)) +} +func (c *withLogging) Events(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.EventInterface { + return events.WithLogging(c.inner.Events(namespace), c.logger.WithValues("resource", "Events").WithValues("namespace", namespace)) +} +func (c *withLogging) LimitRanges(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface { + return limitranges.WithLogging(c.inner.LimitRanges(namespace), c.logger.WithValues("resource", "LimitRanges").WithValues("namespace", namespace)) +} +func (c *withLogging) Namespaces() k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface { + return namespaces.WithLogging(c.inner.Namespaces(), c.logger.WithValues("resource", "Namespaces")) +} +func (c *withLogging) Nodes() k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface { + return nodes.WithLogging(c.inner.Nodes(), c.logger.WithValues("resource", "Nodes")) +} +func (c *withLogging) PersistentVolumeClaims(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface { + return persistentvolumeclaims.WithLogging(c.inner.PersistentVolumeClaims(namespace), c.logger.WithValues("resource", "PersistentVolumeClaims").WithValues("namespace", namespace)) +} +func (c *withLogging) PersistentVolumes() k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface { + return persistentvolumes.WithLogging(c.inner.PersistentVolumes(), c.logger.WithValues("resource", "PersistentVolumes")) +} +func (c *withLogging) PodTemplates(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface { + return podtemplates.WithLogging(c.inner.PodTemplates(namespace), c.logger.WithValues("resource", "PodTemplates").WithValues("namespace", namespace)) +} +func (c *withLogging) Pods(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PodInterface { + return pods.WithLogging(c.inner.Pods(namespace), c.logger.WithValues("resource", "Pods").WithValues("namespace", namespace)) +} +func (c *withLogging) ReplicationControllers(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface { + return replicationcontrollers.WithLogging(c.inner.ReplicationControllers(namespace), c.logger.WithValues("resource", "ReplicationControllers").WithValues("namespace", namespace)) +} +func (c *withLogging) ResourceQuotas(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface { + return resourcequotas.WithLogging(c.inner.ResourceQuotas(namespace), c.logger.WithValues("resource", "ResourceQuotas").WithValues("namespace", namespace)) +} +func (c *withLogging) Secrets(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface { + return secrets.WithLogging(c.inner.Secrets(namespace), c.logger.WithValues("resource", "Secrets").WithValues("namespace", namespace)) +} +func (c *withLogging) ServiceAccounts(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface { + return serviceaccounts.WithLogging(c.inner.ServiceAccounts(namespace), c.logger.WithValues("resource", "ServiceAccounts").WithValues("namespace", namespace)) +} +func (c *withLogging) Services(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface { + return services.WithLogging(c.inner.Services(namespace), c.logger.WithValues("resource", "Services").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/corev1/componentstatuses/resource.generated.go b/pkg/clients/kube/corev1/componentstatuses/resource.generated.go index c2f5916591..f182a7ba77 100644 --- a/pkg/clients/kube/corev1/componentstatuses/resource.generated.go +++ b/pkg/clients/kube/corev1/componentstatuses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatus return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ComponentStatusApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ComponentStatus, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.ComponentStatus, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.ComponentStatus, 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_api_core_v1.ComponentStatus, 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_api_core_v1.ComponentStatusList, 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_api_core_v1.ComponentStatus, 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_api_core_v1.ComponentStatus, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ComponentStatus, 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) 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_client_go_kubernetes_typed_core_v1.ComponentStatusInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/configmaps/resource.generated.go b/pkg/clients/kube/corev1/configmaps/resource.generated.go index d154db4699..5f362c9f96 100644 --- a/pkg/clients/kube/corev1/configmaps/resource.generated.go +++ b/pkg/clients/kube/corev1/configmaps/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterf return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ConfigMapApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ConfigMap, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.ConfigMap, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.ConfigMap, 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_api_core_v1.ConfigMap, 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_api_core_v1.ConfigMapList, 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_api_core_v1.ConfigMap, 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_api_core_v1.ConfigMap, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ConfigMap, 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) 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_client_go_kubernetes_typed_core_v1.ConfigMapInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/endpoints/resource.generated.go b/pkg/clients/kube/corev1/endpoints/resource.generated.go index 17a2945486..1d5e3505f5 100644 --- a/pkg/clients/kube/corev1/endpoints/resource.generated.go +++ b/pkg/clients/kube/corev1/endpoints/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterf return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.EndpointsApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Endpoints, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Endpoints, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Endpoints, 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_api_core_v1.Endpoints, 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_api_core_v1.EndpointsList, 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_api_core_v1.Endpoints, 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_api_core_v1.Endpoints, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Endpoints, 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) 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_client_go_kubernetes_typed_core_v1.EndpointsInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/events/resource.generated.go b/pkg/clients/kube/corev1/events/resource.generated.go index 8b9e98d560..72b30a2331 100644 --- a/pkg/clients/kube/corev1/events/resource.generated.go +++ b/pkg/clients/kube/corev1/events/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_fields "k8s.io/apimachinery/pkg/fields" @@ -18,6 +21,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.EventInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.EventInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.EventInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.EventInterface { return &withMetrics{inner, recorder} } @@ -26,6 +33,162 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.EventInterface, return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.EventInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.EventApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Event, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Event, 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) CreateWithEventNamespace(arg0 *k8s_io_api_core_v1.Event) (*k8s_io_api_core_v1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "CreateWithEventNamespace") + ret0, ret1 := c.inner.CreateWithEventNamespace(arg0) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "CreateWithEventNamespace failed", "duration", time.Since(start)) + } else { + logger.Info("CreateWithEventNamespace 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_api_core_v1.Event, 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) GetFieldSelector(arg0 *string, arg1 *string, arg2 *string, arg3 *string) k8s_io_apimachinery_pkg_fields.Selector { + start := time.Now() + logger := c.logger.WithValues("operation", "GetFieldSelector") + ret0 := c.inner.GetFieldSelector(arg0, arg1, arg2, arg3) + logger.Info("GetFieldSelector done", "duration", time.Since(start)) + return ret0 +} +func (c *withLogging) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_api_core_v1.EventList, 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_api_core_v1.Event, 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) PatchWithEventNamespace(arg0 *k8s_io_api_core_v1.Event, arg1 []uint8) (*k8s_io_api_core_v1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "PatchWithEventNamespace") + ret0, ret1 := c.inner.PatchWithEventNamespace(arg0, arg1) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "PatchWithEventNamespace failed", "duration", time.Since(start)) + } else { + logger.Info("PatchWithEventNamespace done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Search(arg0 *k8s_io_apimachinery_pkg_runtime.Scheme, arg1 k8s_io_apimachinery_pkg_runtime.Object) (*k8s_io_api_core_v1.EventList, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Search") + ret0, ret1 := c.inner.Search(arg0, arg1) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Search failed", "duration", time.Since(start)) + } else { + logger.Info("Search done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_api_core_v1.Event, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Event, 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) UpdateWithEventNamespace(arg0 *k8s_io_api_core_v1.Event) (*k8s_io_api_core_v1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateWithEventNamespace") + ret0, ret1 := c.inner.UpdateWithEventNamespace(arg0) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateWithEventNamespace failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateWithEventNamespace 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_client_go_kubernetes_typed_core_v1.EventInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/limitranges/resource.generated.go b/pkg/clients/kube/corev1/limitranges/resource.generated.go index d2aee2e023..b9ae209857 100644 --- a/pkg/clients/kube/corev1/limitranges/resource.generated.go +++ b/pkg/clients/kube/corev1/limitranges/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInter return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.LimitRangeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.LimitRange, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.LimitRange, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.LimitRange, 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_api_core_v1.LimitRange, 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_api_core_v1.LimitRangeList, 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_api_core_v1.LimitRange, 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_api_core_v1.LimitRange, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.LimitRange, 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) 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_client_go_kubernetes_typed_core_v1.LimitRangeInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/namespaces/resource.generated.go b/pkg/clients/kube/corev1/namespaces/resource.generated.go index 9c8f8a4ee0..617d20105d 100644 --- a/pkg/clients/kube/corev1/namespaces/resource.generated.go +++ b/pkg/clients/kube/corev1/namespaces/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterf return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.NamespaceApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Namespace, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.NamespaceApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Namespace, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Namespace, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Namespace, 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) Finalize(arg0 context.Context, arg1 *k8s_io_api_core_v1.Namespace, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Namespace, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Finalize") + ret0, ret1 := c.inner.Finalize(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Finalize failed", "duration", time.Since(start)) + } else { + logger.Info("Finalize done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_core_v1.Namespace, 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_api_core_v1.NamespaceList, 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_api_core_v1.Namespace, 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_api_core_v1.Namespace, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Namespace, 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_api_core_v1.Namespace, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Namespace, 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_client_go_kubernetes_typed_core_v1.NamespaceInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/nodes/resource.generated.go b/pkg/clients/kube/corev1/nodes/resource.generated.go index b7afdf7343..986725f440 100644 --- a/pkg/clients/kube/corev1/nodes/resource.generated.go +++ b/pkg/clients/kube/corev1/nodes/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,144 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface, return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.NodeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Node, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.NodeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Node, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Node, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Node, 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_api_core_v1.Node, 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_api_core_v1.NodeList, 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_api_core_v1.Node, 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) PatchStatus(arg0 context.Context, arg1 string, arg2 []uint8) (*k8s_io_api_core_v1.Node, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "PatchStatus") + ret0, ret1 := c.inner.PatchStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "PatchStatus failed", "duration", time.Since(start)) + } else { + logger.Info("PatchStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_api_core_v1.Node, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Node, 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_api_core_v1.Node, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Node, 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_client_go_kubernetes_typed_core_v1.NodeInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/persistentvolumeclaims/resource.generated.go b/pkg/clients/kube/corev1/persistentvolumeclaims/resource.generated.go index ee2be339ca..e0bed5610d 100644 --- a/pkg/clients/kube/corev1/persistentvolumeclaims/resource.generated.go +++ b/pkg/clients/kube/corev1/persistentvolumeclaims/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolum return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PersistentVolumeClaimApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.PersistentVolumeClaim, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PersistentVolumeClaimApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.PersistentVolumeClaim, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.PersistentVolumeClaim, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.PersistentVolumeClaim, 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_api_core_v1.PersistentVolumeClaim, 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_api_core_v1.PersistentVolumeClaimList, 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_api_core_v1.PersistentVolumeClaim, 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_api_core_v1.PersistentVolumeClaim, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.PersistentVolumeClaim, 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_api_core_v1.PersistentVolumeClaim, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.PersistentVolumeClaim, 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_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/persistentvolumes/resource.generated.go b/pkg/clients/kube/corev1/persistentvolumes/resource.generated.go index 43bb2c4280..8ef9531bfb 100644 --- a/pkg/clients/kube/corev1/persistentvolumes/resource.generated.go +++ b/pkg/clients/kube/corev1/persistentvolumes/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolum return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PersistentVolumeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.PersistentVolume, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PersistentVolumeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.PersistentVolume, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.PersistentVolume, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.PersistentVolume, 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_api_core_v1.PersistentVolume, 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_api_core_v1.PersistentVolumeList, 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_api_core_v1.PersistentVolume, 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_api_core_v1.PersistentVolume, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.PersistentVolume, 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_api_core_v1.PersistentVolume, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.PersistentVolume, 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_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/pods/resource.generated.go b/pkg/clients/kube/corev1/pods/resource.generated.go index 1295dde889..9470cf32d0 100644 --- a/pkg/clients/kube/corev1/pods/resource.generated.go +++ b/pkg/clients/kube/corev1/pods/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/v1" k8s_io_api_policy_v1 "k8s.io/api/policy/v1" k8s_io_api_policy_v1beta1 "k8s.io/api/policy/v1beta1" @@ -19,6 +22,10 @@ import ( k8s_io_client_go_rest "k8s.io/client-go/rest" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.PodInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.PodInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.PodInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.PodInterface { return &withMetrics{inner, recorder} } @@ -27,6 +34,202 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.PodInterface, c return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.PodInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PodApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Pod, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PodApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Pod, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Bind(arg0 context.Context, arg1 *k8s_io_api_core_v1.Binding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Bind") + ret0 := c.inner.Bind(arg0, arg1, arg2) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "Bind failed", "duration", time.Since(start)) + } else { + logger.Info("Bind done", "duration", time.Since(start)) + } + return ret0 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Pod, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Pod, 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) Evict(arg0 context.Context, arg1 *k8s_io_api_policy_v1beta1.Eviction) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Evict") + ret0 := c.inner.Evict(arg0, arg1) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "Evict failed", "duration", time.Since(start)) + } else { + logger.Info("Evict done", "duration", time.Since(start)) + } + return ret0 +} +func (c *withLogging) EvictV1(arg0 context.Context, arg1 *k8s_io_api_policy_v1.Eviction) error { + start := time.Now() + logger := c.logger.WithValues("operation", "EvictV1") + ret0 := c.inner.EvictV1(arg0, arg1) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "EvictV1 failed", "duration", time.Since(start)) + } else { + logger.Info("EvictV1 done", "duration", time.Since(start)) + } + return ret0 +} +func (c *withLogging) EvictV1beta1(arg0 context.Context, arg1 *k8s_io_api_policy_v1beta1.Eviction) error { + start := time.Now() + logger := c.logger.WithValues("operation", "EvictV1beta1") + ret0 := c.inner.EvictV1beta1(arg0, arg1) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "EvictV1beta1 failed", "duration", time.Since(start)) + } else { + logger.Info("EvictV1beta1 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_api_core_v1.Pod, 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) GetLogs(arg0 string, arg1 *k8s_io_api_core_v1.PodLogOptions) *k8s_io_client_go_rest.Request { + start := time.Now() + logger := c.logger.WithValues("operation", "GetLogs") + ret0 := c.inner.GetLogs(arg0, arg1) + logger.Info("GetLogs done", "duration", time.Since(start)) + return ret0 +} +func (c *withLogging) List(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (*k8s_io_api_core_v1.PodList, 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_api_core_v1.Pod, 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) ProxyGet(arg0 string, arg1 string, arg2 string, arg3 string, arg4 map[string]string) k8s_io_client_go_rest.ResponseWrapper { + start := time.Now() + logger := c.logger.WithValues("operation", "ProxyGet") + ret0 := c.inner.ProxyGet(arg0, arg1, arg2, arg3, arg4) + logger.Info("ProxyGet done", "duration", time.Since(start)) + return ret0 +} +func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_api_core_v1.Pod, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Pod, 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) UpdateEphemeralContainers(arg0 context.Context, arg1 string, arg2 *k8s_io_api_core_v1.Pod, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Pod, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateEphemeralContainers") + ret0, ret1 := c.inner.UpdateEphemeralContainers(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateEphemeralContainers failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateEphemeralContainers done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_core_v1.Pod, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Pod, 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_client_go_kubernetes_typed_core_v1.PodInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/podtemplates/resource.generated.go b/pkg/clients/kube/corev1/podtemplates/resource.generated.go index 8a68061dbc..29fc7cfd8e 100644 --- a/pkg/clients/kube/corev1/podtemplates/resource.generated.go +++ b/pkg/clients/kube/corev1/podtemplates/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInte return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.PodTemplateApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.PodTemplate, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.PodTemplate, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.PodTemplate, 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_api_core_v1.PodTemplate, 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_api_core_v1.PodTemplateList, 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_api_core_v1.PodTemplate, 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_api_core_v1.PodTemplate, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.PodTemplate, 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) 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_client_go_kubernetes_typed_core_v1.PodTemplateInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/replicationcontrollers/resource.generated.go b/pkg/clients/kube/corev1/replicationcontrollers/resource.generated.go index b58a0214af..dd6ef7b8a9 100644 --- a/pkg/clients/kube/corev1/replicationcontrollers/resource.generated.go +++ b/pkg/clients/kube/corev1/replicationcontrollers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_autoscaling_v1 "k8s.io/api/autoscaling/v1" k8s_io_api_core_v1 "k8s.io/api/core/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -17,6 +20,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface { return &withMetrics{inner, recorder} } @@ -25,6 +32,155 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.ReplicationCont return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ReplicationControllerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ReplicationController, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ReplicationControllerApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ReplicationController, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.ReplicationController, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.ReplicationController, 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_api_core_v1.ReplicationController, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_core_v1.ReplicationControllerList, 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_api_core_v1.ReplicationController, 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_api_core_v1.ReplicationController, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ReplicationController, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_autoscaling_v1.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_autoscaling_v1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_core_v1.ReplicationController, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ReplicationController, 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_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/resourcequotas/resource.generated.go b/pkg/clients/kube/corev1/resourcequotas/resource.generated.go index 264137cf5e..edd12887d7 100644 --- a/pkg/clients/kube/corev1/resourcequotas/resource.generated.go +++ b/pkg/clients/kube/corev1/resourcequotas/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaIn return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ResourceQuotaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ResourceQuota, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ResourceQuotaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ResourceQuota, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.ResourceQuota, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.ResourceQuota, 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_api_core_v1.ResourceQuota, 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_api_core_v1.ResourceQuotaList, 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_api_core_v1.ResourceQuota, 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_api_core_v1.ResourceQuota, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ResourceQuota, 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_api_core_v1.ResourceQuota, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ResourceQuota, 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_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/secrets/resource.generated.go b/pkg/clients/kube/corev1/secrets/resource.generated.go index e58ad8f21e..05a1f81bc8 100644 --- a/pkg/clients/kube/corev1/secrets/resource.generated.go +++ b/pkg/clients/kube/corev1/secrets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.SecretApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Secret, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Secret, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Secret, 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_api_core_v1.Secret, 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_api_core_v1.SecretList, 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_api_core_v1.Secret, 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_api_core_v1.Secret, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Secret, 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) 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_client_go_kubernetes_typed_core_v1.SecretInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/serviceaccounts/resource.generated.go b/pkg/clients/kube/corev1/serviceaccounts/resource.generated.go index e1e1b02bad..12168a9a7e 100644 --- a/pkg/clients/kube/corev1/serviceaccounts/resource.generated.go +++ b/pkg/clients/kube/corev1/serviceaccounts/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_authentication_v1 "k8s.io/api/authentication/v1" k8s_io_api_core_v1 "k8s.io/api/core/v1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -17,6 +20,10 @@ import ( k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface { return &withMetrics{inner, recorder} } @@ -25,6 +32,122 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountI return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ServiceAccountApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.ServiceAccount, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.ServiceAccount, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.ServiceAccount, 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) CreateToken(arg0 context.Context, arg1 string, arg2 *k8s_io_api_authentication_v1.TokenRequest, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_authentication_v1.TokenRequest, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "CreateToken") + ret0, ret1 := c.inner.CreateToken(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "CreateToken failed", "duration", time.Since(start)) + } else { + logger.Info("CreateToken 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_api_core_v1.ServiceAccount, 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_api_core_v1.ServiceAccountList, 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_api_core_v1.ServiceAccount, 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_api_core_v1.ServiceAccount, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.ServiceAccount, 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) 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_client_go_kubernetes_typed_core_v1.ServiceAccountInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/corev1/services/resource.generated.go b/pkg/clients/kube/corev1/services/resource.generated.go index df0948ba5c..d34d057494 100644 --- a/pkg/clients/kube/corev1/services/resource.generated.go +++ b/pkg/clients/kube/corev1/services/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_core_v1 "k8s.io/api/core/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" @@ -17,6 +20,10 @@ import ( k8s_io_client_go_rest "k8s.io/client-go/rest" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface { return &withMetrics{inner, recorder} } @@ -25,6 +32,129 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterfac return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ServiceApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Service, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_core_v1.ServiceApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_core_v1.Service, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Service, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_core_v1.Service, 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) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_core_v1.Service, 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_api_core_v1.ServiceList, 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_api_core_v1.Service, 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) ProxyGet(arg0 string, arg1 string, arg2 string, arg3 string, arg4 map[string]string) k8s_io_client_go_rest.ResponseWrapper { + start := time.Now() + logger := c.logger.WithValues("operation", "ProxyGet") + ret0 := c.inner.ProxyGet(arg0, arg1, arg2, arg3, arg4) + logger.Info("ProxyGet done", "duration", time.Since(start)) + return ret0 +} +func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_api_core_v1.Service, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Service, 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_api_core_v1.Service, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_core_v1.Service, 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_client_go_kubernetes_typed_core_v1.ServiceInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/discovery/resource.generated.go b/pkg/clients/kube/discovery/resource.generated.go index 5ad240046d..d7b535d72f 100644 --- a/pkg/clients/kube/discovery/resource.generated.go +++ b/pkg/clients/kube/discovery/resource.generated.go @@ -3,12 +3,15 @@ package resource import ( "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_google_gnostic_openapiv2 "github.com/google/gnostic/openapiv2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" @@ -16,6 +19,10 @@ import ( 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} } @@ -24,6 +31,103 @@ func WithTracing(inner k8s_io_client_go_discovery.DiscoveryInterface, client, ki 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 +} + type withMetrics struct { inner k8s_io_client_go_discovery.DiscoveryInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/discoveryv1/client.generated.go b/pkg/clients/kube/discoveryv1/client.generated.go index 3d78965d4c..253715beb6 100644 --- a/pkg/clients/kube/discoveryv1/client.generated.go +++ b/pkg/clients/kube/discoveryv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" endpointslices "github.com/kyverno/kyverno/pkg/clients/kube/discoveryv1/endpointslices" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_discovery_v1 "k8s.io/client-go/kubernetes/typed/discovery/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_discovery_v1.DiscoveryV return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_discovery_v1.DiscoveryV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_discovery_v1.DiscoveryV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_discovery_v1.DiscoveryV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) EndpointSlices(namespace string) k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface { return endpointslices.WithTracing(c.inner.EndpointSlices(namespace), c.client, "EndpointSlice") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_discovery_v1.DiscoveryV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) EndpointSlices(namespace string) k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface { + return endpointslices.WithLogging(c.inner.EndpointSlices(namespace), c.logger.WithValues("resource", "EndpointSlices").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/discoveryv1/endpointslices/resource.generated.go b/pkg/clients/kube/discoveryv1/endpointslices/resource.generated.go index 7006a20eac..fa071878d7 100644 --- a/pkg/clients/kube/discoveryv1/endpointslices/resource.generated.go +++ b/pkg/clients/kube/discoveryv1/endpointslices/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_discovery_v1 "k8s.io/api/discovery/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_discovery_v1 "k8s.io/client-go/kubernetes/typed/discovery/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSl return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_discovery_v1.EndpointSliceApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_discovery_v1.EndpointSlice, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_discovery_v1.EndpointSlice, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_discovery_v1.EndpointSlice, 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_api_discovery_v1.EndpointSlice, 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_api_discovery_v1.EndpointSliceList, 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_api_discovery_v1.EndpointSlice, 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_api_discovery_v1.EndpointSlice, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_discovery_v1.EndpointSlice, 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) 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_client_go_kubernetes_typed_discovery_v1.EndpointSliceInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/discoveryv1beta1/client.generated.go b/pkg/clients/kube/discoveryv1beta1/client.generated.go index 254a467416..f9e24b7a56 100644 --- a/pkg/clients/kube/discoveryv1beta1/client.generated.go +++ b/pkg/clients/kube/discoveryv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" endpointslices "github.com/kyverno/kyverno/pkg/clients/kube/discoveryv1beta1/endpointslices" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_discovery_v1beta1 "k8s.io/client-go/kubernetes/typed/discovery/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.Disco return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.DiscoveryV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_discovery_v1beta1.DiscoveryV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.DiscoveryV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) EndpointSlices(namespace string) k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface { return endpointslices.WithTracing(c.inner.EndpointSlices(namespace), c.client, "EndpointSlice") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.DiscoveryV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) EndpointSlices(namespace string) k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface { + return endpointslices.WithLogging(c.inner.EndpointSlices(namespace), c.logger.WithValues("resource", "EndpointSlices").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/discoveryv1beta1/endpointslices/resource.generated.go b/pkg/clients/kube/discoveryv1beta1/endpointslices/resource.generated.go index 2f33f7d5ef..744eaf1f22 100644 --- a/pkg/clients/kube/discoveryv1beta1/endpointslices/resource.generated.go +++ b/pkg/clients/kube/discoveryv1beta1/endpointslices/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_discovery_v1beta1 "k8s.io/api/discovery/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_discovery_v1beta1 "k8s.io/client-go/kubernetes/typed/discovery/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.Endpo return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_discovery_v1beta1.EndpointSliceApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_discovery_v1beta1.EndpointSlice, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_discovery_v1beta1.EndpointSlice, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_discovery_v1beta1.EndpointSlice, 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_api_discovery_v1beta1.EndpointSlice, 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_api_discovery_v1beta1.EndpointSliceList, 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_api_discovery_v1beta1.EndpointSlice, 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_api_discovery_v1beta1.EndpointSlice, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_discovery_v1beta1.EndpointSlice, 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) 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_client_go_kubernetes_typed_discovery_v1beta1.EndpointSliceInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/eventsv1/client.generated.go b/pkg/clients/kube/eventsv1/client.generated.go index 5632a872f3..434b8b89bf 100644 --- a/pkg/clients/kube/eventsv1/client.generated.go +++ b/pkg/clients/kube/eventsv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" events "github.com/kyverno/kyverno/pkg/clients/kube/eventsv1/events" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_events_v1 "k8s.io/client-go/kubernetes/typed/events/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_events_v1.EventsV1Inter return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_events_v1.EventsV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_events_v1.EventsV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_events_v1.EventsV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) Events(namespace string) k8s_io_client_go_kubernetes_typed_events_v1.EventInterface { return events.WithTracing(c.inner.Events(namespace), c.client, "Event") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_events_v1.EventsV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) Events(namespace string) k8s_io_client_go_kubernetes_typed_events_v1.EventInterface { + return events.WithLogging(c.inner.Events(namespace), c.logger.WithValues("resource", "Events").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/eventsv1/events/resource.generated.go b/pkg/clients/kube/eventsv1/events/resource.generated.go index e850e0d84d..8a1160b52b 100644 --- a/pkg/clients/kube/eventsv1/events/resource.generated.go +++ b/pkg/clients/kube/eventsv1/events/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_events_v1 "k8s.io/api/events/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_events_v1 "k8s.io/client-go/kubernetes/typed/events/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_events_v1.EventInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_events_v1.EventInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_events_v1.EventInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_events_v1.EventInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_events_v1.EventInterfac return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_events_v1.EventInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_events_v1.EventApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_events_v1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_events_v1.Event, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_events_v1.Event, 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_api_events_v1.Event, 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_api_events_v1.EventList, 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_api_events_v1.Event, 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_api_events_v1.Event, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_events_v1.Event, 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) 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_client_go_kubernetes_typed_events_v1.EventInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/eventsv1beta1/client.generated.go b/pkg/clients/kube/eventsv1beta1/client.generated.go index 87297912e5..349aef6c8e 100644 --- a/pkg/clients/kube/eventsv1beta1/client.generated.go +++ b/pkg/clients/kube/eventsv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" events "github.com/kyverno/kyverno/pkg/clients/kube/eventsv1beta1/events" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_events_v1beta1 "k8s.io/client-go/kubernetes/typed/events/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventsV1 return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventsV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_events_v1beta1.EventsV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventsV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) Events(namespace string) k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface { return events.WithTracing(c.inner.Events(namespace), c.client, "Event") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventsV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) Events(namespace string) k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface { + return events.WithLogging(c.inner.Events(namespace), c.logger.WithValues("resource", "Events").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/eventsv1beta1/events/resource.generated.go b/pkg/clients/kube/eventsv1beta1/events/resource.generated.go index a7c0467a46..77afe9a062 100644 --- a/pkg/clients/kube/eventsv1beta1/events/resource.generated.go +++ b/pkg/clients/kube/eventsv1beta1/events/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_events_v1beta1 "k8s.io/api/events/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_events_v1beta1 "k8s.io/client-go/kubernetes/typed/events/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,144 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInt return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_events_v1beta1.EventInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_events_v1beta1.EventApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_events_v1beta1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_events_v1beta1.Event, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_events_v1beta1.Event, 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) CreateWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event) (*k8s_io_api_events_v1beta1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "CreateWithEventNamespace") + ret0, ret1 := c.inner.CreateWithEventNamespace(arg0) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "CreateWithEventNamespace failed", "duration", time.Since(start)) + } else { + logger.Info("CreateWithEventNamespace 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_api_events_v1beta1.Event, 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_api_events_v1beta1.EventList, 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_api_events_v1beta1.Event, 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) PatchWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event, arg1 []uint8) (*k8s_io_api_events_v1beta1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "PatchWithEventNamespace") + ret0, ret1 := c.inner.PatchWithEventNamespace(arg0, arg1) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "PatchWithEventNamespace failed", "duration", time.Since(start)) + } else { + logger.Info("PatchWithEventNamespace done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_api_events_v1beta1.Event, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_events_v1beta1.Event, 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) UpdateWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event) (*k8s_io_api_events_v1beta1.Event, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateWithEventNamespace") + ret0, ret1 := c.inner.UpdateWithEventNamespace(arg0) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateWithEventNamespace failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateWithEventNamespace 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_client_go_kubernetes_typed_events_v1beta1.EventInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/extensionsv1beta1/client.generated.go b/pkg/clients/kube/extensionsv1beta1/client.generated.go index 86e11195d3..1c53ccc84d 100644 --- a/pkg/clients/kube/extensionsv1beta1/client.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" daemonsets "github.com/kyverno/kyverno/pkg/clients/kube/extensionsv1beta1/daemonsets" deployments "github.com/kyverno/kyverno/pkg/clients/kube/extensionsv1beta1/deployments" ingresses "github.com/kyverno/kyverno/pkg/clients/kube/extensionsv1beta1/ingresses" @@ -20,6 +21,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.Exte return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ExtensionsV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ExtensionsV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ExtensionsV1beta1Interface metrics metrics.MetricsConfigManager @@ -80,3 +85,30 @@ func (c *withTracing) PodSecurityPolicies() k8s_io_client_go_kubernetes_typed_ex func (c *withTracing) ReplicaSets(namespace string) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface { return replicasets.WithTracing(c.inner.ReplicaSets(namespace), c.client, "ReplicaSet") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ExtensionsV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) DaemonSets(namespace string) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface { + return daemonsets.WithLogging(c.inner.DaemonSets(namespace), c.logger.WithValues("resource", "DaemonSets").WithValues("namespace", namespace)) +} +func (c *withLogging) Deployments(namespace string) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface { + return deployments.WithLogging(c.inner.Deployments(namespace), c.logger.WithValues("resource", "Deployments").WithValues("namespace", namespace)) +} +func (c *withLogging) Ingresses(namespace string) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface { + return ingresses.WithLogging(c.inner.Ingresses(namespace), c.logger.WithValues("resource", "Ingresses").WithValues("namespace", namespace)) +} +func (c *withLogging) NetworkPolicies(namespace string) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface { + return networkpolicies.WithLogging(c.inner.NetworkPolicies(namespace), c.logger.WithValues("resource", "NetworkPolicies").WithValues("namespace", namespace)) +} +func (c *withLogging) PodSecurityPolicies() k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface { + return podsecuritypolicies.WithLogging(c.inner.PodSecurityPolicies(), c.logger.WithValues("resource", "PodSecurityPolicies")) +} +func (c *withLogging) ReplicaSets(namespace string) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface { + return replicasets.WithLogging(c.inner.ReplicaSets(namespace), c.logger.WithValues("resource", "ReplicaSets").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/extensionsv1beta1/daemonsets/resource.generated.go b/pkg/clients/kube/extensionsv1beta1/daemonsets/resource.generated.go index edec543eed..c7a1fe59e2 100644 --- a/pkg/clients/kube/extensionsv1beta1/daemonsets/resource.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/daemonsets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_extensions_v1beta1 "k8s.io/api/extensions/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_extensions_v1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.Daem return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.DaemonSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.DaemonSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.DaemonSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.DaemonSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_extensions_v1beta1.DaemonSet, 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_api_extensions_v1beta1.DaemonSet, 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_api_extensions_v1beta1.DaemonSetList, 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_api_extensions_v1beta1.DaemonSet, 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_api_extensions_v1beta1.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.DaemonSet, 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_api_extensions_v1beta1.DaemonSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.DaemonSet, 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_client_go_kubernetes_typed_extensions_v1beta1.DaemonSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/extensionsv1beta1/deployments/resource.generated.go b/pkg/clients/kube/extensionsv1beta1/deployments/resource.generated.go index 9ca6a7ab16..33454950ac 100644 --- a/pkg/clients/kube/extensionsv1beta1/deployments/resource.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/deployments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_extensions_v1beta1 "k8s.io/api/extensions/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_extensions_v1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,177 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.Depl return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyScale(arg0 context.Context, arg1 string, arg2 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.ScaleApplyConfiguration, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyScale") + ret0, ret1 := c.inner.ApplyScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyScale failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.DeploymentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.Deployment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_extensions_v1beta1.Deployment, 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_api_extensions_v1beta1.Deployment, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_extensions_v1beta1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_extensions_v1beta1.DeploymentList, 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_api_extensions_v1beta1.Deployment, 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) Rollback(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.DeploymentRollback, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Rollback") + ret0 := c.inner.Rollback(arg0, arg1, arg2) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "Rollback failed", "duration", time.Since(start)) + } else { + logger.Info("Rollback done", "duration", time.Since(start)) + } + return ret0 +} +func (c *withLogging) Update(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.Deployment, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_extensions_v1beta1.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.Deployment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.Deployment, 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_client_go_kubernetes_typed_extensions_v1beta1.DeploymentInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/extensionsv1beta1/ingresses/resource.generated.go b/pkg/clients/kube/extensionsv1beta1/ingresses/resource.generated.go index 95e8f3aa0a..a1567b4bc7 100644 --- a/pkg/clients/kube/extensionsv1beta1/ingresses/resource.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/ingresses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_extensions_v1beta1 "k8s.io/api/extensions/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_extensions_v1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.Ingr return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.IngressApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.Ingress, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.IngressApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.Ingress, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_extensions_v1beta1.Ingress, 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_api_extensions_v1beta1.Ingress, 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_api_extensions_v1beta1.IngressList, 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_api_extensions_v1beta1.Ingress, 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_api_extensions_v1beta1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.Ingress, 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_api_extensions_v1beta1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.Ingress, 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_client_go_kubernetes_typed_extensions_v1beta1.IngressInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/extensionsv1beta1/networkpolicies/resource.generated.go b/pkg/clients/kube/extensionsv1beta1/networkpolicies/resource.generated.go index 908256e44d..5ba7a42f88 100644 --- a/pkg/clients/kube/extensionsv1beta1/networkpolicies/resource.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/networkpolicies/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_extensions_v1beta1 "k8s.io/api/extensions/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_extensions_v1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.Netw return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.NetworkPolicyApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.NetworkPolicy, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.NetworkPolicyApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.NetworkPolicy, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.NetworkPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_extensions_v1beta1.NetworkPolicy, 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_api_extensions_v1beta1.NetworkPolicy, 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_api_extensions_v1beta1.NetworkPolicyList, 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_api_extensions_v1beta1.NetworkPolicy, 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_api_extensions_v1beta1.NetworkPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.NetworkPolicy, 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_api_extensions_v1beta1.NetworkPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.NetworkPolicy, 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_client_go_kubernetes_typed_extensions_v1beta1.NetworkPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/extensionsv1beta1/podsecuritypolicies/resource.generated.go b/pkg/clients/kube/extensionsv1beta1/podsecuritypolicies/resource.generated.go index 27d39a5aa9..6614b64d01 100644 --- a/pkg/clients/kube/extensionsv1beta1/podsecuritypolicies/resource.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/podsecuritypolicies/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_extensions_v1beta1 "k8s.io/api/extensions/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_extensions_v1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodS return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.PodSecurityPolicyApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.PodSecurityPolicy, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.PodSecurityPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_extensions_v1beta1.PodSecurityPolicy, 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_api_extensions_v1beta1.PodSecurityPolicy, 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_api_extensions_v1beta1.PodSecurityPolicyList, 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_api_extensions_v1beta1.PodSecurityPolicy, 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_api_extensions_v1beta1.PodSecurityPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.PodSecurityPolicy, 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) 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_client_go_kubernetes_typed_extensions_v1beta1.PodSecurityPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/extensionsv1beta1/replicasets/resource.generated.go b/pkg/clients/kube/extensionsv1beta1/replicasets/resource.generated.go index 60d20aab71..97d51a62a4 100644 --- a/pkg/clients/kube/extensionsv1beta1/replicasets/resource.generated.go +++ b/pkg/clients/kube/extensionsv1beta1/replicasets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_extensions_v1beta1 "k8s.io/api/extensions/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_extensions_v1beta1 "k8s.io/client-go/kubernetes/typed/extensions/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,166 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.Repl return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.ReplicaSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.ReplicaSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyScale(arg0 context.Context, arg1 string, arg2 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.ScaleApplyConfiguration, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyScale") + ret0, ret1 := c.inner.ApplyScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyScale failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_extensions_v1beta1.ReplicaSetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_extensions_v1beta1.ReplicaSet, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_extensions_v1beta1.ReplicaSet, 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_api_extensions_v1beta1.ReplicaSet, 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) GetScale(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.GetOptions) (*k8s_io_api_extensions_v1beta1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "GetScale") + ret0, ret1 := c.inner.GetScale(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "GetScale failed", "duration", time.Since(start)) + } else { + logger.Info("GetScale 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_api_extensions_v1beta1.ReplicaSetList, 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_api_extensions_v1beta1.ReplicaSet, 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_api_extensions_v1beta1.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.ReplicaSet, 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) UpdateScale(arg0 context.Context, arg1 string, arg2 *k8s_io_api_extensions_v1beta1.Scale, arg3 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.Scale, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "UpdateScale") + ret0, ret1 := c.inner.UpdateScale(arg0, arg1, arg2, arg3) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "UpdateScale failed", "duration", time.Since(start)) + } else { + logger.Info("UpdateScale done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) UpdateStatus(arg0 context.Context, arg1 *k8s_io_api_extensions_v1beta1.ReplicaSet, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_extensions_v1beta1.ReplicaSet, 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_client_go_kubernetes_typed_extensions_v1beta1.ReplicaSetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/flowcontrolv1alpha1/client.generated.go b/pkg/clients/kube/flowcontrolv1alpha1/client.generated.go index e1db157438..1c74d1bc7c 100644 --- a/pkg/clients/kube/flowcontrolv1alpha1/client.generated.go +++ b/pkg/clients/kube/flowcontrolv1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" flowschemas "github.com/kyverno/kyverno/pkg/clients/kube/flowcontrolv1alpha1/flowschemas" prioritylevelconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/flowcontrolv1alpha1/prioritylevelconfigurations" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.Fl return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowcontrolV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowcontrolV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowcontrolV1alpha1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) FlowSchemas() k8s_io_client_go_kubernetes_typed_flowcontro func (c *withTracing) PriorityLevelConfigurations() k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface { return prioritylevelconfigurations.WithTracing(c.inner.PriorityLevelConfigurations(), c.client, "PriorityLevelConfiguration") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowcontrolV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) FlowSchemas() k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface { + return flowschemas.WithLogging(c.inner.FlowSchemas(), c.logger.WithValues("resource", "FlowSchemas")) +} +func (c *withLogging) PriorityLevelConfigurations() k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface { + return prioritylevelconfigurations.WithLogging(c.inner.PriorityLevelConfigurations(), c.logger.WithValues("resource", "PriorityLevelConfigurations")) +} diff --git a/pkg/clients/kube/flowcontrolv1alpha1/flowschemas/resource.generated.go b/pkg/clients/kube/flowcontrolv1alpha1/flowschemas/resource.generated.go index c8ff3f90c5..ecc7268817 100644 --- a/pkg/clients/kube/flowcontrolv1alpha1/flowschemas/resource.generated.go +++ b/pkg/clients/kube/flowcontrolv1alpha1/flowschemas/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_flowcontrol_v1alpha1 "k8s.io/api/flowcontrol/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.Fl return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1alpha1.FlowSchemaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1alpha1.FlowSchema, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1alpha1.FlowSchemaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1alpha1.FlowSchema, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_flowcontrol_v1alpha1.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_flowcontrol_v1alpha1.FlowSchema, 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_api_flowcontrol_v1alpha1.FlowSchema, 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_api_flowcontrol_v1alpha1.FlowSchemaList, 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_api_flowcontrol_v1alpha1.FlowSchema, 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_api_flowcontrol_v1alpha1.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1alpha1.FlowSchema, 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_api_flowcontrol_v1alpha1.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1alpha1.FlowSchema, 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_client_go_kubernetes_typed_flowcontrol_v1alpha1.FlowSchemaInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/flowcontrolv1alpha1/prioritylevelconfigurations/resource.generated.go b/pkg/clients/kube/flowcontrolv1alpha1/prioritylevelconfigurations/resource.generated.go index 39bf47f85b..17bb91cfff 100644 --- a/pkg/clients/kube/flowcontrolv1alpha1/prioritylevelconfigurations/resource.generated.go +++ b/pkg/clients/kube/flowcontrolv1alpha1/prioritylevelconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_flowcontrol_v1alpha1 "k8s.io/api/flowcontrol/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.Pr return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1alpha1.PriorityLevelConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1alpha1.PriorityLevelConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, 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_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, 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_api_flowcontrol_v1alpha1.PriorityLevelConfigurationList, 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_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, 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_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, 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_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1alpha1.PriorityLevelConfiguration, 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_client_go_kubernetes_typed_flowcontrol_v1alpha1.PriorityLevelConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/flowcontrolv1beta1/client.generated.go b/pkg/clients/kube/flowcontrolv1beta1/client.generated.go index cb9e5397ef..f7c417d216 100644 --- a/pkg/clients/kube/flowcontrolv1beta1/client.generated.go +++ b/pkg/clients/kube/flowcontrolv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" flowschemas "github.com/kyverno/kyverno/pkg/clients/kube/flowcontrolv1beta1/flowschemas" prioritylevelconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/flowcontrolv1beta1/prioritylevelconfigurations" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.Flo return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowcontrolV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowcontrolV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowcontrolV1beta1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) FlowSchemas() k8s_io_client_go_kubernetes_typed_flowcontro func (c *withTracing) PriorityLevelConfigurations() k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface { return prioritylevelconfigurations.WithTracing(c.inner.PriorityLevelConfigurations(), c.client, "PriorityLevelConfiguration") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowcontrolV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) FlowSchemas() k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface { + return flowschemas.WithLogging(c.inner.FlowSchemas(), c.logger.WithValues("resource", "FlowSchemas")) +} +func (c *withLogging) PriorityLevelConfigurations() k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface { + return prioritylevelconfigurations.WithLogging(c.inner.PriorityLevelConfigurations(), c.logger.WithValues("resource", "PriorityLevelConfigurations")) +} diff --git a/pkg/clients/kube/flowcontrolv1beta1/flowschemas/resource.generated.go b/pkg/clients/kube/flowcontrolv1beta1/flowschemas/resource.generated.go index ce01b01e8b..ecbebb6f2e 100644 --- a/pkg/clients/kube/flowcontrolv1beta1/flowschemas/resource.generated.go +++ b/pkg/clients/kube/flowcontrolv1beta1/flowschemas/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_flowcontrol_v1beta1 "k8s.io/api/flowcontrol/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.Flo return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta1.FlowSchemaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta1.FlowSchema, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta1.FlowSchemaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta1.FlowSchema, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_flowcontrol_v1beta1.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_flowcontrol_v1beta1.FlowSchema, 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_api_flowcontrol_v1beta1.FlowSchema, 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_api_flowcontrol_v1beta1.FlowSchemaList, 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_api_flowcontrol_v1beta1.FlowSchema, 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_api_flowcontrol_v1beta1.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta1.FlowSchema, 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_api_flowcontrol_v1beta1.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta1.FlowSchema, 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_client_go_kubernetes_typed_flowcontrol_v1beta1.FlowSchemaInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/flowcontrolv1beta1/prioritylevelconfigurations/resource.generated.go b/pkg/clients/kube/flowcontrolv1beta1/prioritylevelconfigurations/resource.generated.go index 884a2377fb..b36ce5afce 100644 --- a/pkg/clients/kube/flowcontrolv1beta1/prioritylevelconfigurations/resource.generated.go +++ b/pkg/clients/kube/flowcontrolv1beta1/prioritylevelconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_flowcontrol_v1beta1 "k8s.io/api/flowcontrol/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.Pri return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta1.PriorityLevelConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta1.PriorityLevelConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta1.PriorityLevelConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta1.PriorityLevelConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_flowcontrol_v1beta1.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_flowcontrol_v1beta1.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta1.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta1.PriorityLevelConfigurationList, 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_api_flowcontrol_v1beta1.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta1.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta1.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta1.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta1.PriorityLevelConfiguration, 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_client_go_kubernetes_typed_flowcontrol_v1beta1.PriorityLevelConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/flowcontrolv1beta2/client.generated.go b/pkg/clients/kube/flowcontrolv1beta2/client.generated.go index 145b92562f..82f07989ce 100644 --- a/pkg/clients/kube/flowcontrolv1beta2/client.generated.go +++ b/pkg/clients/kube/flowcontrolv1beta2/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" flowschemas "github.com/kyverno/kyverno/pkg/clients/kube/flowcontrolv1beta2/flowschemas" prioritylevelconfigurations "github.com/kyverno/kyverno/pkg/clients/kube/flowcontrolv1beta2/prioritylevelconfigurations" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.Flo return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowcontrolV1beta2Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowcontrolV1beta2Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowcontrolV1beta2Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) FlowSchemas() k8s_io_client_go_kubernetes_typed_flowcontro func (c *withTracing) PriorityLevelConfigurations() k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface { return prioritylevelconfigurations.WithTracing(c.inner.PriorityLevelConfigurations(), c.client, "PriorityLevelConfiguration") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowcontrolV1beta2Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) FlowSchemas() k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface { + return flowschemas.WithLogging(c.inner.FlowSchemas(), c.logger.WithValues("resource", "FlowSchemas")) +} +func (c *withLogging) PriorityLevelConfigurations() k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface { + return prioritylevelconfigurations.WithLogging(c.inner.PriorityLevelConfigurations(), c.logger.WithValues("resource", "PriorityLevelConfigurations")) +} diff --git a/pkg/clients/kube/flowcontrolv1beta2/flowschemas/resource.generated.go b/pkg/clients/kube/flowcontrolv1beta2/flowschemas/resource.generated.go index 04317ae6fd..d463b0d47c 100644 --- a/pkg/clients/kube/flowcontrolv1beta2/flowschemas/resource.generated.go +++ b/pkg/clients/kube/flowcontrolv1beta2/flowschemas/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_flowcontrol_v1beta2 "k8s.io/api/flowcontrol/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.Flo return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta2.FlowSchemaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta2.FlowSchema, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta2.FlowSchemaApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta2.FlowSchema, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_flowcontrol_v1beta2.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_flowcontrol_v1beta2.FlowSchema, 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_api_flowcontrol_v1beta2.FlowSchema, 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_api_flowcontrol_v1beta2.FlowSchemaList, 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_api_flowcontrol_v1beta2.FlowSchema, 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_api_flowcontrol_v1beta2.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta2.FlowSchema, 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_api_flowcontrol_v1beta2.FlowSchema, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta2.FlowSchema, 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_client_go_kubernetes_typed_flowcontrol_v1beta2.FlowSchemaInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/flowcontrolv1beta2/prioritylevelconfigurations/resource.generated.go b/pkg/clients/kube/flowcontrolv1beta2/prioritylevelconfigurations/resource.generated.go index 1a19e36874..3c46dc063e 100644 --- a/pkg/clients/kube/flowcontrolv1beta2/prioritylevelconfigurations/resource.generated.go +++ b/pkg/clients/kube/flowcontrolv1beta2/prioritylevelconfigurations/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_flowcontrol_v1beta2 "k8s.io/api/flowcontrol/v1beta2" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2 "k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta2" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.Pri return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta2.PriorityLevelConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta2.PriorityLevelConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_flowcontrol_v1beta2.PriorityLevelConfigurationApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_flowcontrol_v1beta2.PriorityLevelConfiguration, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_flowcontrol_v1beta2.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_flowcontrol_v1beta2.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta2.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta2.PriorityLevelConfigurationList, 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_api_flowcontrol_v1beta2.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta2.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta2.PriorityLevelConfiguration, 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_api_flowcontrol_v1beta2.PriorityLevelConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_flowcontrol_v1beta2.PriorityLevelConfiguration, 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_client_go_kubernetes_typed_flowcontrol_v1beta2.PriorityLevelConfigurationInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/interface.generated.go b/pkg/clients/kube/interface.generated.go index 7df256c836..f17043b231 100644 --- a/pkg/clients/kube/interface.generated.go +++ b/pkg/clients/kube/interface.generated.go @@ -3,6 +3,7 @@ package clientset import ( "net/http" + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" @@ -10,16 +11,39 @@ import ( type Interface interface { k8s_io_client_go_kubernetes.Interface - WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface + WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface WithTracing() Interface + WithLogging(logr.Logger) Interface } -type wrapper struct { - k8s_io_client_go_kubernetes.Interface +func From(inner k8s_io_client_go_kubernetes.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_client_go_kubernetes.NewForConfig(c) if err != nil { @@ -40,34 +64,22 @@ func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface { return From(k8s_io_client_go_kubernetes.NewForConfigOrDie(c), opts...) } -func from(inner k8s_io_client_go_kubernetes.Interface, opts ...NewOption) Interface { - return &wrapper{inner} +type wrapper struct { + k8s_io_client_go_kubernetes.Interface } -func From(inner k8s_io_client_go_kubernetes.Interface, opts ...NewOption) Interface { - i := from(inner) - for _, opt := range opts { - i = opt(i) - } - return i +func from(inner k8s_io_client_go_kubernetes.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 WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption { - return func(i Interface) Interface { - return i.WithMetrics(m, t) - } -} - func (i *wrapper) WithTracing() Interface { return from(WrapWithTracing(i)) } -func WithTracing() NewOption { - return func(i Interface) Interface { - return i.WithTracing() - } +func (i *wrapper) WithLogging(logger logr.Logger) Interface { + return from(WrapWithLogging(i, logger)) } diff --git a/pkg/clients/kube/internalv1alpha1/client.generated.go b/pkg/clients/kube/internalv1alpha1/client.generated.go index eebea50831..7ffa73e2bd 100644 --- a/pkg/clients/kube/internalv1alpha1/client.generated.go +++ b/pkg/clients/kube/internalv1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" storageversions "github.com/kyverno/kyverno/pkg/clients/kube/internalv1alpha1/storageversions" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1 "k8s.io/client-go/kubernetes/typed/apiserverinternal/v1alpha1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alp return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.InternalV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.InternalV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.InternalV1alpha1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) StorageVersions() k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface { return storageversions.WithTracing(c.inner.StorageVersions(), c.client, "StorageVersion") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.InternalV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) StorageVersions() k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface { + return storageversions.WithLogging(c.inner.StorageVersions(), c.logger.WithValues("resource", "StorageVersions")) +} diff --git a/pkg/clients/kube/internalv1alpha1/storageversions/resource.generated.go b/pkg/clients/kube/internalv1alpha1/storageversions/resource.generated.go index 78a49c8601..d338e5e0a4 100644 --- a/pkg/clients/kube/internalv1alpha1/storageversions/resource.generated.go +++ b/pkg/clients/kube/internalv1alpha1/storageversions/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_apiserverinternal_v1alpha1 "k8s.io/api/apiserverinternal/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1 "k8s.io/client-go/kubernetes/typed/apiserverinternal/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alp return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apiserverinternal_v1alpha1.StorageVersionApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apiserverinternal_v1alpha1.StorageVersion, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_apiserverinternal_v1alpha1.StorageVersionApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_apiserverinternal_v1alpha1.StorageVersion, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_apiserverinternal_v1alpha1.StorageVersion, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_apiserverinternal_v1alpha1.StorageVersion, 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_api_apiserverinternal_v1alpha1.StorageVersion, 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_api_apiserverinternal_v1alpha1.StorageVersionList, 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_api_apiserverinternal_v1alpha1.StorageVersion, 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_api_apiserverinternal_v1alpha1.StorageVersion, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apiserverinternal_v1alpha1.StorageVersion, 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_api_apiserverinternal_v1alpha1.StorageVersion, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_apiserverinternal_v1alpha1.StorageVersion, 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_client_go_kubernetes_typed_apiserverinternal_v1alpha1.StorageVersionInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/networkingv1/client.generated.go b/pkg/clients/kube/networkingv1/client.generated.go index cde24f8ddf..63fe118c40 100644 --- a/pkg/clients/kube/networkingv1/client.generated.go +++ b/pkg/clients/kube/networkingv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" ingressclasses "github.com/kyverno/kyverno/pkg/clients/kube/networkingv1/ingressclasses" ingresses "github.com/kyverno/kyverno/pkg/clients/kube/networkingv1/ingresses" networkpolicies "github.com/kyverno/kyverno/pkg/clients/kube/networkingv1/networkpolicies" @@ -17,6 +18,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1.Networkin return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkingV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1.NetworkingV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkingV1Interface metrics metrics.MetricsConfigManager @@ -56,3 +61,21 @@ func (c *withTracing) Ingresses(namespace string) k8s_io_client_go_kubernetes_ty func (c *withTracing) NetworkPolicies(namespace string) k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface { return networkpolicies.WithTracing(c.inner.NetworkPolicies(namespace), c.client, "NetworkPolicy") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkingV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) IngressClasses() k8s_io_client_go_kubernetes_typed_networking_v1.IngressClassInterface { + return ingressclasses.WithLogging(c.inner.IngressClasses(), c.logger.WithValues("resource", "IngressClasses")) +} +func (c *withLogging) Ingresses(namespace string) k8s_io_client_go_kubernetes_typed_networking_v1.IngressInterface { + return ingresses.WithLogging(c.inner.Ingresses(namespace), c.logger.WithValues("resource", "Ingresses").WithValues("namespace", namespace)) +} +func (c *withLogging) NetworkPolicies(namespace string) k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface { + return networkpolicies.WithLogging(c.inner.NetworkPolicies(namespace), c.logger.WithValues("resource", "NetworkPolicies").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/networkingv1/ingressclasses/resource.generated.go b/pkg/clients/kube/networkingv1/ingressclasses/resource.generated.go index 856e6b0653..9c6d72d5fb 100644 --- a/pkg/clients/kube/networkingv1/ingressclasses/resource.generated.go +++ b/pkg/clients/kube/networkingv1/ingressclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_networking_v1 "k8s.io/api/networking/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_networking_v1 "k8s.io/client-go/kubernetes/typed/networking/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1.IngressClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_networking_v1.IngressClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressCl return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1.IngressClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1.IngressClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_networking_v1.IngressClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_networking_v1.IngressClass, 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_api_networking_v1.IngressClass, 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_api_networking_v1.IngressClassList, 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_api_networking_v1.IngressClass, 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_api_networking_v1.IngressClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1.IngressClass, 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) 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_client_go_kubernetes_typed_networking_v1.IngressClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/networkingv1/ingresses/resource.generated.go b/pkg/clients/kube/networkingv1/ingresses/resource.generated.go index 3364f9348d..12455767a6 100644 --- a/pkg/clients/kube/networkingv1/ingresses/resource.generated.go +++ b/pkg/clients/kube/networkingv1/ingresses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_networking_v1 "k8s.io/api/networking/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_networking_v1 "k8s.io/client-go/kubernetes/typed/networking/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1.IngressInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_networking_v1.IngressInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressIn return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1.IngressInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1.IngressApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1.Ingress, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1.IngressApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1.Ingress, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_networking_v1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_networking_v1.Ingress, 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_api_networking_v1.Ingress, 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_api_networking_v1.IngressList, 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_api_networking_v1.Ingress, 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_api_networking_v1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1.Ingress, 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_api_networking_v1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1.Ingress, 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_client_go_kubernetes_typed_networking_v1.IngressInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/networkingv1/networkpolicies/resource.generated.go b/pkg/clients/kube/networkingv1/networkpolicies/resource.generated.go index 2a8b6337e1..ededf67618 100644 --- a/pkg/clients/kube/networkingv1/networkpolicies/resource.generated.go +++ b/pkg/clients/kube/networkingv1/networkpolicies/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_networking_v1 "k8s.io/api/networking/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_networking_v1 "k8s.io/client-go/kubernetes/typed/networking/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPo return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1.NetworkPolicyApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1.NetworkPolicy, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1.NetworkPolicyApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1.NetworkPolicy, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_networking_v1.NetworkPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_networking_v1.NetworkPolicy, 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_api_networking_v1.NetworkPolicy, 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_api_networking_v1.NetworkPolicyList, 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_api_networking_v1.NetworkPolicy, 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_api_networking_v1.NetworkPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1.NetworkPolicy, 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_api_networking_v1.NetworkPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1.NetworkPolicy, 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_client_go_kubernetes_typed_networking_v1.NetworkPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/networkingv1alpha1/client.generated.go b/pkg/clients/kube/networkingv1alpha1/client.generated.go index 4bfac00b9d..86680e0929 100644 --- a/pkg/clients/kube/networkingv1alpha1/client.generated.go +++ b/pkg/clients/kube/networkingv1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" clustercidrs "github.com/kyverno/kyverno/pkg/clients/kube/networkingv1alpha1/clustercidrs" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_networking_v1alpha1 "k8s.io/client-go/kubernetes/typed/networking/v1alpha1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.Net return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.NetworkingV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1alpha1.NetworkingV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.NetworkingV1alpha1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) ClusterCIDRs() k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface { return clustercidrs.WithTracing(c.inner.ClusterCIDRs(), c.client, "ClusterCIDR") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.NetworkingV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ClusterCIDRs() k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface { + return clustercidrs.WithLogging(c.inner.ClusterCIDRs(), c.logger.WithValues("resource", "ClusterCIDRs")) +} diff --git a/pkg/clients/kube/networkingv1alpha1/clustercidrs/resource.generated.go b/pkg/clients/kube/networkingv1alpha1/clustercidrs/resource.generated.go index 828d0c65e0..9a43f5dc24 100644 --- a/pkg/clients/kube/networkingv1alpha1/clustercidrs/resource.generated.go +++ b/pkg/clients/kube/networkingv1alpha1/clustercidrs/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_networking_v1alpha1 "k8s.io/api/networking/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_networking_v1alpha1 "k8s.io/client-go/kubernetes/typed/networking/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.Clu return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1alpha1.ClusterCIDRApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1alpha1.ClusterCIDR, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_networking_v1alpha1.ClusterCIDR, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_networking_v1alpha1.ClusterCIDR, 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_api_networking_v1alpha1.ClusterCIDR, 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_api_networking_v1alpha1.ClusterCIDRList, 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_api_networking_v1alpha1.ClusterCIDR, 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_api_networking_v1alpha1.ClusterCIDR, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1alpha1.ClusterCIDR, 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) 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_client_go_kubernetes_typed_networking_v1alpha1.ClusterCIDRInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/networkingv1beta1/client.generated.go b/pkg/clients/kube/networkingv1beta1/client.generated.go index bcd91eb49b..7b09bbbe51 100644 --- a/pkg/clients/kube/networkingv1beta1/client.generated.go +++ b/pkg/clients/kube/networkingv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" ingressclasses "github.com/kyverno/kyverno/pkg/clients/kube/networkingv1beta1/ingressclasses" ingresses "github.com/kyverno/kyverno/pkg/clients/kube/networkingv1beta1/ingresses" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.Netw return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.NetworkingV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1beta1.NetworkingV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.NetworkingV1beta1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) IngressClasses() k8s_io_client_go_kubernetes_typed_network func (c *withTracing) Ingresses(namespace string) k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface { return ingresses.WithTracing(c.inner.Ingresses(namespace), c.client, "Ingress") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.NetworkingV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) IngressClasses() k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface { + return ingressclasses.WithLogging(c.inner.IngressClasses(), c.logger.WithValues("resource", "IngressClasses")) +} +func (c *withLogging) Ingresses(namespace string) k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface { + return ingresses.WithLogging(c.inner.Ingresses(namespace), c.logger.WithValues("resource", "Ingresses").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/networkingv1beta1/ingressclasses/resource.generated.go b/pkg/clients/kube/networkingv1beta1/ingressclasses/resource.generated.go index 93e135b1c4..5619e6a466 100644 --- a/pkg/clients/kube/networkingv1beta1/ingressclasses/resource.generated.go +++ b/pkg/clients/kube/networkingv1beta1/ingressclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_networking_v1beta1 "k8s.io/api/networking/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_networking_v1beta1 "k8s.io/client-go/kubernetes/typed/networking/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.Ingr return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1beta1.IngressClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1beta1.IngressClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_networking_v1beta1.IngressClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_networking_v1beta1.IngressClass, 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_api_networking_v1beta1.IngressClass, 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_api_networking_v1beta1.IngressClassList, 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_api_networking_v1beta1.IngressClass, 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_api_networking_v1beta1.IngressClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1beta1.IngressClass, 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) 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_client_go_kubernetes_typed_networking_v1beta1.IngressClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/networkingv1beta1/ingresses/resource.generated.go b/pkg/clients/kube/networkingv1beta1/ingresses/resource.generated.go index 0f89da5cb8..e6518169e5 100644 --- a/pkg/clients/kube/networkingv1beta1/ingresses/resource.generated.go +++ b/pkg/clients/kube/networkingv1beta1/ingresses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_networking_v1beta1 "k8s.io/api/networking/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_networking_v1beta1 "k8s.io/client-go/kubernetes/typed/networking/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.Ingr return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_networking_v1beta1.IngressInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1beta1.IngressApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1beta1.Ingress, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_networking_v1beta1.IngressApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_networking_v1beta1.Ingress, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_networking_v1beta1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_networking_v1beta1.Ingress, 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_api_networking_v1beta1.Ingress, 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_api_networking_v1beta1.IngressList, 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_api_networking_v1beta1.Ingress, 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_api_networking_v1beta1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1beta1.Ingress, 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_api_networking_v1beta1.Ingress, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_networking_v1beta1.Ingress, 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_client_go_kubernetes_typed_networking_v1beta1.IngressInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/nodev1/client.generated.go b/pkg/clients/kube/nodev1/client.generated.go index 8491a197f7..c81e9bc98a 100644 --- a/pkg/clients/kube/nodev1/client.generated.go +++ b/pkg/clients/kube/nodev1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" runtimeclasses "github.com/kyverno/kyverno/pkg/clients/kube/nodev1/runtimeclasses" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_node_v1 "k8s.io/client-go/kubernetes/typed/node/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_node_v1.NodeV1Interface return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_node_v1.NodeV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_node_v1.NodeV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_node_v1.NodeV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) RuntimeClasses() k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface { return runtimeclasses.WithTracing(c.inner.RuntimeClasses(), c.client, "RuntimeClass") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_node_v1.NodeV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) RuntimeClasses() k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface { + return runtimeclasses.WithLogging(c.inner.RuntimeClasses(), c.logger.WithValues("resource", "RuntimeClasses")) +} diff --git a/pkg/clients/kube/nodev1/runtimeclasses/resource.generated.go b/pkg/clients/kube/nodev1/runtimeclasses/resource.generated.go index 6545410653..60c1589ca3 100644 --- a/pkg/clients/kube/nodev1/runtimeclasses/resource.generated.go +++ b/pkg/clients/kube/nodev1/runtimeclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_node_v1 "k8s.io/api/node/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_node_v1 "k8s.io/client-go/kubernetes/typed/node/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInt return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_node_v1.RuntimeClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_node_v1.RuntimeClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_node_v1.RuntimeClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_node_v1.RuntimeClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_node_v1.RuntimeClass, 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_api_node_v1.RuntimeClass, 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_api_node_v1.RuntimeClassList, 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_api_node_v1.RuntimeClass, 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_api_node_v1.RuntimeClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_node_v1.RuntimeClass, 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) 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_client_go_kubernetes_typed_node_v1.RuntimeClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/nodev1alpha1/client.generated.go b/pkg/clients/kube/nodev1alpha1/client.generated.go index e63d29b3e5..aeb5e901c3 100644 --- a/pkg/clients/kube/nodev1alpha1/client.generated.go +++ b/pkg/clients/kube/nodev1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" runtimeclasses "github.com/kyverno/kyverno/pkg/clients/kube/nodev1alpha1/runtimeclasses" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_node_v1alpha1 "k8s.io/client-go/kubernetes/typed/node/v1alpha1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.NodeV1alp return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.NodeV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_node_v1alpha1.NodeV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.NodeV1alpha1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) RuntimeClasses() k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface { return runtimeclasses.WithTracing(c.inner.RuntimeClasses(), c.client, "RuntimeClass") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.NodeV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) RuntimeClasses() k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface { + return runtimeclasses.WithLogging(c.inner.RuntimeClasses(), c.logger.WithValues("resource", "RuntimeClasses")) +} diff --git a/pkg/clients/kube/nodev1alpha1/runtimeclasses/resource.generated.go b/pkg/clients/kube/nodev1alpha1/runtimeclasses/resource.generated.go index 09398b0383..27c9504a7b 100644 --- a/pkg/clients/kube/nodev1alpha1/runtimeclasses/resource.generated.go +++ b/pkg/clients/kube/nodev1alpha1/runtimeclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_node_v1alpha1 "k8s.io/api/node/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_node_v1alpha1 "k8s.io/client-go/kubernetes/typed/node/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeCl return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_node_v1alpha1.RuntimeClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_node_v1alpha1.RuntimeClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_node_v1alpha1.RuntimeClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_node_v1alpha1.RuntimeClass, 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_api_node_v1alpha1.RuntimeClass, 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_api_node_v1alpha1.RuntimeClassList, 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_api_node_v1alpha1.RuntimeClass, 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_api_node_v1alpha1.RuntimeClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_node_v1alpha1.RuntimeClass, 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) 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_client_go_kubernetes_typed_node_v1alpha1.RuntimeClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/nodev1beta1/client.generated.go b/pkg/clients/kube/nodev1beta1/client.generated.go index 6865d5545c..53ebc85f0e 100644 --- a/pkg/clients/kube/nodev1beta1/client.generated.go +++ b/pkg/clients/kube/nodev1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" runtimeclasses "github.com/kyverno/kyverno/pkg/clients/kube/nodev1beta1/runtimeclasses" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_node_v1beta1 "k8s.io/client-go/kubernetes/typed/node/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_node_v1beta1.NodeV1beta return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_node_v1beta1.NodeV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_node_v1beta1.NodeV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_node_v1beta1.NodeV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) RuntimeClasses() k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface { return runtimeclasses.WithTracing(c.inner.RuntimeClasses(), c.client, "RuntimeClass") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_node_v1beta1.NodeV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) RuntimeClasses() k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface { + return runtimeclasses.WithLogging(c.inner.RuntimeClasses(), c.logger.WithValues("resource", "RuntimeClasses")) +} diff --git a/pkg/clients/kube/nodev1beta1/runtimeclasses/resource.generated.go b/pkg/clients/kube/nodev1beta1/runtimeclasses/resource.generated.go index e61809f27b..6c8a83ba72 100644 --- a/pkg/clients/kube/nodev1beta1/runtimeclasses/resource.generated.go +++ b/pkg/clients/kube/nodev1beta1/runtimeclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_node_v1beta1 "k8s.io/api/node/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_node_v1beta1 "k8s.io/client-go/kubernetes/typed/node/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeCla return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_node_v1beta1.RuntimeClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_node_v1beta1.RuntimeClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_node_v1beta1.RuntimeClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_node_v1beta1.RuntimeClass, 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_api_node_v1beta1.RuntimeClass, 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_api_node_v1beta1.RuntimeClassList, 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_api_node_v1beta1.RuntimeClass, 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_api_node_v1beta1.RuntimeClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_node_v1beta1.RuntimeClass, 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) 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_client_go_kubernetes_typed_node_v1beta1.RuntimeClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/policyv1/client.generated.go b/pkg/clients/kube/policyv1/client.generated.go index 00147b3d45..00f9590def 100644 --- a/pkg/clients/kube/policyv1/client.generated.go +++ b/pkg/clients/kube/policyv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" evictions "github.com/kyverno/kyverno/pkg/clients/kube/policyv1/evictions" poddisruptionbudgets "github.com/kyverno/kyverno/pkg/clients/kube/policyv1/poddisruptionbudgets" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1.PolicyV1Inter return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1.PolicyV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1.PolicyV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_policy_v1.PolicyV1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) Evictions(namespace string) k8s_io_client_go_kubernetes_ty func (c *withTracing) PodDisruptionBudgets(namespace string) k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface { return poddisruptionbudgets.WithTracing(c.inner.PodDisruptionBudgets(namespace), c.client, "PodDisruptionBudget") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1.PolicyV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) Evictions(namespace string) k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface { + return evictions.WithLogging(c.inner.Evictions(namespace), c.logger.WithValues("resource", "Evictions").WithValues("namespace", namespace)) +} +func (c *withLogging) PodDisruptionBudgets(namespace string) k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface { + return poddisruptionbudgets.WithLogging(c.inner.PodDisruptionBudgets(namespace), c.logger.WithValues("resource", "PodDisruptionBudgets").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/policyv1/evictions/resource.generated.go b/pkg/clients/kube/policyv1/evictions/resource.generated.go index 291ccd86d8..892603082b 100644 --- a/pkg/clients/kube/policyv1/evictions/resource.generated.go +++ b/pkg/clients/kube/policyv1/evictions/resource.generated.go @@ -3,15 +3,22 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_policy_v1 "k8s.io/api/policy/v1" k8s_io_client_go_kubernetes_typed_policy_v1 "k8s.io/client-go/kubernetes/typed/policy/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface { return &withMetrics{inner, recorder} } @@ -20,6 +27,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInter return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface + logger logr.Logger +} + +func (c *withLogging) Evict(arg0 context.Context, arg1 *k8s_io_api_policy_v1.Eviction) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Evict") + ret0 := c.inner.Evict(arg0, arg1) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "Evict failed", "duration", time.Since(start)) + } else { + logger.Info("Evict done", "duration", time.Since(start)) + } + return ret0 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_policy_v1.EvictionInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/policyv1/poddisruptionbudgets/resource.generated.go b/pkg/clients/kube/policyv1/poddisruptionbudgets/resource.generated.go index 8ca24f21ae..1d15cb2202 100644 --- a/pkg/clients/kube/policyv1/poddisruptionbudgets/resource.generated.go +++ b/pkg/clients/kube/policyv1/poddisruptionbudgets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_policy_v1 "k8s.io/api/policy/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_policy_v1 "k8s.io/client-go/kubernetes/typed/policy/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruption return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_policy_v1.PodDisruptionBudgetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_policy_v1.PodDisruptionBudget, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_policy_v1.PodDisruptionBudgetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_policy_v1.PodDisruptionBudget, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_policy_v1.PodDisruptionBudget, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_policy_v1.PodDisruptionBudget, 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_api_policy_v1.PodDisruptionBudget, 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_api_policy_v1.PodDisruptionBudgetList, 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_api_policy_v1.PodDisruptionBudget, 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_api_policy_v1.PodDisruptionBudget, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_policy_v1.PodDisruptionBudget, 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_api_policy_v1.PodDisruptionBudget, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_policy_v1.PodDisruptionBudget, 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_client_go_kubernetes_typed_policy_v1.PodDisruptionBudgetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/policyv1beta1/client.generated.go b/pkg/clients/kube/policyv1beta1/client.generated.go index 3adde52788..67e8ed323c 100644 --- a/pkg/clients/kube/policyv1beta1/client.generated.go +++ b/pkg/clients/kube/policyv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" evictions "github.com/kyverno/kyverno/pkg/clients/kube/policyv1beta1/evictions" poddisruptionbudgets "github.com/kyverno/kyverno/pkg/clients/kube/policyv1beta1/poddisruptionbudgets" podsecuritypolicies "github.com/kyverno/kyverno/pkg/clients/kube/policyv1beta1/podsecuritypolicies" @@ -17,6 +18,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PolicyV1 return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PolicyV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1beta1.PolicyV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PolicyV1beta1Interface metrics metrics.MetricsConfigManager @@ -56,3 +61,21 @@ func (c *withTracing) PodDisruptionBudgets(namespace string) k8s_io_client_go_ku func (c *withTracing) PodSecurityPolicies() k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface { return podsecuritypolicies.WithTracing(c.inner.PodSecurityPolicies(), c.client, "PodSecurityPolicy") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PolicyV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) Evictions(namespace string) k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface { + return evictions.WithLogging(c.inner.Evictions(namespace), c.logger.WithValues("resource", "Evictions").WithValues("namespace", namespace)) +} +func (c *withLogging) PodDisruptionBudgets(namespace string) k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface { + return poddisruptionbudgets.WithLogging(c.inner.PodDisruptionBudgets(namespace), c.logger.WithValues("resource", "PodDisruptionBudgets").WithValues("namespace", namespace)) +} +func (c *withLogging) PodSecurityPolicies() k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface { + return podsecuritypolicies.WithLogging(c.inner.PodSecurityPolicies(), c.logger.WithValues("resource", "PodSecurityPolicies")) +} diff --git a/pkg/clients/kube/policyv1beta1/evictions/resource.generated.go b/pkg/clients/kube/policyv1beta1/evictions/resource.generated.go index fb0e6cb773..5f2e91c25d 100644 --- a/pkg/clients/kube/policyv1beta1/evictions/resource.generated.go +++ b/pkg/clients/kube/policyv1beta1/evictions/resource.generated.go @@ -3,15 +3,22 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_policy_v1beta1 "k8s.io/api/policy/v1beta1" k8s_io_client_go_kubernetes_typed_policy_v1beta1 "k8s.io/client-go/kubernetes/typed/policy/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface { return &withMetrics{inner, recorder} } @@ -20,6 +27,23 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.Eviction return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface + logger logr.Logger +} + +func (c *withLogging) Evict(arg0 context.Context, arg1 *k8s_io_api_policy_v1beta1.Eviction) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Evict") + ret0 := c.inner.Evict(arg0, arg1) + if err := multierr.Combine(ret0); err != nil { + logger.Error(err, "Evict failed", "duration", time.Since(start)) + } else { + logger.Info("Evict done", "duration", time.Since(start)) + } + return ret0 +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.EvictionInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/policyv1beta1/poddisruptionbudgets/resource.generated.go b/pkg/clients/kube/policyv1beta1/poddisruptionbudgets/resource.generated.go index a5011a0cc5..322081a3a9 100644 --- a/pkg/clients/kube/policyv1beta1/poddisruptionbudgets/resource.generated.go +++ b/pkg/clients/kube/policyv1beta1/poddisruptionbudgets/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_policy_v1beta1 "k8s.io/api/policy/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_policy_v1beta1 "k8s.io/client-go/kubernetes/typed/policy/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisru return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_policy_v1beta1.PodDisruptionBudgetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_policy_v1beta1.PodDisruptionBudget, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_policy_v1beta1.PodDisruptionBudgetApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_policy_v1beta1.PodDisruptionBudget, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_policy_v1beta1.PodDisruptionBudget, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_policy_v1beta1.PodDisruptionBudget, 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_api_policy_v1beta1.PodDisruptionBudget, 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_api_policy_v1beta1.PodDisruptionBudgetList, 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_api_policy_v1beta1.PodDisruptionBudget, 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_api_policy_v1beta1.PodDisruptionBudget, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_policy_v1beta1.PodDisruptionBudget, 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_api_policy_v1beta1.PodDisruptionBudget, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_policy_v1beta1.PodDisruptionBudget, 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_client_go_kubernetes_typed_policy_v1beta1.PodDisruptionBudgetInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/policyv1beta1/podsecuritypolicies/resource.generated.go b/pkg/clients/kube/policyv1beta1/podsecuritypolicies/resource.generated.go index 13721e4f36..917bf2ac86 100644 --- a/pkg/clients/kube/policyv1beta1/podsecuritypolicies/resource.generated.go +++ b/pkg/clients/kube/policyv1beta1/podsecuritypolicies/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_policy_v1beta1 "k8s.io/api/policy/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_policy_v1beta1 "k8s.io/client-go/kubernetes/typed/policy/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecur return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_policy_v1beta1.PodSecurityPolicyApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_policy_v1beta1.PodSecurityPolicy, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_policy_v1beta1.PodSecurityPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_policy_v1beta1.PodSecurityPolicy, 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_api_policy_v1beta1.PodSecurityPolicy, 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_api_policy_v1beta1.PodSecurityPolicyList, 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_api_policy_v1beta1.PodSecurityPolicy, 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_api_policy_v1beta1.PodSecurityPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_policy_v1beta1.PodSecurityPolicy, 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) 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_client_go_kubernetes_typed_policy_v1beta1.PodSecurityPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1/client.generated.go b/pkg/clients/kube/rbacv1/client.generated.go index e5f5761935..37e9f8a1d0 100644 --- a/pkg/clients/kube/rbacv1/client.generated.go +++ b/pkg/clients/kube/rbacv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" clusterrolebindings "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1/clusterrolebindings" clusterroles "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1/clusterroles" rolebindings "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1/rolebindings" @@ -18,6 +19,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RbacV1Interface return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RbacV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1.RbacV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_rbac_v1.RbacV1Interface metrics metrics.MetricsConfigManager @@ -64,3 +69,24 @@ func (c *withTracing) RoleBindings(namespace string) k8s_io_client_go_kubernetes func (c *withTracing) Roles(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface { return roles.WithTracing(c.inner.Roles(namespace), c.client, "Role") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1.RbacV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ClusterRoleBindings() k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface { + return clusterrolebindings.WithLogging(c.inner.ClusterRoleBindings(), c.logger.WithValues("resource", "ClusterRoleBindings")) +} +func (c *withLogging) ClusterRoles() k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface { + return clusterroles.WithLogging(c.inner.ClusterRoles(), c.logger.WithValues("resource", "ClusterRoles")) +} +func (c *withLogging) RoleBindings(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface { + return rolebindings.WithLogging(c.inner.RoleBindings(namespace), c.logger.WithValues("resource", "RoleBindings").WithValues("namespace", namespace)) +} +func (c *withLogging) Roles(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface { + return roles.WithLogging(c.inner.Roles(namespace), c.logger.WithValues("resource", "Roles").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/rbacv1/clusterrolebindings/resource.generated.go b/pkg/clients/kube/rbacv1/clusterrolebindings/resource.generated.go index 73e7535161..626468a12e 100644 --- a/pkg/clients/kube/rbacv1/clusterrolebindings/resource.generated.go +++ b/pkg/clients/kube/rbacv1/clusterrolebindings/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1 "k8s.io/client-go/kubernetes/typed/rbac/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBind return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1.ClusterRoleBindingApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1.ClusterRoleBinding, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1.ClusterRoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1.ClusterRoleBinding, 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_api_rbac_v1.ClusterRoleBinding, 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_api_rbac_v1.ClusterRoleBindingList, 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_api_rbac_v1.ClusterRoleBinding, 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_api_rbac_v1.ClusterRoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1.ClusterRoleBinding, 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) 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_client_go_kubernetes_typed_rbac_v1.ClusterRoleBindingInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1/clusterroles/resource.generated.go b/pkg/clients/kube/rbacv1/clusterroles/resource.generated.go index edd4058c20..73d65fa5d5 100644 --- a/pkg/clients/kube/rbacv1/clusterroles/resource.generated.go +++ b/pkg/clients/kube/rbacv1/clusterroles/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1 "k8s.io/client-go/kubernetes/typed/rbac/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInte return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1.ClusterRoleApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1.ClusterRole, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1.ClusterRole, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1.ClusterRole, 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_api_rbac_v1.ClusterRole, 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_api_rbac_v1.ClusterRoleList, 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_api_rbac_v1.ClusterRole, 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_api_rbac_v1.ClusterRole, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1.ClusterRole, 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) 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_client_go_kubernetes_typed_rbac_v1.ClusterRoleInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1/rolebindings/resource.generated.go b/pkg/clients/kube/rbacv1/rolebindings/resource.generated.go index 691be38d1f..c335f6e0ff 100644 --- a/pkg/clients/kube/rbacv1/rolebindings/resource.generated.go +++ b/pkg/clients/kube/rbacv1/rolebindings/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1 "k8s.io/client-go/kubernetes/typed/rbac/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInte return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1.RoleBindingApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1.RoleBinding, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1.RoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1.RoleBinding, 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_api_rbac_v1.RoleBinding, 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_api_rbac_v1.RoleBindingList, 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_api_rbac_v1.RoleBinding, 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_api_rbac_v1.RoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1.RoleBinding, 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) 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_client_go_kubernetes_typed_rbac_v1.RoleBindingInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1/roles/resource.generated.go b/pkg/clients/kube/rbacv1/roles/resource.generated.go index 79c90455ae..d675f1fef9 100644 --- a/pkg/clients/kube/rbacv1/roles/resource.generated.go +++ b/pkg/clients/kube/rbacv1/roles/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1 "k8s.io/client-go/kubernetes/typed/rbac/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface, return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1.RoleInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1.RoleApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1.Role, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1.Role, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1.Role, 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_api_rbac_v1.Role, 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_api_rbac_v1.RoleList, 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_api_rbac_v1.Role, 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_api_rbac_v1.Role, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1.Role, 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) 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_client_go_kubernetes_typed_rbac_v1.RoleInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1alpha1/client.generated.go b/pkg/clients/kube/rbacv1alpha1/client.generated.go index e85d4cf7c3..135e834d63 100644 --- a/pkg/clients/kube/rbacv1alpha1/client.generated.go +++ b/pkg/clients/kube/rbacv1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" clusterrolebindings "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1alpha1/clusterrolebindings" clusterroles "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1alpha1/clusterroles" rolebindings "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1alpha1/rolebindings" @@ -18,6 +19,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RbacV1alp return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RbacV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RbacV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RbacV1alpha1Interface metrics metrics.MetricsConfigManager @@ -64,3 +69,24 @@ func (c *withTracing) RoleBindings(namespace string) k8s_io_client_go_kubernetes func (c *withTracing) Roles(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface { return roles.WithTracing(c.inner.Roles(namespace), c.client, "Role") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RbacV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ClusterRoleBindings() k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface { + return clusterrolebindings.WithLogging(c.inner.ClusterRoleBindings(), c.logger.WithValues("resource", "ClusterRoleBindings")) +} +func (c *withLogging) ClusterRoles() k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface { + return clusterroles.WithLogging(c.inner.ClusterRoles(), c.logger.WithValues("resource", "ClusterRoles")) +} +func (c *withLogging) RoleBindings(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface { + return rolebindings.WithLogging(c.inner.RoleBindings(namespace), c.logger.WithValues("resource", "RoleBindings").WithValues("namespace", namespace)) +} +func (c *withLogging) Roles(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface { + return roles.WithLogging(c.inner.Roles(namespace), c.logger.WithValues("resource", "Roles").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/rbacv1alpha1/clusterrolebindings/resource.generated.go b/pkg/clients/kube/rbacv1alpha1/clusterrolebindings/resource.generated.go index 895882d425..be082e8d64 100644 --- a/pkg/clients/kube/rbacv1alpha1/clusterrolebindings/resource.generated.go +++ b/pkg/clients/kube/rbacv1alpha1/clusterrolebindings/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1alpha1 "k8s.io/api/rbac/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1alpha1 "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRo return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1alpha1.ClusterRoleBindingApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1alpha1.ClusterRoleBinding, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1alpha1.ClusterRoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1alpha1.ClusterRoleBinding, 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_api_rbac_v1alpha1.ClusterRoleBinding, 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_api_rbac_v1alpha1.ClusterRoleBindingList, 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_api_rbac_v1alpha1.ClusterRoleBinding, 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_api_rbac_v1alpha1.ClusterRoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1alpha1.ClusterRoleBinding, 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) 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_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleBindingInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1alpha1/clusterroles/resource.generated.go b/pkg/clients/kube/rbacv1alpha1/clusterroles/resource.generated.go index 6d8e1cd90d..24ca24b891 100644 --- a/pkg/clients/kube/rbacv1alpha1/clusterroles/resource.generated.go +++ b/pkg/clients/kube/rbacv1alpha1/clusterroles/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1alpha1 "k8s.io/api/rbac/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1alpha1 "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRo return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1alpha1.ClusterRoleApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1alpha1.ClusterRole, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1alpha1.ClusterRole, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1alpha1.ClusterRole, 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_api_rbac_v1alpha1.ClusterRole, 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_api_rbac_v1alpha1.ClusterRoleList, 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_api_rbac_v1alpha1.ClusterRole, 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_api_rbac_v1alpha1.ClusterRole, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1alpha1.ClusterRole, 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) 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_client_go_kubernetes_typed_rbac_v1alpha1.ClusterRoleInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1alpha1/rolebindings/resource.generated.go b/pkg/clients/kube/rbacv1alpha1/rolebindings/resource.generated.go index bc39743bc7..5818d4ffcf 100644 --- a/pkg/clients/kube/rbacv1alpha1/rolebindings/resource.generated.go +++ b/pkg/clients/kube/rbacv1alpha1/rolebindings/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1alpha1 "k8s.io/api/rbac/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1alpha1 "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindi return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1alpha1.RoleBindingApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1alpha1.RoleBinding, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1alpha1.RoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1alpha1.RoleBinding, 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_api_rbac_v1alpha1.RoleBinding, 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_api_rbac_v1alpha1.RoleBindingList, 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_api_rbac_v1alpha1.RoleBinding, 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_api_rbac_v1alpha1.RoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1alpha1.RoleBinding, 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) 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_client_go_kubernetes_typed_rbac_v1alpha1.RoleBindingInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1alpha1/roles/resource.generated.go b/pkg/clients/kube/rbacv1alpha1/roles/resource.generated.go index 82291650ec..5b34e8964a 100644 --- a/pkg/clients/kube/rbacv1alpha1/roles/resource.generated.go +++ b/pkg/clients/kube/rbacv1alpha1/roles/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1alpha1 "k8s.io/api/rbac/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1alpha1 "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInter return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1alpha1.RoleApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1alpha1.Role, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1alpha1.Role, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1alpha1.Role, 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_api_rbac_v1alpha1.Role, 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_api_rbac_v1alpha1.RoleList, 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_api_rbac_v1alpha1.Role, 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_api_rbac_v1alpha1.Role, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1alpha1.Role, 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) 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_client_go_kubernetes_typed_rbac_v1alpha1.RoleInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1beta1/client.generated.go b/pkg/clients/kube/rbacv1beta1/client.generated.go index e8a2716478..40db08fe5a 100644 --- a/pkg/clients/kube/rbacv1beta1/client.generated.go +++ b/pkg/clients/kube/rbacv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" clusterrolebindings "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1beta1/clusterrolebindings" clusterroles "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1beta1/clusterroles" rolebindings "github.com/kyverno/kyverno/pkg/clients/kube/rbacv1beta1/rolebindings" @@ -18,6 +19,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RbacV1beta return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RbacV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RbacV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RbacV1beta1Interface metrics metrics.MetricsConfigManager @@ -64,3 +69,24 @@ func (c *withTracing) RoleBindings(namespace string) k8s_io_client_go_kubernetes func (c *withTracing) Roles(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface { return roles.WithTracing(c.inner.Roles(namespace), c.client, "Role") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RbacV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ClusterRoleBindings() k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface { + return clusterrolebindings.WithLogging(c.inner.ClusterRoleBindings(), c.logger.WithValues("resource", "ClusterRoleBindings")) +} +func (c *withLogging) ClusterRoles() k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface { + return clusterroles.WithLogging(c.inner.ClusterRoles(), c.logger.WithValues("resource", "ClusterRoles")) +} +func (c *withLogging) RoleBindings(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface { + return rolebindings.WithLogging(c.inner.RoleBindings(namespace), c.logger.WithValues("resource", "RoleBindings").WithValues("namespace", namespace)) +} +func (c *withLogging) Roles(namespace string) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface { + return roles.WithLogging(c.inner.Roles(namespace), c.logger.WithValues("resource", "Roles").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kube/rbacv1beta1/clusterrolebindings/resource.generated.go b/pkg/clients/kube/rbacv1beta1/clusterrolebindings/resource.generated.go index 0b787be3a7..d8af30e7bd 100644 --- a/pkg/clients/kube/rbacv1beta1/clusterrolebindings/resource.generated.go +++ b/pkg/clients/kube/rbacv1beta1/clusterrolebindings/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1beta1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRol return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1beta1.ClusterRoleBindingApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1beta1.ClusterRoleBinding, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1beta1.ClusterRoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1beta1.ClusterRoleBinding, 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_api_rbac_v1beta1.ClusterRoleBinding, 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_api_rbac_v1beta1.ClusterRoleBindingList, 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_api_rbac_v1beta1.ClusterRoleBinding, 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_api_rbac_v1beta1.ClusterRoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1beta1.ClusterRoleBinding, 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) 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_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleBindingInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1beta1/clusterroles/resource.generated.go b/pkg/clients/kube/rbacv1beta1/clusterroles/resource.generated.go index b215c0e26c..f2e0965e2f 100644 --- a/pkg/clients/kube/rbacv1beta1/clusterroles/resource.generated.go +++ b/pkg/clients/kube/rbacv1beta1/clusterroles/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1beta1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRol return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1beta1.ClusterRoleApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1beta1.ClusterRole, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1beta1.ClusterRole, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1beta1.ClusterRole, 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_api_rbac_v1beta1.ClusterRole, 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_api_rbac_v1beta1.ClusterRoleList, 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_api_rbac_v1beta1.ClusterRole, 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_api_rbac_v1beta1.ClusterRole, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1beta1.ClusterRole, 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) 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_client_go_kubernetes_typed_rbac_v1beta1.ClusterRoleInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1beta1/rolebindings/resource.generated.go b/pkg/clients/kube/rbacv1beta1/rolebindings/resource.generated.go index 905c123416..fcaf89018e 100644 --- a/pkg/clients/kube/rbacv1beta1/rolebindings/resource.generated.go +++ b/pkg/clients/kube/rbacv1beta1/rolebindings/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1beta1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindin return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1beta1.RoleBindingApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1beta1.RoleBinding, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1beta1.RoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1beta1.RoleBinding, 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_api_rbac_v1beta1.RoleBinding, 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_api_rbac_v1beta1.RoleBindingList, 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_api_rbac_v1beta1.RoleBinding, 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_api_rbac_v1beta1.RoleBinding, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1beta1.RoleBinding, 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) 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_client_go_kubernetes_typed_rbac_v1beta1.RoleBindingInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/rbacv1beta1/roles/resource.generated.go b/pkg/clients/kube/rbacv1beta1/roles/resource.generated.go index d0257a88a4..9388fcf162 100644 --- a/pkg/clients/kube/rbacv1beta1/roles/resource.generated.go +++ b/pkg/clients/kube/rbacv1beta1/roles/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_rbac_v1beta1 "k8s.io/api/rbac/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_rbac_v1beta1 "k8s.io/client-go/kubernetes/typed/rbac/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterf return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_rbac_v1beta1.RoleApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_rbac_v1beta1.Role, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_rbac_v1beta1.Role, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_rbac_v1beta1.Role, 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_api_rbac_v1beta1.Role, 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_api_rbac_v1beta1.RoleList, 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_api_rbac_v1beta1.Role, 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_api_rbac_v1beta1.Role, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_rbac_v1beta1.Role, 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) 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_client_go_kubernetes_typed_rbac_v1beta1.RoleInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/schedulingv1/client.generated.go b/pkg/clients/kube/schedulingv1/client.generated.go index 02ce069ee5..0b488bb2af 100644 --- a/pkg/clients/kube/schedulingv1/client.generated.go +++ b/pkg/clients/kube/schedulingv1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" priorityclasses "github.com/kyverno/kyverno/pkg/clients/kube/schedulingv1/priorityclasses" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_scheduling_v1 "k8s.io/client-go/kubernetes/typed/scheduling/v1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_scheduling_v1.Schedulin return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_scheduling_v1.SchedulingV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_scheduling_v1.SchedulingV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_scheduling_v1.SchedulingV1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) PriorityClasses() k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface { return priorityclasses.WithTracing(c.inner.PriorityClasses(), c.client, "PriorityClass") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_scheduling_v1.SchedulingV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) PriorityClasses() k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface { + return priorityclasses.WithLogging(c.inner.PriorityClasses(), c.logger.WithValues("resource", "PriorityClasses")) +} diff --git a/pkg/clients/kube/schedulingv1/priorityclasses/resource.generated.go b/pkg/clients/kube/schedulingv1/priorityclasses/resource.generated.go index f0cbacbbea..bc7ea62948 100644 --- a/pkg/clients/kube/schedulingv1/priorityclasses/resource.generated.go +++ b/pkg/clients/kube/schedulingv1/priorityclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_scheduling_v1 "k8s.io/api/scheduling/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_scheduling_v1 "k8s.io/client-go/kubernetes/typed/scheduling/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityC return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_scheduling_v1.PriorityClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_scheduling_v1.PriorityClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_scheduling_v1.PriorityClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_scheduling_v1.PriorityClass, 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_api_scheduling_v1.PriorityClass, 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_api_scheduling_v1.PriorityClassList, 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_api_scheduling_v1.PriorityClass, 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_api_scheduling_v1.PriorityClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_scheduling_v1.PriorityClass, 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) 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_client_go_kubernetes_typed_scheduling_v1.PriorityClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/schedulingv1alpha1/client.generated.go b/pkg/clients/kube/schedulingv1alpha1/client.generated.go index af7ff4832f..a0fa644b9a 100644 --- a/pkg/clients/kube/schedulingv1alpha1/client.generated.go +++ b/pkg/clients/kube/schedulingv1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" priorityclasses "github.com/kyverno/kyverno/pkg/clients/kube/schedulingv1alpha1/priorityclasses" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.Sch return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.SchedulingV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.SchedulingV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.SchedulingV1alpha1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) PriorityClasses() k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface { return priorityclasses.WithTracing(c.inner.PriorityClasses(), c.client, "PriorityClass") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.SchedulingV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) PriorityClasses() k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface { + return priorityclasses.WithLogging(c.inner.PriorityClasses(), c.logger.WithValues("resource", "PriorityClasses")) +} diff --git a/pkg/clients/kube/schedulingv1alpha1/priorityclasses/resource.generated.go b/pkg/clients/kube/schedulingv1alpha1/priorityclasses/resource.generated.go index 35ed1176a6..1336476c18 100644 --- a/pkg/clients/kube/schedulingv1alpha1/priorityclasses/resource.generated.go +++ b/pkg/clients/kube/schedulingv1alpha1/priorityclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_scheduling_v1alpha1 "k8s.io/api/scheduling/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1 "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.Pri return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_scheduling_v1alpha1.PriorityClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_scheduling_v1alpha1.PriorityClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_scheduling_v1alpha1.PriorityClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_scheduling_v1alpha1.PriorityClass, 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_api_scheduling_v1alpha1.PriorityClass, 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_api_scheduling_v1alpha1.PriorityClassList, 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_api_scheduling_v1alpha1.PriorityClass, 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_api_scheduling_v1alpha1.PriorityClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_scheduling_v1alpha1.PriorityClass, 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) 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_client_go_kubernetes_typed_scheduling_v1alpha1.PriorityClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/schedulingv1beta1/client.generated.go b/pkg/clients/kube/schedulingv1beta1/client.generated.go index c0b22dce31..12a354661e 100644 --- a/pkg/clients/kube/schedulingv1beta1/client.generated.go +++ b/pkg/clients/kube/schedulingv1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" priorityclasses "github.com/kyverno/kyverno/pkg/clients/kube/schedulingv1beta1/priorityclasses" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_kubernetes_typed_scheduling_v1beta1 "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1" @@ -15,6 +16,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.Sche return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.SchedulingV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.SchedulingV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.SchedulingV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) PriorityClasses() k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface { return priorityclasses.WithTracing(c.inner.PriorityClasses(), c.client, "PriorityClass") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.SchedulingV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) PriorityClasses() k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface { + return priorityclasses.WithLogging(c.inner.PriorityClasses(), c.logger.WithValues("resource", "PriorityClasses")) +} diff --git a/pkg/clients/kube/schedulingv1beta1/priorityclasses/resource.generated.go b/pkg/clients/kube/schedulingv1beta1/priorityclasses/resource.generated.go index 305adeb945..fa2540da3a 100644 --- a/pkg/clients/kube/schedulingv1beta1/priorityclasses/resource.generated.go +++ b/pkg/clients/kube/schedulingv1beta1/priorityclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_scheduling_v1beta1 "k8s.io/api/scheduling/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_scheduling_v1beta1 "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.Prio return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_scheduling_v1beta1.PriorityClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_scheduling_v1beta1.PriorityClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_scheduling_v1beta1.PriorityClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_scheduling_v1beta1.PriorityClass, 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_api_scheduling_v1beta1.PriorityClass, 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_api_scheduling_v1beta1.PriorityClassList, 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_api_scheduling_v1beta1.PriorityClass, 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_api_scheduling_v1beta1.PriorityClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_scheduling_v1beta1.PriorityClass, 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) 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_client_go_kubernetes_typed_scheduling_v1beta1.PriorityClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1/client.generated.go b/pkg/clients/kube/storagev1/client.generated.go index ee9bda5c82..8c1a6ef381 100644 --- a/pkg/clients/kube/storagev1/client.generated.go +++ b/pkg/clients/kube/storagev1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" csidrivers "github.com/kyverno/kyverno/pkg/clients/kube/storagev1/csidrivers" csinodes "github.com/kyverno/kyverno/pkg/clients/kube/storagev1/csinodes" csistoragecapacities "github.com/kyverno/kyverno/pkg/clients/kube/storagev1/csistoragecapacities" @@ -19,6 +20,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageV1Int return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageV1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1.StorageV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageV1Interface metrics metrics.MetricsConfigManager @@ -72,3 +77,27 @@ func (c *withTracing) StorageClasses() k8s_io_client_go_kubernetes_typed_storage func (c *withTracing) VolumeAttachments() k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface { return volumeattachments.WithTracing(c.inner.VolumeAttachments(), c.client, "VolumeAttachment") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CSIDrivers() k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInterface { + return csidrivers.WithLogging(c.inner.CSIDrivers(), c.logger.WithValues("resource", "CSIDrivers")) +} +func (c *withLogging) CSINodes() k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInterface { + return csinodes.WithLogging(c.inner.CSINodes(), c.logger.WithValues("resource", "CSINodes")) +} +func (c *withLogging) CSIStorageCapacities(namespace string) k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface { + return csistoragecapacities.WithLogging(c.inner.CSIStorageCapacities(namespace), c.logger.WithValues("resource", "CSIStorageCapacities").WithValues("namespace", namespace)) +} +func (c *withLogging) StorageClasses() k8s_io_client_go_kubernetes_typed_storage_v1.StorageClassInterface { + return storageclasses.WithLogging(c.inner.StorageClasses(), c.logger.WithValues("resource", "StorageClasses")) +} +func (c *withLogging) VolumeAttachments() k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface { + return volumeattachments.WithLogging(c.inner.VolumeAttachments(), c.logger.WithValues("resource", "VolumeAttachments")) +} diff --git a/pkg/clients/kube/storagev1/csidrivers/resource.generated.go b/pkg/clients/kube/storagev1/csidrivers/resource.generated.go index 87de06277c..97bac52473 100644 --- a/pkg/clients/kube/storagev1/csidrivers/resource.generated.go +++ b/pkg/clients/kube/storagev1/csidrivers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1 "k8s.io/client-go/kubernetes/typed/storage/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInt return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIDriverInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1.CSIDriverApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1.CSIDriver, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1.CSIDriver, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1.CSIDriver, 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_api_storage_v1.CSIDriver, 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_api_storage_v1.CSIDriverList, 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_api_storage_v1.CSIDriver, 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_api_storage_v1.CSIDriver, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1.CSIDriver, 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) 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_client_go_kubernetes_typed_storage_v1.CSIDriverInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1/csinodes/resource.generated.go b/pkg/clients/kube/storagev1/csinodes/resource.generated.go index 7ad2882713..2091d9bd67 100644 --- a/pkg/clients/kube/storagev1/csinodes/resource.generated.go +++ b/pkg/clients/kube/storagev1/csinodes/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1 "k8s.io/client-go/kubernetes/typed/storage/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInter return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1.CSINodeInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1.CSINodeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1.CSINode, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1.CSINode, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1.CSINode, 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_api_storage_v1.CSINode, 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_api_storage_v1.CSINodeList, 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_api_storage_v1.CSINode, 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_api_storage_v1.CSINode, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1.CSINode, 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) 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_client_go_kubernetes_typed_storage_v1.CSINodeInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1/csistoragecapacities/resource.generated.go b/pkg/clients/kube/storagev1/csistoragecapacities/resource.generated.go index 09891515ac..f0ea43c517 100644 --- a/pkg/clients/kube/storagev1/csistoragecapacities/resource.generated.go +++ b/pkg/clients/kube/storagev1/csistoragecapacities/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1 "k8s.io/client-go/kubernetes/typed/storage/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCa return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1.CSIStorageCapacityApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1.CSIStorageCapacity, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1.CSIStorageCapacity, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1.CSIStorageCapacity, 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_api_storage_v1.CSIStorageCapacity, 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_api_storage_v1.CSIStorageCapacityList, 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_api_storage_v1.CSIStorageCapacity, 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_api_storage_v1.CSIStorageCapacity, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1.CSIStorageCapacity, 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) 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_client_go_kubernetes_typed_storage_v1.CSIStorageCapacityInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1/storageclasses/resource.generated.go b/pkg/clients/kube/storagev1/storageclasses/resource.generated.go index e23fc799bf..347af821ea 100644 --- a/pkg/clients/kube/storagev1/storageclasses/resource.generated.go +++ b/pkg/clients/kube/storagev1/storageclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1 "k8s.io/client-go/kubernetes/typed/storage/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1.StorageClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1.StorageClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageClass return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1.StorageClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1.StorageClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1.StorageClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1.StorageClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1.StorageClass, 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_api_storage_v1.StorageClass, 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_api_storage_v1.StorageClassList, 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_api_storage_v1.StorageClass, 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_api_storage_v1.StorageClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1.StorageClass, 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) 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_client_go_kubernetes_typed_storage_v1.StorageClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1/volumeattachments/resource.generated.go b/pkg/clients/kube/storagev1/volumeattachments/resource.generated.go index 747baee4a6..46294370bc 100644 --- a/pkg/clients/kube/storagev1/volumeattachments/resource.generated.go +++ b/pkg/clients/kube/storagev1/volumeattachments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1 "k8s.io/client-go/kubernetes/typed/storage/v1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttach return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1.VolumeAttachmentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1.VolumeAttachment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1.VolumeAttachmentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1.VolumeAttachment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1.VolumeAttachment, 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_api_storage_v1.VolumeAttachment, 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_api_storage_v1.VolumeAttachmentList, 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_api_storage_v1.VolumeAttachment, 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_api_storage_v1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1.VolumeAttachment, 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_api_storage_v1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1.VolumeAttachment, 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_client_go_kubernetes_typed_storage_v1.VolumeAttachmentInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1alpha1/client.generated.go b/pkg/clients/kube/storagev1alpha1/client.generated.go index c673d4fb1d..a0324e4076 100644 --- a/pkg/clients/kube/storagev1alpha1/client.generated.go +++ b/pkg/clients/kube/storagev1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" csistoragecapacities "github.com/kyverno/kyverno/pkg/clients/kube/storagev1alpha1/csistoragecapacities" volumeattachments "github.com/kyverno/kyverno/pkg/clients/kube/storagev1alpha1/volumeattachments" "github.com/kyverno/kyverno/pkg/metrics" @@ -16,6 +17,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.Storag return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.StorageV1alpha1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1alpha1.StorageV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.StorageV1alpha1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) CSIStorageCapacities(namespace string) k8s_io_client_go_ku func (c *withTracing) VolumeAttachments() k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface { return volumeattachments.WithTracing(c.inner.VolumeAttachments(), c.client, "VolumeAttachment") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.StorageV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CSIStorageCapacities(namespace string) k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface { + return csistoragecapacities.WithLogging(c.inner.CSIStorageCapacities(namespace), c.logger.WithValues("resource", "CSIStorageCapacities").WithValues("namespace", namespace)) +} +func (c *withLogging) VolumeAttachments() k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface { + return volumeattachments.WithLogging(c.inner.VolumeAttachments(), c.logger.WithValues("resource", "VolumeAttachments")) +} diff --git a/pkg/clients/kube/storagev1alpha1/csistoragecapacities/resource.generated.go b/pkg/clients/kube/storagev1alpha1/csistoragecapacities/resource.generated.go index cb7dbdc2f1..fed3a6a09b 100644 --- a/pkg/clients/kube/storagev1alpha1/csistoragecapacities/resource.generated.go +++ b/pkg/clients/kube/storagev1alpha1/csistoragecapacities/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1alpha1 "k8s.io/api/storage/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1alpha1 "k8s.io/client-go/kubernetes/typed/storage/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSISto return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1alpha1.CSIStorageCapacityApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1alpha1.CSIStorageCapacity, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1alpha1.CSIStorageCapacity, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1alpha1.CSIStorageCapacity, 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_api_storage_v1alpha1.CSIStorageCapacity, 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_api_storage_v1alpha1.CSIStorageCapacityList, 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_api_storage_v1alpha1.CSIStorageCapacity, 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_api_storage_v1alpha1.CSIStorageCapacity, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1alpha1.CSIStorageCapacity, 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) 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_client_go_kubernetes_typed_storage_v1alpha1.CSIStorageCapacityInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1alpha1/volumeattachments/resource.generated.go b/pkg/clients/kube/storagev1alpha1/volumeattachments/resource.generated.go index 59fa5e51c4..e3da3244c5 100644 --- a/pkg/clients/kube/storagev1alpha1/volumeattachments/resource.generated.go +++ b/pkg/clients/kube/storagev1alpha1/volumeattachments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1alpha1 "k8s.io/api/storage/v1alpha1" k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1alpha1 "k8s.io/client-go/kubernetes/typed/storage/v1alpha1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.Volume return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1alpha1.VolumeAttachmentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1alpha1.VolumeAttachment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1alpha1.VolumeAttachmentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1alpha1.VolumeAttachment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1alpha1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1alpha1.VolumeAttachment, 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_api_storage_v1alpha1.VolumeAttachment, 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_api_storage_v1alpha1.VolumeAttachmentList, 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_api_storage_v1alpha1.VolumeAttachment, 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_api_storage_v1alpha1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1alpha1.VolumeAttachment, 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_api_storage_v1alpha1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1alpha1.VolumeAttachment, 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_client_go_kubernetes_typed_storage_v1alpha1.VolumeAttachmentInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1beta1/client.generated.go b/pkg/clients/kube/storagev1beta1/client.generated.go index c92a3b79ea..ca94490a40 100644 --- a/pkg/clients/kube/storagev1beta1/client.generated.go +++ b/pkg/clients/kube/storagev1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" csidrivers "github.com/kyverno/kyverno/pkg/clients/kube/storagev1beta1/csidrivers" csinodes "github.com/kyverno/kyverno/pkg/clients/kube/storagev1beta1/csinodes" csistoragecapacities "github.com/kyverno/kyverno/pkg/clients/kube/storagev1beta1/csistoragecapacities" @@ -19,6 +20,10 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.Storage return &withTracing{inner, client} } +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageV1beta1Interface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageV1beta1Interface metrics metrics.MetricsConfigManager @@ -72,3 +77,27 @@ func (c *withTracing) StorageClasses() k8s_io_client_go_kubernetes_typed_storage func (c *withTracing) VolumeAttachments() k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface { return volumeattachments.WithTracing(c.inner.VolumeAttachments(), c.client, "VolumeAttachment") } + +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CSIDrivers() k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface { + return csidrivers.WithLogging(c.inner.CSIDrivers(), c.logger.WithValues("resource", "CSIDrivers")) +} +func (c *withLogging) CSINodes() k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface { + return csinodes.WithLogging(c.inner.CSINodes(), c.logger.WithValues("resource", "CSINodes")) +} +func (c *withLogging) CSIStorageCapacities(namespace string) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface { + return csistoragecapacities.WithLogging(c.inner.CSIStorageCapacities(namespace), c.logger.WithValues("resource", "CSIStorageCapacities").WithValues("namespace", namespace)) +} +func (c *withLogging) StorageClasses() k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface { + return storageclasses.WithLogging(c.inner.StorageClasses(), c.logger.WithValues("resource", "StorageClasses")) +} +func (c *withLogging) VolumeAttachments() k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface { + return volumeattachments.WithLogging(c.inner.VolumeAttachments(), c.logger.WithValues("resource", "VolumeAttachments")) +} diff --git a/pkg/clients/kube/storagev1beta1/csidrivers/resource.generated.go b/pkg/clients/kube/storagev1beta1/csidrivers/resource.generated.go index 1a490f6552..f0f59f30db 100644 --- a/pkg/clients/kube/storagev1beta1/csidrivers/resource.generated.go +++ b/pkg/clients/kube/storagev1beta1/csidrivers/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1beta1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1beta1 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriv return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1beta1.CSIDriverApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1beta1.CSIDriver, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1beta1.CSIDriver, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1beta1.CSIDriver, 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_api_storage_v1beta1.CSIDriver, 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_api_storage_v1beta1.CSIDriverList, 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_api_storage_v1beta1.CSIDriver, 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_api_storage_v1beta1.CSIDriver, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1beta1.CSIDriver, 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) 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_client_go_kubernetes_typed_storage_v1beta1.CSIDriverInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1beta1/csinodes/resource.generated.go b/pkg/clients/kube/storagev1beta1/csinodes/resource.generated.go index cc93b67b52..911bb12c67 100644 --- a/pkg/clients/kube/storagev1beta1/csinodes/resource.generated.go +++ b/pkg/clients/kube/storagev1beta1/csinodes/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1beta1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1beta1 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINode return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1beta1.CSINodeApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1beta1.CSINode, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1beta1.CSINode, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1beta1.CSINode, 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_api_storage_v1beta1.CSINode, 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_api_storage_v1beta1.CSINodeList, 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_api_storage_v1beta1.CSINode, 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_api_storage_v1beta1.CSINode, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1beta1.CSINode, 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) 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_client_go_kubernetes_typed_storage_v1beta1.CSINodeInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1beta1/csistoragecapacities/resource.generated.go b/pkg/clients/kube/storagev1beta1/csistoragecapacities/resource.generated.go index d5b8e5f4e2..10f8a63326 100644 --- a/pkg/clients/kube/storagev1beta1/csistoragecapacities/resource.generated.go +++ b/pkg/clients/kube/storagev1beta1/csistoragecapacities/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1beta1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1beta1 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStor return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1beta1.CSIStorageCapacityApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1beta1.CSIStorageCapacity, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1beta1.CSIStorageCapacity, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1beta1.CSIStorageCapacity, 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_api_storage_v1beta1.CSIStorageCapacity, 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_api_storage_v1beta1.CSIStorageCapacityList, 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_api_storage_v1beta1.CSIStorageCapacity, 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_api_storage_v1beta1.CSIStorageCapacity, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1beta1.CSIStorageCapacity, 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) 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_client_go_kubernetes_typed_storage_v1beta1.CSIStorageCapacityInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1beta1/storageclasses/resource.generated.go b/pkg/clients/kube/storagev1beta1/storageclasses/resource.generated.go index a313d168d9..fd2f83ec0d 100644 --- a/pkg/clients/kube/storagev1beta1/storageclasses/resource.generated.go +++ b/pkg/clients/kube/storagev1beta1/storageclasses/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1beta1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1beta1 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,111 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.Storage return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1beta1.StorageClassApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1beta1.StorageClass, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1beta1.StorageClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1beta1.StorageClass, 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_api_storage_v1beta1.StorageClass, 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_api_storage_v1beta1.StorageClassList, 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_api_storage_v1beta1.StorageClass, 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_api_storage_v1beta1.StorageClass, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1beta1.StorageClass, 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) 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_client_go_kubernetes_typed_storage_v1beta1.StorageClassInterface recorder metrics.Recorder diff --git a/pkg/clients/kube/storagev1beta1/volumeattachments/resource.generated.go b/pkg/clients/kube/storagev1beta1/volumeattachments/resource.generated.go index 8f86438d1e..f65cdd612f 100644 --- a/pkg/clients/kube/storagev1beta1/volumeattachments/resource.generated.go +++ b/pkg/clients/kube/storagev1beta1/volumeattachments/resource.generated.go @@ -3,11 +3,14 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "go.uber.org/multierr" k8s_io_api_storage_v1beta1 "k8s.io/api/storage/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" @@ -16,6 +19,10 @@ import ( k8s_io_client_go_kubernetes_typed_storage_v1beta1 "k8s.io/client-go/kubernetes/typed/storage/v1beta1" ) +func WithLogging(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface, logger logr.Logger) k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface, recorder metrics.Recorder) k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface { return &withMetrics{inner, recorder} } @@ -24,6 +31,133 @@ func WithTracing(inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeA return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface + logger logr.Logger +} + +func (c *withLogging) Apply(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1beta1.VolumeAttachmentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1beta1.VolumeAttachment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Apply") + ret0, ret1 := c.inner.Apply(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "Apply failed", "duration", time.Since(start)) + } else { + logger.Info("Apply done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) ApplyStatus(arg0 context.Context, arg1 *k8s_io_client_go_applyconfigurations_storage_v1beta1.VolumeAttachmentApplyConfiguration, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.ApplyOptions) (*k8s_io_api_storage_v1beta1.VolumeAttachment, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "ApplyStatus") + ret0, ret1 := c.inner.ApplyStatus(arg0, arg1, arg2) + if err := multierr.Combine(ret1); err != nil { + logger.Error(err, "ApplyStatus failed", "duration", time.Since(start)) + } else { + logger.Info("ApplyStatus done", "duration", time.Since(start)) + } + return ret0, ret1 +} +func (c *withLogging) Create(arg0 context.Context, arg1 *k8s_io_api_storage_v1beta1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*k8s_io_api_storage_v1beta1.VolumeAttachment, 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_api_storage_v1beta1.VolumeAttachment, 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_api_storage_v1beta1.VolumeAttachmentList, 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_api_storage_v1beta1.VolumeAttachment, 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_api_storage_v1beta1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1beta1.VolumeAttachment, 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_api_storage_v1beta1.VolumeAttachment, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*k8s_io_api_storage_v1beta1.VolumeAttachment, 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_client_go_kubernetes_typed_storage_v1beta1.VolumeAttachmentInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/clientset.generated.go b/pkg/clients/kyverno/clientset.generated.go index 2a8444083e..718d7bf7a2 100644 --- a/pkg/clients/kyverno/clientset.generated.go +++ b/pkg/clients/kyverno/clientset.generated.go @@ -1,6 +1,7 @@ package clientset import ( + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned "github.com/kyverno/kyverno/pkg/client/clientset/versioned" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha1" @@ -66,3 +67,14 @@ func WrapWithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versi wgpolicyk8sv1alpha2: wgpolicyk8sv1alpha2.WithTracing(inner.Wgpolicyk8sV1alpha2(), "Wgpolicyk8sV1alpha2"), } } + +func WrapWithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface { + return &clientset{ + discovery: discovery.WithLogging(inner.Discovery(), logger.WithValues("group", "Discovery")), + kyvernov1: kyvernov1.WithLogging(inner.KyvernoV1(), logger.WithValues("group", "KyvernoV1")), + kyvernov1alpha1: kyvernov1alpha1.WithLogging(inner.KyvernoV1alpha1(), logger.WithValues("group", "KyvernoV1alpha1")), + kyvernov1alpha2: kyvernov1alpha2.WithLogging(inner.KyvernoV1alpha2(), logger.WithValues("group", "KyvernoV1alpha2")), + kyvernov1beta1: kyvernov1beta1.WithLogging(inner.KyvernoV1beta1(), logger.WithValues("group", "KyvernoV1beta1")), + wgpolicyk8sv1alpha2: wgpolicyk8sv1alpha2.WithLogging(inner.Wgpolicyk8sV1alpha2(), logger.WithValues("group", "Wgpolicyk8sV1alpha2")), + } +} diff --git a/pkg/clients/kyverno/discovery/resource.generated.go b/pkg/clients/kyverno/discovery/resource.generated.go index 5ad240046d..d7b535d72f 100644 --- a/pkg/clients/kyverno/discovery/resource.generated.go +++ b/pkg/clients/kyverno/discovery/resource.generated.go @@ -3,12 +3,15 @@ package resource import ( "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_google_gnostic_openapiv2 "github.com/google/gnostic/openapiv2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" @@ -16,6 +19,10 @@ import ( 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} } @@ -24,6 +31,103 @@ func WithTracing(inner k8s_io_client_go_discovery.DiscoveryInterface, client, ki 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 +} + type withMetrics struct { inner k8s_io_client_go_discovery.DiscoveryInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/interface.generated.go b/pkg/clients/kyverno/interface.generated.go index bc276cf49c..51d7616d57 100644 --- a/pkg/clients/kyverno/interface.generated.go +++ b/pkg/clients/kyverno/interface.generated.go @@ -3,6 +3,7 @@ package clientset import ( "net/http" + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned "github.com/kyverno/kyverno/pkg/client/clientset/versioned" "github.com/kyverno/kyverno/pkg/metrics" "k8s.io/client-go/rest" @@ -10,16 +11,39 @@ import ( type Interface interface { github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface - WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface + WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface WithTracing() Interface + WithLogging(logr.Logger) Interface } -type wrapper struct { - github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface +func From(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.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 := github_com_kyverno_kyverno_pkg_client_clientset_versioned.NewForConfig(c) if err != nil { @@ -40,34 +64,22 @@ func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface { return From(github_com_kyverno_kyverno_pkg_client_clientset_versioned.NewForConfigOrDie(c), opts...) } -func from(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface, opts ...NewOption) Interface { - return &wrapper{inner} +type wrapper struct { + github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface } -func From(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface, opts ...NewOption) Interface { - i := from(inner) - for _, opt := range opts { - i = opt(i) - } - return i +func from(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.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 WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption { - return func(i Interface) Interface { - return i.WithMetrics(m, t) - } -} - func (i *wrapper) WithTracing() Interface { return from(WrapWithTracing(i)) } -func WithTracing() NewOption { - return func(i Interface) Interface { - return i.WithTracing() - } +func (i *wrapper) WithLogging(logger logr.Logger) Interface { + return from(WrapWithLogging(i, logger)) } diff --git a/pkg/clients/kyverno/kyvernov1/client.generated.go b/pkg/clients/kyverno/kyvernov1/client.generated.go index 503fc1aa14..87dc404346 100644 --- a/pkg/clients/kyverno/kyvernov1/client.generated.go +++ b/pkg/clients/kyverno/kyvernov1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1" clusterpolicies "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1/clusterpolicies" generaterequests "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1/generaterequests" @@ -17,6 +18,10 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client} } +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface metrics metrics.MetricsConfigManager @@ -56,3 +61,21 @@ func (c *withTracing) GenerateRequests(namespace string) github_com_kyverno_kyve func (c *withTracing) Policies(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface { return policies.WithTracing(c.inner.Policies(namespace), c.client, "Policy") } + +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ClusterPolicies() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface { + return clusterpolicies.WithLogging(c.inner.ClusterPolicies(), c.logger.WithValues("resource", "ClusterPolicies")) +} +func (c *withLogging) GenerateRequests(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface { + return generaterequests.WithLogging(c.inner.GenerateRequests(namespace), c.logger.WithValues("resource", "GenerateRequests").WithValues("namespace", namespace)) +} +func (c *withLogging) Policies(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface { + return policies.WithLogging(c.inner.Policies(namespace), c.logger.WithValues("resource", "Policies").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kyverno/kyvernov1/clusterpolicies/resource.generated.go b/pkg/clients/kyverno/kyvernov1/clusterpolicies/resource.generated.go index 686b3fdd65..0b61d30b0e 100644 --- a/pkg/clients/kyverno/kyvernov1/clusterpolicies/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1/clusterpolicies/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1 "github.com/kyverno/kyverno/api/kyverno/v1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,111 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicyList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, 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 *github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, 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 *github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.ClusterPolicy, 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.ClusterPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1/generaterequests/resource.generated.go b/pkg/clients/kyverno/kyvernov1/generaterequests/resource.generated.go index 9d32b6b5e3..004bc0d99c 100644 --- a/pkg/clients/kyverno/kyvernov1/generaterequests/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1/generaterequests/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1 "github.com/kyverno/kyverno/api/kyverno/v1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,111 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequestList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, 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 *github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, 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 *github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.GenerateRequest, 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.GenerateRequestInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1/policies/resource.generated.go b/pkg/clients/kyverno/kyvernov1/policies/resource.generated.go index 7cf971dc7f..457ad4db43 100644 --- a/pkg/clients/kyverno/kyvernov1/policies/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1/policies/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1 "github.com/kyverno/kyverno/api/kyverno/v1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,111 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1.Policy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.Policy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.Policy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.PolicyList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1.Policy, 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 *github_com_kyverno_kyverno_api_kyverno_v1.Policy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.Policy, 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 *github_com_kyverno_kyverno_api_kyverno_v1.Policy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1.Policy, 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.PolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1alpha1/cleanuppolicies/resource.generated.go b/pkg/clients/kyverno/kyvernov1alpha1/cleanuppolicies/resource.generated.go index 89c0e98cfb..31a63e0b26 100644 --- a/pkg/clients/kyverno/kyvernov1alpha1/cleanuppolicies/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha1/cleanuppolicies/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1alpha1 "github.com/kyverno/kyverno/api/kyverno/v1alpha1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha1" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,111 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicyList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.CleanupPolicy, 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1alpha1/client.generated.go b/pkg/clients/kyverno/kyvernov1alpha1/client.generated.go index 1f84b386cf..79515b4ea0 100644 --- a/pkg/clients/kyverno/kyvernov1alpha1/client.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha1" cleanuppolicies "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha1/cleanuppolicies" clustercleanuppolicies "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha1/clustercleanuppolicies" @@ -16,6 +17,10 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client} } +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.KyvernoV1alpha1Interface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.KyvernoV1alpha1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.KyvernoV1alpha1Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) CleanupPolicies(namespace string) github_com_kyverno_kyver func (c *withTracing) ClusterCleanupPolicies() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface { return clustercleanuppolicies.WithTracing(c.inner.ClusterCleanupPolicies(), c.client, "ClusterCleanupPolicy") } + +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.KyvernoV1alpha1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) CleanupPolicies(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.CleanupPolicyInterface { + return cleanuppolicies.WithLogging(c.inner.CleanupPolicies(namespace), c.logger.WithValues("resource", "CleanupPolicies").WithValues("namespace", namespace)) +} +func (c *withLogging) ClusterCleanupPolicies() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface { + return clustercleanuppolicies.WithLogging(c.inner.ClusterCleanupPolicies(), c.logger.WithValues("resource", "ClusterCleanupPolicies")) +} diff --git a/pkg/clients/kyverno/kyvernov1alpha1/clustercleanuppolicies/resource.generated.go b/pkg/clients/kyverno/kyvernov1alpha1/clustercleanuppolicies/resource.generated.go index b09b6fb2da..4b1415bb78 100644 --- a/pkg/clients/kyverno/kyvernov1alpha1/clustercleanuppolicies/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha1/clustercleanuppolicies/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1alpha1 "github.com/kyverno/kyverno/api/kyverno/v1alpha1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha1" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,111 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicyList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha1.ClusterCleanupPolicy, 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.ClusterCleanupPolicyInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1alpha2/admissionreports/resource.generated.go b/pkg/clients/kyverno/kyvernov1alpha2/admissionreports/resource.generated.go index 8a2b0fcf23..d33b84c4d7 100644 --- a/pkg/clients/kyverno/kyvernov1alpha2/admissionreports/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha2/admissionreports/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,100 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReportList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReport, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.AdmissionReport, 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) 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1alpha2/backgroundscanreports/resource.generated.go b/pkg/clients/kyverno/kyvernov1alpha2/backgroundscanreports/resource.generated.go index dab82f9ae7..f5e4724e41 100644 --- a/pkg/clients/kyverno/kyvernov1alpha2/backgroundscanreports/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha2/backgroundscanreports/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,100 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReportList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReport, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.BackgroundScanReport, 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) 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1alpha2/client.generated.go b/pkg/clients/kyverno/kyvernov1alpha2/client.generated.go index ff1d0d5f95..5baf913c04 100644 --- a/pkg/clients/kyverno/kyvernov1alpha2/client.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha2/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha2" admissionreports "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha2/admissionreports" backgroundscanreports "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha2/backgroundscanreports" @@ -18,6 +19,10 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client} } +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.KyvernoV1alpha2Interface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.KyvernoV1alpha2Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.KyvernoV1alpha2Interface metrics metrics.MetricsConfigManager @@ -64,3 +69,24 @@ func (c *withTracing) ClusterAdmissionReports() github_com_kyverno_kyverno_pkg_c func (c *withTracing) ClusterBackgroundScanReports() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface { return clusterbackgroundscanreports.WithTracing(c.inner.ClusterBackgroundScanReports(), c.client, "ClusterBackgroundScanReport") } + +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.KyvernoV1alpha2Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) AdmissionReports(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.AdmissionReportInterface { + return admissionreports.WithLogging(c.inner.AdmissionReports(namespace), c.logger.WithValues("resource", "AdmissionReports").WithValues("namespace", namespace)) +} +func (c *withLogging) BackgroundScanReports(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.BackgroundScanReportInterface { + return backgroundscanreports.WithLogging(c.inner.BackgroundScanReports(namespace), c.logger.WithValues("resource", "BackgroundScanReports").WithValues("namespace", namespace)) +} +func (c *withLogging) ClusterAdmissionReports() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface { + return clusteradmissionreports.WithLogging(c.inner.ClusterAdmissionReports(), c.logger.WithValues("resource", "ClusterAdmissionReports")) +} +func (c *withLogging) ClusterBackgroundScanReports() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface { + return clusterbackgroundscanreports.WithLogging(c.inner.ClusterBackgroundScanReports(), c.logger.WithValues("resource", "ClusterBackgroundScanReports")) +} diff --git a/pkg/clients/kyverno/kyvernov1alpha2/clusteradmissionreports/resource.generated.go b/pkg/clients/kyverno/kyvernov1alpha2/clusteradmissionreports/resource.generated.go index 64c3093a43..c6d95246c7 100644 --- a/pkg/clients/kyverno/kyvernov1alpha2/clusteradmissionreports/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha2/clusteradmissionreports/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,100 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReportList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReport, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterAdmissionReport, 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) 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterAdmissionReportInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1alpha2/clusterbackgroundscanreports/resource.generated.go b/pkg/clients/kyverno/kyvernov1alpha2/clusterbackgroundscanreports/resource.generated.go index 4a5459256e..4c83cbe4af 100644 --- a/pkg/clients/kyverno/kyvernov1alpha2/clusterbackgroundscanreports/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1alpha2/clusterbackgroundscanreports/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1alpha2 "github.com/kyverno/kyverno/api/kyverno/v1alpha2" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,100 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReport, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReportList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReport, 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 *github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1alpha2.ClusterBackgroundScanReport, 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) 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.ClusterBackgroundScanReportInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/kyvernov1beta1/client.generated.go b/pkg/clients/kyverno/kyvernov1beta1/client.generated.go index bb8c2efe12..a2757dfe35 100644 --- a/pkg/clients/kyverno/kyvernov1beta1/client.generated.go +++ b/pkg/clients/kyverno/kyvernov1beta1/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1beta1" updaterequests "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1beta1/updaterequests" "github.com/kyverno/kyverno/pkg/metrics" @@ -15,6 +16,10 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client} } +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.KyvernoV1beta1Interface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.KyvernoV1beta1Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.KyvernoV1beta1Interface metrics metrics.MetricsConfigManager @@ -40,3 +45,15 @@ func (c *withTracing) RESTClient() rest.Interface { func (c *withTracing) UpdateRequests(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface { return updaterequests.WithTracing(c.inner.UpdateRequests(namespace), c.client, "UpdateRequest") } + +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.KyvernoV1beta1Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) UpdateRequests(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface { + return updaterequests.WithLogging(c.inner.UpdateRequests(namespace), c.logger.WithValues("resource", "UpdateRequests").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kyverno/kyvernov1beta1/updaterequests/resource.generated.go b/pkg/clients/kyverno/kyvernov1beta1/updaterequests/resource.generated.go index f146810f64..134ebbc14c 100644 --- a/pkg/clients/kyverno/kyvernov1beta1/updaterequests/resource.generated.go +++ b/pkg/clients/kyverno/kyvernov1beta1/updaterequests/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_kyverno_v1beta1 "github.com/kyverno/kyverno/api/kyverno/v1beta1" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1beta1" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,111 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, 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) (*github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, 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) (*github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequestList, 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) (*github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, 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 *github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, 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 *github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_kyverno_v1beta1.UpdateRequest, 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1beta1.UpdateRequestInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/wgpolicyk8sv1alpha2/client.generated.go b/pkg/clients/kyverno/wgpolicyk8sv1alpha2/client.generated.go index c6b774063f..1c60e79189 100644 --- a/pkg/clients/kyverno/wgpolicyk8sv1alpha2/client.generated.go +++ b/pkg/clients/kyverno/wgpolicyk8sv1alpha2/client.generated.go @@ -1,6 +1,7 @@ package client import ( + "github.com/go-logr/logr" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/policyreport/v1alpha2" clusterpolicyreports "github.com/kyverno/kyverno/pkg/clients/kyverno/wgpolicyk8sv1alpha2/clusterpolicyreports" policyreports "github.com/kyverno/kyverno/pkg/clients/kyverno/wgpolicyk8sv1alpha2/policyreports" @@ -16,6 +17,10 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client} } +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.Wgpolicyk8sV1alpha2Interface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.Wgpolicyk8sV1alpha2Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.Wgpolicyk8sV1alpha2Interface metrics metrics.MetricsConfigManager @@ -48,3 +53,18 @@ func (c *withTracing) ClusterPolicyReports() github_com_kyverno_kyverno_pkg_clie func (c *withTracing) PolicyReports(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface { return policyreports.WithTracing(c.inner.PolicyReports(namespace), c.client, "PolicyReport") } + +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.Wgpolicyk8sV1alpha2Interface + logger logr.Logger +} + +func (c *withLogging) RESTClient() rest.Interface { + return c.inner.RESTClient() +} +func (c *withLogging) ClusterPolicyReports() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface { + return clusterpolicyreports.WithLogging(c.inner.ClusterPolicyReports(), c.logger.WithValues("resource", "ClusterPolicyReports")) +} +func (c *withLogging) PolicyReports(namespace string) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface { + return policyreports.WithLogging(c.inner.PolicyReports(namespace), c.logger.WithValues("resource", "PolicyReports").WithValues("namespace", namespace)) +} diff --git a/pkg/clients/kyverno/wgpolicyk8sv1alpha2/clusterpolicyreports/resource.generated.go b/pkg/clients/kyverno/wgpolicyk8sv1alpha2/clusterpolicyreports/resource.generated.go index 1e57b0897c..edc42a3a65 100644 --- a/pkg/clients/kyverno/wgpolicyk8sv1alpha2/clusterpolicyreports/resource.generated.go +++ b/pkg/clients/kyverno/wgpolicyk8sv1alpha2/clusterpolicyreports/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_policyreport_v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/policyreport/v1alpha2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,100 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReport, 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) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReport, 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) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReportList, 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) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReport, 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 *github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.ClusterPolicyReport, 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) 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.ClusterPolicyReportInterface recorder metrics.Recorder diff --git a/pkg/clients/kyverno/wgpolicyk8sv1alpha2/policyreports/resource.generated.go b/pkg/clients/kyverno/wgpolicyk8sv1alpha2/policyreports/resource.generated.go index 74c5bdb3d4..aade1f1f48 100644 --- a/pkg/clients/kyverno/wgpolicyk8sv1alpha2/policyreports/resource.generated.go +++ b/pkg/clients/kyverno/wgpolicyk8sv1alpha2/policyreports/resource.generated.go @@ -3,18 +3,25 @@ package resource import ( context "context" "fmt" + "time" + "github.com/go-logr/logr" github_com_kyverno_kyverno_api_policyreport_v1alpha2 "github.com/kyverno/kyverno/api/policyreport/v1alpha2" github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/policyreport/v1alpha2" "github.com/kyverno/kyverno/pkg/metrics" "github.com/kyverno/kyverno/pkg/tracing" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" + "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" ) +func WithLogging(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface, logger logr.Logger) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface, recorder metrics.Recorder) github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface { return &withMetrics{inner, recorder} } @@ -23,6 +30,100 @@ func WithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned return &withTracing{inner, client, kind} } +type withLogging struct { + inner github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface + logger logr.Logger +} + +func (c *withLogging) Create(arg0 context.Context, arg1 *github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.CreateOptions) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReport, 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) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReport, 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) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReportList, 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) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReport, 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 *github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReport, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.UpdateOptions) (*github_com_kyverno_kyverno_api_policyreport_v1alpha2.PolicyReport, 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) 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 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.PolicyReportInterface recorder metrics.Recorder diff --git a/pkg/clients/metadata/client.go b/pkg/clients/metadata/client.go index b7cf743341..5700dd0e18 100644 --- a/pkg/clients/metadata/client.go +++ b/pkg/clients/metadata/client.go @@ -1,6 +1,7 @@ package clientset import ( + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/clients/metadata/resource" "github.com/kyverno/kyverno/pkg/metrics" "k8s.io/apimachinery/pkg/runtime/schema" @@ -19,6 +20,10 @@ func WrapWithTracing(inner metadata.Interface) metadata.Interface { return &withTracing{inner} } +func WrapWithLogging(inner metadata.Interface, logger logr.Logger) metadata.Interface { + return &withLogging{inner, logger} +} + type withMetrics struct { inner metadata.Interface metrics metrics.MetricsConfigManager @@ -75,3 +80,29 @@ func (c *withTracing) Resource(gvr schema.GroupVersionResource) metadata.Getter &withTracingNamespaceable{client, kind, inner}, } } + +type withLogging struct { + inner metadata.Interface + logger logr.Logger +} + +type withLoggingNamespaceable struct { + inner namespaceableInterface + logger logr.Logger +} + +func (c *withLoggingNamespaceable) Namespace(namespace string) metadata.ResourceInterface { + return resource.WithLogging(c.inner.Namespace(namespace), c.logger) +} + +func (c *withLogging) Resource(gvr schema.GroupVersionResource) metadata.Getter { + logger := c.logger.WithValues("group", gvr.Group, "version", gvr.Version, "resource", gvr.Resource) + inner := c.inner.Resource(gvr) + return struct { + metadata.ResourceInterface + namespaceableInterface + }{ + resource.WithLogging(inner, logger), + &withLoggingNamespaceable{inner, logger}, + } +} diff --git a/pkg/clients/metadata/interface.generated.go b/pkg/clients/metadata/interface.generated.go index ab572b8585..3bef2f4b56 100644 --- a/pkg/clients/metadata/interface.generated.go +++ b/pkg/clients/metadata/interface.generated.go @@ -3,6 +3,7 @@ package clientset import ( "net/http" + "github.com/go-logr/logr" "github.com/kyverno/kyverno/pkg/metrics" k8s_io_client_go_metadata "k8s.io/client-go/metadata" "k8s.io/client-go/rest" @@ -10,16 +11,39 @@ import ( type Interface interface { k8s_io_client_go_metadata.Interface - WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) Interface + WithMetrics(metrics.MetricsConfigManager, metrics.ClientType) Interface WithTracing() Interface + WithLogging(logr.Logger) Interface } -type wrapper struct { - k8s_io_client_go_metadata.Interface +func From(inner k8s_io_client_go_metadata.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_client_go_metadata.NewForConfig(c) if err != nil { @@ -40,34 +64,22 @@ func NewForConfigOrDie(c *rest.Config, opts ...NewOption) Interface { return From(k8s_io_client_go_metadata.NewForConfigOrDie(c), opts...) } -func from(inner k8s_io_client_go_metadata.Interface, opts ...NewOption) Interface { - return &wrapper{inner} +type wrapper struct { + k8s_io_client_go_metadata.Interface } -func From(inner k8s_io_client_go_metadata.Interface, opts ...NewOption) Interface { - i := from(inner) - for _, opt := range opts { - i = opt(i) - } - return i +func from(inner k8s_io_client_go_metadata.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 WithMetrics(m metrics.MetricsConfigManager, t metrics.ClientType) NewOption { - return func(i Interface) Interface { - return i.WithMetrics(m, t) - } -} - func (i *wrapper) WithTracing() Interface { return from(WrapWithTracing(i)) } -func WithTracing() NewOption { - return func(i Interface) Interface { - return i.WithTracing() - } +func (i *wrapper) WithLogging(logger logr.Logger) Interface { + return from(WrapWithLogging(i, logger)) } diff --git a/pkg/clients/metadata/resource/resource.generated.go b/pkg/clients/metadata/resource/resource.generated.go index 6425803e75..f18159548f 100644 --- a/pkg/clients/metadata/resource/resource.generated.go +++ b/pkg/clients/metadata/resource/resource.generated.go @@ -3,17 +3,24 @@ 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/attribute" "go.opentelemetry.io/otel/codes" + "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_client_go_metadata "k8s.io/client-go/metadata" ) +func WithLogging(inner k8s_io_client_go_metadata.ResourceInterface, logger logr.Logger) k8s_io_client_go_metadata.ResourceInterface { + return &withLogging{inner, logger} +} + func WithMetrics(inner k8s_io_client_go_metadata.ResourceInterface, recorder metrics.Recorder) k8s_io_client_go_metadata.ResourceInterface { return &withMetrics{inner, recorder} } @@ -22,6 +29,78 @@ func WithTracing(inner k8s_io_client_go_metadata.ResourceInterface, client, kind return &withTracing{inner, client, kind} } +type withLogging struct { + inner k8s_io_client_go_metadata.ResourceInterface + logger logr.Logger +} + +func (c *withLogging) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions, arg3 ...string) error { + start := time.Now() + logger := c.logger.WithValues("operation", "Delete") + ret0 := c.inner.Delete(arg0, arg1, arg2, arg3...) + 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, arg3 ...string) (*k8s_io_apimachinery_pkg_apis_meta_v1.PartialObjectMetadata, error) { + start := time.Now() + logger := c.logger.WithValues("operation", "Get") + ret0, ret1 := c.inner.Get(arg0, arg1, arg2, arg3...) + 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_apimachinery_pkg_apis_meta_v1.PartialObjectMetadataList, 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_apimachinery_pkg_apis_meta_v1.PartialObjectMetadata, 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) 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_client_go_metadata.ResourceInterface recorder metrics.Recorder