mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-05 15:37:19 +00:00
feat: add discovery support in instrumented clients (#5437)
* feat: add discovery support in instrumented clients Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * fix tracing Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
parent
2178b9fe77
commit
4ccec04bfa
9 changed files with 680 additions and 85 deletions
68
hack/main.go
68
hack/main.go
|
@ -94,6 +94,10 @@ func (c *withTracing) {{ $operation.Method.Name }}(
|
||||||
{{- if $operation.HasContext }}
|
{{- if $operation.HasContext }}
|
||||||
ctx, span := tracing.StartSpan(
|
ctx, span := tracing.StartSpan(
|
||||||
arg0,
|
arg0,
|
||||||
|
{{- else }}
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
{{- end }}
|
||||||
"",
|
"",
|
||||||
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, {{ Quote $operation.Method.Name }}),
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, {{ Quote $operation.Method.Name }}),
|
||||||
attribute.String("client", c.client),
|
attribute.String("client", c.client),
|
||||||
|
@ -101,6 +105,7 @@ func (c *withTracing) {{ $operation.Method.Name }}(
|
||||||
attribute.String("operation", {{ Quote $operation.Method.Name }}),
|
attribute.String("operation", {{ Quote $operation.Method.Name }}),
|
||||||
)
|
)
|
||||||
defer span.End()
|
defer span.End()
|
||||||
|
{{- if $operation.HasContext }}
|
||||||
arg0 = ctx
|
arg0 = ctx
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ range $i, $ret := Returns $operation.Method }}ret{{ $i }}{{ if not $ret.IsLast -}},{{- end }} {{ end }} := c.inner.{{ $operation.Method.Name }}(
|
{{ range $i, $ret := Returns $operation.Method }}ret{{ $i }}{{ if not $ret.IsLast -}},{{- end }} {{ end }} := c.inner.{{ $operation.Method.Name }}(
|
||||||
|
@ -112,7 +117,7 @@ func (c *withTracing) {{ $operation.Method.Name }}(
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
)
|
)
|
||||||
{{- if $operation.HasContext }}
|
{{- if $operation.HasError }}
|
||||||
{{- range $i, $ret := Returns $operation.Method }}
|
{{- range $i, $ret := Returns $operation.Method }}
|
||||||
{{- if $ret.IsError }}
|
{{- if $ret.IsError }}
|
||||||
if ret{{ $i }} != nil {
|
if ret{{ $i }} != nil {
|
||||||
|
@ -194,21 +199,28 @@ import (
|
||||||
{{- range $package := Packages .Target.Type }}
|
{{- range $package := Packages .Target.Type }}
|
||||||
{{ Pkg $package }} {{ Quote $package }}
|
{{ Pkg $package }} {{ Quote $package }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- range $resourceMethod, $resource := .Target.Resources }}
|
||||||
|
{{ ToLower $resourceMethod.Name }} "github.com/kyverno/kyverno/{{ $.Folder }}/{{ ToLower $resourceMethod.Name }}"
|
||||||
|
{{- end }}
|
||||||
{{- range $clientMethod, $client := .Target.Clients }}
|
{{- range $clientMethod, $client := .Target.Clients }}
|
||||||
{{ ToLower $clientMethod.Name }} "github.com/kyverno/kyverno/{{ $.Folder }}/{{ ToLower $clientMethod.Name }}"
|
{{ ToLower $clientMethod.Name }} "github.com/kyverno/kyverno/{{ $.Folder }}/{{ ToLower $clientMethod.Name }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
)
|
)
|
||||||
|
|
||||||
type clientset struct {
|
type clientset struct {
|
||||||
inner {{ GoType .Target }}
|
{{- range $resourceMethod, $resource := .Target.Resources }}
|
||||||
|
{{ ToLower $resourceMethod.Name }} {{ GoType $resource.Type }}
|
||||||
|
{{- end }}
|
||||||
{{- range $clientMethod, $client := .Target.Clients }}
|
{{- range $clientMethod, $client := .Target.Clients }}
|
||||||
{{ ToLower $clientMethod.Name }} {{ GoType $client.Type }}
|
{{ ToLower $clientMethod.Name }} {{ GoType $client.Type }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *clientset) Discovery() discovery.DiscoveryInterface {
|
{{- range $resourceMethod, $resource := .Target.Resources }}
|
||||||
return c.inner.Discovery()
|
func (c *clientset) {{ $resourceMethod.Name }}() {{ GoType $resource.Type }}{
|
||||||
|
return c.{{ ToLower $resourceMethod.Name }}
|
||||||
}
|
}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- range $clientMethod, $client := .Target.Clients }}
|
{{- range $clientMethod, $client := .Target.Clients }}
|
||||||
func (c *clientset) {{ $clientMethod.Name }}() {{ GoType $client.Type }}{
|
func (c *clientset) {{ $clientMethod.Name }}() {{ GoType $client.Type }}{
|
||||||
|
@ -216,18 +228,22 @@ func (c *clientset) {{ $clientMethod.Name }}() {{ GoType $client.Type }}{
|
||||||
}
|
}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
func WrapWithMetrics(inner {{ GoType .Target }}, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) {{ GoType .Target }} {
|
func WrapWithMetrics(inner {{ GoType .Target }}, m metrics.MetricsConfigManager, clientType metrics.ClientType) {{ GoType .Target }} {
|
||||||
return &clientset{
|
return &clientset{
|
||||||
inner: inner,
|
{{- range $resourceMethod, $resource := .Target.Resources }}
|
||||||
|
{{ ToLower $resourceMethod.Name }}: {{ ToLower $resourceMethod.Name }}.WithMetrics(inner.{{ $resourceMethod.Name }}(), metrics.ClusteredClientQueryRecorder(m, {{ Quote $resource.Kind }}, clientType)),
|
||||||
|
{{- end }}
|
||||||
{{- range $clientMethod, $client := .Target.Clients }}
|
{{- range $clientMethod, $client := .Target.Clients }}
|
||||||
{{ ToLower $clientMethod.Name }}: {{ ToLower $clientMethod.Name }}.WithMetrics(inner.{{ $clientMethod.Name }}(), metrics, clientType),
|
{{ ToLower $clientMethod.Name }}: {{ ToLower $clientMethod.Name }}.WithMetrics(inner.{{ $clientMethod.Name }}(), m, clientType),
|
||||||
{{- end }}
|
{{- end }}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func WrapWithTracing(inner {{ GoType .Target }}) {{ GoType .Target }} {
|
func WrapWithTracing(inner {{ GoType .Target }}) {{ GoType .Target }} {
|
||||||
return &clientset{
|
return &clientset{
|
||||||
inner: inner,
|
{{- range $resourceMethod, $resource := .Target.Resources }}
|
||||||
|
{{ ToLower $resourceMethod.Name }}: {{ ToLower $resourceMethod.Name }}.WithTracing(inner.{{ $resourceMethod.Name }}(), {{ Quote $resourceMethod.Name }}, ""),
|
||||||
|
{{- end }}
|
||||||
{{- range $clientMethod, $client := .Target.Clients }}
|
{{- range $clientMethod, $client := .Target.Clients }}
|
||||||
{{ ToLower $clientMethod.Name }}: {{ ToLower $clientMethod.Name }}.WithTracing(inner.{{ $clientMethod.Name }}(), {{ Quote $clientMethod.Name }}),
|
{{ ToLower $clientMethod.Name }}: {{ ToLower $clientMethod.Name }}.WithTracing(inner.{{ $clientMethod.Name }}(), {{ Quote $clientMethod.Name }}),
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -337,7 +353,7 @@ func (r ret) IsError() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
type operation struct {
|
type operation struct {
|
||||||
Method reflect.Method
|
reflect.Method
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o operation) HasContext() bool {
|
func (o operation) HasContext() bool {
|
||||||
|
@ -345,7 +361,12 @@ func (o operation) HasContext() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o operation) HasError() bool {
|
func (o operation) HasError() bool {
|
||||||
return o.Method.Type.NumIn() > 0 && goType(o.Method.Type.In(o.Method.Type.NumIn()-1)) == "error"
|
for _, out := range getOuts(o.Method) {
|
||||||
|
if goType(out) == "error" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
type resource struct {
|
type resource struct {
|
||||||
|
@ -370,7 +391,8 @@ type client struct {
|
||||||
|
|
||||||
type clientset struct {
|
type clientset struct {
|
||||||
reflect.Type
|
reflect.Type
|
||||||
Clients map[reflect.Method]client
|
Clients map[reflect.Method]client
|
||||||
|
Resources map[resourceKey]resource
|
||||||
}
|
}
|
||||||
|
|
||||||
func getIns(in reflect.Method) []reflect.Type {
|
func getIns(in reflect.Method) []reflect.Type {
|
||||||
|
@ -469,15 +491,18 @@ func parseClient(in reflect.Type) client {
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
func parse(in reflect.Type) clientset {
|
func parseClientset(in reflect.Type) clientset {
|
||||||
cs := clientset{
|
cs := clientset{
|
||||||
Type: in,
|
Type: in,
|
||||||
Clients: map[reflect.Method]client{},
|
Clients: map[reflect.Method]client{},
|
||||||
|
Resources: map[resourceKey]resource{},
|
||||||
}
|
}
|
||||||
for _, clientMethod := range getMethods(in) {
|
for _, clientMethod := range getMethods(in) {
|
||||||
// client methods return only the client interface type
|
// client methods return only the client interface type
|
||||||
if clientMethod.Type.NumOut() == 1 && clientMethod.Name != "Discovery" {
|
if clientMethod.Type.NumOut() == 1 && clientMethod.Name != "Discovery" {
|
||||||
cs.Clients[clientMethod] = parseClient(clientMethod.Type.Out(0))
|
cs.Clients[clientMethod] = parseClient(clientMethod.Type.Out(0))
|
||||||
|
} else if clientMethod.Name == "Discovery" {
|
||||||
|
cs.Resources[resourceKey(clientMethod)] = parseResource(clientMethod.Type.Out(0))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cs
|
return cs
|
||||||
|
@ -497,10 +522,10 @@ func parseImports(in reflect.Type) []string {
|
||||||
for _, i := range getOuts(m) {
|
for _, i := range getOuts(m) {
|
||||||
pkg := i.PkgPath()
|
pkg := i.PkgPath()
|
||||||
if i.Kind() == reflect.Pointer {
|
if i.Kind() == reflect.Pointer {
|
||||||
i.Elem().PkgPath()
|
pkg = i.Elem().PkgPath()
|
||||||
}
|
}
|
||||||
if pkg != "" {
|
if pkg != "" {
|
||||||
imports.Insert(i.PkgPath())
|
imports.Insert(pkg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -579,6 +604,9 @@ func generateClientset(cs clientset, folder string) {
|
||||||
for m, c := range cs.Clients {
|
for m, c := range cs.Clients {
|
||||||
generateClient(c, path.Join(folder, strings.ToLower(m.Name)))
|
generateClient(c, path.Join(folder, strings.ToLower(m.Name)))
|
||||||
}
|
}
|
||||||
|
for m, r := range cs.Resources {
|
||||||
|
generateResource(r, path.Join(folder, strings.ToLower(m.Name)))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateInterface(cs clientset, folder string) {
|
func generateInterface(cs clientset, folder string) {
|
||||||
|
@ -586,17 +614,17 @@ func generateInterface(cs clientset, folder string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
kube := parse(reflect.TypeOf((*kubernetes.Interface)(nil)).Elem())
|
kube := parseClientset(reflect.TypeOf((*kubernetes.Interface)(nil)).Elem())
|
||||||
generateClientset(kube, "pkg/clients/kube")
|
generateClientset(kube, "pkg/clients/kube")
|
||||||
generateInterface(kube, "pkg/clients/kube")
|
generateInterface(kube, "pkg/clients/kube")
|
||||||
kyverno := parse(reflect.TypeOf((*versioned.Interface)(nil)).Elem())
|
kyverno := parseClientset(reflect.TypeOf((*versioned.Interface)(nil)).Elem())
|
||||||
generateClientset(kyverno, "pkg/clients/kyverno")
|
generateClientset(kyverno, "pkg/clients/kyverno")
|
||||||
generateInterface(kyverno, "pkg/clients/kyverno")
|
generateInterface(kyverno, "pkg/clients/kyverno")
|
||||||
dynamicInterface := parse(reflect.TypeOf((*dynamic.Interface)(nil)).Elem())
|
dynamicInterface := parseClientset(reflect.TypeOf((*dynamic.Interface)(nil)).Elem())
|
||||||
dynamicResource := parseResource(reflect.TypeOf((*dynamic.ResourceInterface)(nil)).Elem())
|
dynamicResource := parseResource(reflect.TypeOf((*dynamic.ResourceInterface)(nil)).Elem())
|
||||||
generateResource(dynamicResource, "pkg/clients/dynamic/resource")
|
generateResource(dynamicResource, "pkg/clients/dynamic/resource")
|
||||||
generateInterface(dynamicInterface, "pkg/clients/dynamic")
|
generateInterface(dynamicInterface, "pkg/clients/dynamic")
|
||||||
metadataInterface := parse(reflect.TypeOf((*metadata.Interface)(nil)).Elem())
|
metadataInterface := parseClientset(reflect.TypeOf((*metadata.Interface)(nil)).Elem())
|
||||||
metadataResource := parseResource(reflect.TypeOf((*metadata.ResourceInterface)(nil)).Elem())
|
metadataResource := parseResource(reflect.TypeOf((*metadata.ResourceInterface)(nil)).Elem())
|
||||||
generateInterface(metadataInterface, "pkg/clients/metadata")
|
generateInterface(metadataInterface, "pkg/clients/metadata")
|
||||||
generateResource(metadataResource, "pkg/clients/metadata/resource")
|
generateResource(metadataResource, "pkg/clients/metadata/resource")
|
||||||
|
|
|
@ -21,6 +21,7 @@ import (
|
||||||
coordinationv1 "github.com/kyverno/kyverno/pkg/clients/kube/coordinationv1"
|
coordinationv1 "github.com/kyverno/kyverno/pkg/clients/kube/coordinationv1"
|
||||||
coordinationv1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/coordinationv1beta1"
|
coordinationv1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/coordinationv1beta1"
|
||||||
corev1 "github.com/kyverno/kyverno/pkg/clients/kube/corev1"
|
corev1 "github.com/kyverno/kyverno/pkg/clients/kube/corev1"
|
||||||
|
discovery "github.com/kyverno/kyverno/pkg/clients/kube/discovery"
|
||||||
discoveryv1 "github.com/kyverno/kyverno/pkg/clients/kube/discoveryv1"
|
discoveryv1 "github.com/kyverno/kyverno/pkg/clients/kube/discoveryv1"
|
||||||
discoveryv1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/discoveryv1beta1"
|
discoveryv1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/discoveryv1beta1"
|
||||||
eventsv1 "github.com/kyverno/kyverno/pkg/clients/kube/eventsv1"
|
eventsv1 "github.com/kyverno/kyverno/pkg/clients/kube/eventsv1"
|
||||||
|
@ -48,7 +49,7 @@ import (
|
||||||
storagev1alpha1 "github.com/kyverno/kyverno/pkg/clients/kube/storagev1alpha1"
|
storagev1alpha1 "github.com/kyverno/kyverno/pkg/clients/kube/storagev1alpha1"
|
||||||
storagev1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/storagev1beta1"
|
storagev1beta1 "github.com/kyverno/kyverno/pkg/clients/kube/storagev1beta1"
|
||||||
"github.com/kyverno/kyverno/pkg/metrics"
|
"github.com/kyverno/kyverno/pkg/metrics"
|
||||||
"k8s.io/client-go/discovery"
|
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||||
k8s_io_client_go_kubernetes "k8s.io/client-go/kubernetes"
|
k8s_io_client_go_kubernetes "k8s.io/client-go/kubernetes"
|
||||||
k8s_io_client_go_kubernetes_typed_admissionregistration_v1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1"
|
k8s_io_client_go_kubernetes_typed_admissionregistration_v1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1"
|
||||||
k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1"
|
k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1 "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1"
|
||||||
|
@ -99,7 +100,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type clientset struct {
|
type clientset struct {
|
||||||
inner k8s_io_client_go_kubernetes.Interface
|
discovery k8s_io_client_go_discovery.DiscoveryInterface
|
||||||
admissionregistrationv1 k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface
|
admissionregistrationv1 k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface
|
||||||
admissionregistrationv1beta1 k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.AdmissionregistrationV1beta1Interface
|
admissionregistrationv1beta1 k8s_io_client_go_kubernetes_typed_admissionregistration_v1beta1.AdmissionregistrationV1beta1Interface
|
||||||
appsv1 k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface
|
appsv1 k8s_io_client_go_kubernetes_typed_apps_v1.AppsV1Interface
|
||||||
|
@ -148,8 +149,8 @@ type clientset struct {
|
||||||
storagev1beta1 k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageV1beta1Interface
|
storagev1beta1 k8s_io_client_go_kubernetes_typed_storage_v1beta1.StorageV1beta1Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *clientset) Discovery() discovery.DiscoveryInterface {
|
func (c *clientset) Discovery() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||||
return c.inner.Discovery()
|
return c.discovery
|
||||||
}
|
}
|
||||||
func (c *clientset) AdmissionregistrationV1() k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface {
|
func (c *clientset) AdmissionregistrationV1() k8s_io_client_go_kubernetes_typed_admissionregistration_v1.AdmissionregistrationV1Interface {
|
||||||
return c.admissionregistrationv1
|
return c.admissionregistrationv1
|
||||||
|
@ -290,61 +291,61 @@ func (c *clientset) StorageV1beta1() k8s_io_client_go_kubernetes_typed_storage_v
|
||||||
return c.storagev1beta1
|
return c.storagev1beta1
|
||||||
}
|
}
|
||||||
|
|
||||||
func WrapWithMetrics(inner k8s_io_client_go_kubernetes.Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_client_go_kubernetes.Interface {
|
func WrapWithMetrics(inner k8s_io_client_go_kubernetes.Interface, m metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_client_go_kubernetes.Interface {
|
||||||
return &clientset{
|
return &clientset{
|
||||||
inner: inner,
|
discovery: discovery.WithMetrics(inner.Discovery(), metrics.ClusteredClientQueryRecorder(m, "Discovery", clientType)),
|
||||||
admissionregistrationv1: admissionregistrationv1.WithMetrics(inner.AdmissionregistrationV1(), metrics, clientType),
|
admissionregistrationv1: admissionregistrationv1.WithMetrics(inner.AdmissionregistrationV1(), m, clientType),
|
||||||
admissionregistrationv1beta1: admissionregistrationv1beta1.WithMetrics(inner.AdmissionregistrationV1beta1(), metrics, clientType),
|
admissionregistrationv1beta1: admissionregistrationv1beta1.WithMetrics(inner.AdmissionregistrationV1beta1(), m, clientType),
|
||||||
appsv1: appsv1.WithMetrics(inner.AppsV1(), metrics, clientType),
|
appsv1: appsv1.WithMetrics(inner.AppsV1(), m, clientType),
|
||||||
appsv1beta1: appsv1beta1.WithMetrics(inner.AppsV1beta1(), metrics, clientType),
|
appsv1beta1: appsv1beta1.WithMetrics(inner.AppsV1beta1(), m, clientType),
|
||||||
appsv1beta2: appsv1beta2.WithMetrics(inner.AppsV1beta2(), metrics, clientType),
|
appsv1beta2: appsv1beta2.WithMetrics(inner.AppsV1beta2(), m, clientType),
|
||||||
authenticationv1: authenticationv1.WithMetrics(inner.AuthenticationV1(), metrics, clientType),
|
authenticationv1: authenticationv1.WithMetrics(inner.AuthenticationV1(), m, clientType),
|
||||||
authenticationv1beta1: authenticationv1beta1.WithMetrics(inner.AuthenticationV1beta1(), metrics, clientType),
|
authenticationv1beta1: authenticationv1beta1.WithMetrics(inner.AuthenticationV1beta1(), m, clientType),
|
||||||
authorizationv1: authorizationv1.WithMetrics(inner.AuthorizationV1(), metrics, clientType),
|
authorizationv1: authorizationv1.WithMetrics(inner.AuthorizationV1(), m, clientType),
|
||||||
authorizationv1beta1: authorizationv1beta1.WithMetrics(inner.AuthorizationV1beta1(), metrics, clientType),
|
authorizationv1beta1: authorizationv1beta1.WithMetrics(inner.AuthorizationV1beta1(), m, clientType),
|
||||||
autoscalingv1: autoscalingv1.WithMetrics(inner.AutoscalingV1(), metrics, clientType),
|
autoscalingv1: autoscalingv1.WithMetrics(inner.AutoscalingV1(), m, clientType),
|
||||||
autoscalingv2: autoscalingv2.WithMetrics(inner.AutoscalingV2(), metrics, clientType),
|
autoscalingv2: autoscalingv2.WithMetrics(inner.AutoscalingV2(), m, clientType),
|
||||||
autoscalingv2beta1: autoscalingv2beta1.WithMetrics(inner.AutoscalingV2beta1(), metrics, clientType),
|
autoscalingv2beta1: autoscalingv2beta1.WithMetrics(inner.AutoscalingV2beta1(), m, clientType),
|
||||||
autoscalingv2beta2: autoscalingv2beta2.WithMetrics(inner.AutoscalingV2beta2(), metrics, clientType),
|
autoscalingv2beta2: autoscalingv2beta2.WithMetrics(inner.AutoscalingV2beta2(), m, clientType),
|
||||||
batchv1: batchv1.WithMetrics(inner.BatchV1(), metrics, clientType),
|
batchv1: batchv1.WithMetrics(inner.BatchV1(), m, clientType),
|
||||||
batchv1beta1: batchv1beta1.WithMetrics(inner.BatchV1beta1(), metrics, clientType),
|
batchv1beta1: batchv1beta1.WithMetrics(inner.BatchV1beta1(), m, clientType),
|
||||||
certificatesv1: certificatesv1.WithMetrics(inner.CertificatesV1(), metrics, clientType),
|
certificatesv1: certificatesv1.WithMetrics(inner.CertificatesV1(), m, clientType),
|
||||||
certificatesv1beta1: certificatesv1beta1.WithMetrics(inner.CertificatesV1beta1(), metrics, clientType),
|
certificatesv1beta1: certificatesv1beta1.WithMetrics(inner.CertificatesV1beta1(), m, clientType),
|
||||||
coordinationv1: coordinationv1.WithMetrics(inner.CoordinationV1(), metrics, clientType),
|
coordinationv1: coordinationv1.WithMetrics(inner.CoordinationV1(), m, clientType),
|
||||||
coordinationv1beta1: coordinationv1beta1.WithMetrics(inner.CoordinationV1beta1(), metrics, clientType),
|
coordinationv1beta1: coordinationv1beta1.WithMetrics(inner.CoordinationV1beta1(), m, clientType),
|
||||||
corev1: corev1.WithMetrics(inner.CoreV1(), metrics, clientType),
|
corev1: corev1.WithMetrics(inner.CoreV1(), m, clientType),
|
||||||
discoveryv1: discoveryv1.WithMetrics(inner.DiscoveryV1(), metrics, clientType),
|
discoveryv1: discoveryv1.WithMetrics(inner.DiscoveryV1(), m, clientType),
|
||||||
discoveryv1beta1: discoveryv1beta1.WithMetrics(inner.DiscoveryV1beta1(), metrics, clientType),
|
discoveryv1beta1: discoveryv1beta1.WithMetrics(inner.DiscoveryV1beta1(), m, clientType),
|
||||||
eventsv1: eventsv1.WithMetrics(inner.EventsV1(), metrics, clientType),
|
eventsv1: eventsv1.WithMetrics(inner.EventsV1(), m, clientType),
|
||||||
eventsv1beta1: eventsv1beta1.WithMetrics(inner.EventsV1beta1(), metrics, clientType),
|
eventsv1beta1: eventsv1beta1.WithMetrics(inner.EventsV1beta1(), m, clientType),
|
||||||
extensionsv1beta1: extensionsv1beta1.WithMetrics(inner.ExtensionsV1beta1(), metrics, clientType),
|
extensionsv1beta1: extensionsv1beta1.WithMetrics(inner.ExtensionsV1beta1(), m, clientType),
|
||||||
flowcontrolv1alpha1: flowcontrolv1alpha1.WithMetrics(inner.FlowcontrolV1alpha1(), metrics, clientType),
|
flowcontrolv1alpha1: flowcontrolv1alpha1.WithMetrics(inner.FlowcontrolV1alpha1(), m, clientType),
|
||||||
flowcontrolv1beta1: flowcontrolv1beta1.WithMetrics(inner.FlowcontrolV1beta1(), metrics, clientType),
|
flowcontrolv1beta1: flowcontrolv1beta1.WithMetrics(inner.FlowcontrolV1beta1(), m, clientType),
|
||||||
flowcontrolv1beta2: flowcontrolv1beta2.WithMetrics(inner.FlowcontrolV1beta2(), metrics, clientType),
|
flowcontrolv1beta2: flowcontrolv1beta2.WithMetrics(inner.FlowcontrolV1beta2(), m, clientType),
|
||||||
internalv1alpha1: internalv1alpha1.WithMetrics(inner.InternalV1alpha1(), metrics, clientType),
|
internalv1alpha1: internalv1alpha1.WithMetrics(inner.InternalV1alpha1(), m, clientType),
|
||||||
networkingv1: networkingv1.WithMetrics(inner.NetworkingV1(), metrics, clientType),
|
networkingv1: networkingv1.WithMetrics(inner.NetworkingV1(), m, clientType),
|
||||||
networkingv1alpha1: networkingv1alpha1.WithMetrics(inner.NetworkingV1alpha1(), metrics, clientType),
|
networkingv1alpha1: networkingv1alpha1.WithMetrics(inner.NetworkingV1alpha1(), m, clientType),
|
||||||
networkingv1beta1: networkingv1beta1.WithMetrics(inner.NetworkingV1beta1(), metrics, clientType),
|
networkingv1beta1: networkingv1beta1.WithMetrics(inner.NetworkingV1beta1(), m, clientType),
|
||||||
nodev1: nodev1.WithMetrics(inner.NodeV1(), metrics, clientType),
|
nodev1: nodev1.WithMetrics(inner.NodeV1(), m, clientType),
|
||||||
nodev1alpha1: nodev1alpha1.WithMetrics(inner.NodeV1alpha1(), metrics, clientType),
|
nodev1alpha1: nodev1alpha1.WithMetrics(inner.NodeV1alpha1(), m, clientType),
|
||||||
nodev1beta1: nodev1beta1.WithMetrics(inner.NodeV1beta1(), metrics, clientType),
|
nodev1beta1: nodev1beta1.WithMetrics(inner.NodeV1beta1(), m, clientType),
|
||||||
policyv1: policyv1.WithMetrics(inner.PolicyV1(), metrics, clientType),
|
policyv1: policyv1.WithMetrics(inner.PolicyV1(), m, clientType),
|
||||||
policyv1beta1: policyv1beta1.WithMetrics(inner.PolicyV1beta1(), metrics, clientType),
|
policyv1beta1: policyv1beta1.WithMetrics(inner.PolicyV1beta1(), m, clientType),
|
||||||
rbacv1: rbacv1.WithMetrics(inner.RbacV1(), metrics, clientType),
|
rbacv1: rbacv1.WithMetrics(inner.RbacV1(), m, clientType),
|
||||||
rbacv1alpha1: rbacv1alpha1.WithMetrics(inner.RbacV1alpha1(), metrics, clientType),
|
rbacv1alpha1: rbacv1alpha1.WithMetrics(inner.RbacV1alpha1(), m, clientType),
|
||||||
rbacv1beta1: rbacv1beta1.WithMetrics(inner.RbacV1beta1(), metrics, clientType),
|
rbacv1beta1: rbacv1beta1.WithMetrics(inner.RbacV1beta1(), m, clientType),
|
||||||
schedulingv1: schedulingv1.WithMetrics(inner.SchedulingV1(), metrics, clientType),
|
schedulingv1: schedulingv1.WithMetrics(inner.SchedulingV1(), m, clientType),
|
||||||
schedulingv1alpha1: schedulingv1alpha1.WithMetrics(inner.SchedulingV1alpha1(), metrics, clientType),
|
schedulingv1alpha1: schedulingv1alpha1.WithMetrics(inner.SchedulingV1alpha1(), m, clientType),
|
||||||
schedulingv1beta1: schedulingv1beta1.WithMetrics(inner.SchedulingV1beta1(), metrics, clientType),
|
schedulingv1beta1: schedulingv1beta1.WithMetrics(inner.SchedulingV1beta1(), m, clientType),
|
||||||
storagev1: storagev1.WithMetrics(inner.StorageV1(), metrics, clientType),
|
storagev1: storagev1.WithMetrics(inner.StorageV1(), m, clientType),
|
||||||
storagev1alpha1: storagev1alpha1.WithMetrics(inner.StorageV1alpha1(), metrics, clientType),
|
storagev1alpha1: storagev1alpha1.WithMetrics(inner.StorageV1alpha1(), m, clientType),
|
||||||
storagev1beta1: storagev1beta1.WithMetrics(inner.StorageV1beta1(), metrics, clientType),
|
storagev1beta1: storagev1beta1.WithMetrics(inner.StorageV1beta1(), m, clientType),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func WrapWithTracing(inner k8s_io_client_go_kubernetes.Interface) k8s_io_client_go_kubernetes.Interface {
|
func WrapWithTracing(inner k8s_io_client_go_kubernetes.Interface) k8s_io_client_go_kubernetes.Interface {
|
||||||
return &clientset{
|
return &clientset{
|
||||||
inner: inner,
|
discovery: discovery.WithTracing(inner.Discovery(), "Discovery", ""),
|
||||||
admissionregistrationv1: admissionregistrationv1.WithTracing(inner.AdmissionregistrationV1(), "AdmissionregistrationV1"),
|
admissionregistrationv1: admissionregistrationv1.WithTracing(inner.AdmissionregistrationV1(), "AdmissionregistrationV1"),
|
||||||
admissionregistrationv1beta1: admissionregistrationv1beta1.WithTracing(inner.AdmissionregistrationV1beta1(), "AdmissionregistrationV1beta1"),
|
admissionregistrationv1beta1: admissionregistrationv1beta1.WithTracing(inner.AdmissionregistrationV1beta1(), "AdmissionregistrationV1beta1"),
|
||||||
appsv1: appsv1.WithTracing(inner.AppsV1(), "AppsV1"),
|
appsv1: appsv1.WithTracing(inner.AppsV1(), "AppsV1"),
|
||||||
|
|
|
@ -131,7 +131,20 @@ func (c *withTracing) Create(arg0 context.Context, arg1 *k8s_io_api_core_v1.Even
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) CreateWithEventNamespace(arg0 *k8s_io_api_core_v1.Event) (*k8s_io_api_core_v1.Event, error) {
|
func (c *withTracing) CreateWithEventNamespace(arg0 *k8s_io_api_core_v1.Event) (*k8s_io_api_core_v1.Event, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "CreateWithEventNamespace"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "CreateWithEventNamespace"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.CreateWithEventNamespace(arg0)
|
ret0, ret1 := c.inner.CreateWithEventNamespace(arg0)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||||
|
@ -189,6 +202,15 @@ func (c *withTracing) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimach
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) GetFieldSelector(arg0 *string, arg1 *string, arg2 *string, arg3 *string) k8s_io_apimachinery_pkg_fields.Selector {
|
func (c *withTracing) GetFieldSelector(arg0 *string, arg1 *string, arg2 *string, arg3 *string) k8s_io_apimachinery_pkg_fields.Selector {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "GetFieldSelector"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "GetFieldSelector"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0 := c.inner.GetFieldSelector(arg0, arg1, arg2, arg3)
|
ret0 := c.inner.GetFieldSelector(arg0, arg1, arg2, arg3)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
@ -229,11 +251,37 @@ func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apima
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) PatchWithEventNamespace(arg0 *k8s_io_api_core_v1.Event, arg1 []uint8) (*k8s_io_api_core_v1.Event, error) {
|
func (c *withTracing) PatchWithEventNamespace(arg0 *k8s_io_api_core_v1.Event, arg1 []uint8) (*k8s_io_api_core_v1.Event, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "PatchWithEventNamespace"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "PatchWithEventNamespace"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.PatchWithEventNamespace(arg0, arg1)
|
ret0, ret1 := c.inner.PatchWithEventNamespace(arg0, arg1)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) Search(arg0 *k8s_io_apimachinery_pkg_runtime.Scheme, arg1 k8s_io_apimachinery_pkg_runtime.Object) (*k8s_io_api_core_v1.EventList, error) {
|
func (c *withTracing) Search(arg0 *k8s_io_apimachinery_pkg_runtime.Scheme, arg1 k8s_io_apimachinery_pkg_runtime.Object) (*k8s_io_api_core_v1.EventList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "Search"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "Search"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.Search(arg0, arg1)
|
ret0, ret1 := c.inner.Search(arg0, arg1)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) 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) {
|
func (c *withTracing) 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) {
|
||||||
|
@ -255,7 +303,20 @@ func (c *withTracing) Update(arg0 context.Context, arg1 *k8s_io_api_core_v1.Even
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) UpdateWithEventNamespace(arg0 *k8s_io_api_core_v1.Event) (*k8s_io_api_core_v1.Event, error) {
|
func (c *withTracing) UpdateWithEventNamespace(arg0 *k8s_io_api_core_v1.Event) (*k8s_io_api_core_v1.Event, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "UpdateWithEventNamespace"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "UpdateWithEventNamespace"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.UpdateWithEventNamespace(arg0)
|
ret0, ret1 := c.inner.UpdateWithEventNamespace(arg0)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||||
|
|
|
@ -292,6 +292,15 @@ func (c *withTracing) Get(arg0 context.Context, arg1 string, arg2 k8s_io_apimach
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) GetLogs(arg0 string, arg1 *k8s_io_api_core_v1.PodLogOptions) *k8s_io_client_go_rest.Request {
|
func (c *withTracing) GetLogs(arg0 string, arg1 *k8s_io_api_core_v1.PodLogOptions) *k8s_io_client_go_rest.Request {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "GetLogs"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "GetLogs"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0 := c.inner.GetLogs(arg0, arg1)
|
ret0 := c.inner.GetLogs(arg0, arg1)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
@ -332,6 +341,15 @@ func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apima
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) ProxyGet(arg0 string, arg1 string, arg2 string, arg3 string, arg4 map[string]string) k8s_io_client_go_rest.ResponseWrapper {
|
func (c *withTracing) ProxyGet(arg0 string, arg1 string, arg2 string, arg3 string, arg4 map[string]string) k8s_io_client_go_rest.ResponseWrapper {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ProxyGet"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ProxyGet"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0 := c.inner.ProxyGet(arg0, arg1, arg2, arg3, arg4)
|
ret0 := c.inner.ProxyGet(arg0, arg1, arg2, arg3, arg4)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
|
|
@ -208,6 +208,15 @@ func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apima
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) ProxyGet(arg0 string, arg1 string, arg2 string, arg3 string, arg4 map[string]string) k8s_io_client_go_rest.ResponseWrapper {
|
func (c *withTracing) ProxyGet(arg0 string, arg1 string, arg2 string, arg3 string, arg4 map[string]string) k8s_io_client_go_rest.ResponseWrapper {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ProxyGet"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ProxyGet"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0 := c.inner.ProxyGet(arg0, arg1, arg2, arg3, arg4)
|
ret0 := c.inner.ProxyGet(arg0, arg1, arg2, arg3, arg4)
|
||||||
return ret0
|
return ret0
|
||||||
}
|
}
|
||||||
|
|
219
pkg/clients/kube/discovery/resource.generated.go
Normal file
219
pkg/clients/kube/discovery/resource.generated.go
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
package resource
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
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"
|
||||||
|
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
k8s_io_apimachinery_pkg_version "k8s.io/apimachinery/pkg/version"
|
||||||
|
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||||
|
k8s_io_client_go_openapi "k8s.io/client-go/openapi"
|
||||||
|
k8s_io_client_go_rest "k8s.io/client-go/rest"
|
||||||
|
)
|
||||||
|
|
||||||
|
func WithMetrics(inner k8s_io_client_go_discovery.DiscoveryInterface, recorder metrics.Recorder) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||||
|
return &withMetrics{inner, recorder}
|
||||||
|
}
|
||||||
|
|
||||||
|
func WithTracing(inner k8s_io_client_go_discovery.DiscoveryInterface, client, kind string) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||||
|
return &withTracing{inner, client, kind}
|
||||||
|
}
|
||||||
|
|
||||||
|
type withMetrics struct {
|
||||||
|
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||||
|
recorder metrics.Recorder
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *withMetrics) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||||
|
defer c.recorder.Record("open_api_schema")
|
||||||
|
return c.inner.OpenAPISchema()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||||
|
defer c.recorder.Record("open_apiv3")
|
||||||
|
return c.inner.OpenAPIV3()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) RESTClient() k8s_io_client_go_rest.Interface {
|
||||||
|
defer c.recorder.Record("rest_client")
|
||||||
|
return c.inner.RESTClient()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||||
|
defer c.recorder.Record("server_groups")
|
||||||
|
return c.inner.ServerGroups()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_groups_and_resources")
|
||||||
|
return c.inner.ServerGroupsAndResources()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_preferred_namespaced_resources")
|
||||||
|
return c.inner.ServerPreferredNamespacedResources()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_preferred_resources")
|
||||||
|
return c.inner.ServerPreferredResources()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_resources_for_group_version")
|
||||||
|
return c.inner.ServerResourcesForGroupVersion(arg0)
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||||
|
defer c.recorder.Record("server_version")
|
||||||
|
return c.inner.ServerVersion()
|
||||||
|
}
|
||||||
|
|
||||||
|
type withTracing struct {
|
||||||
|
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||||
|
client string
|
||||||
|
kind string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *withTracing) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "OpenAPISchema"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "OpenAPISchema"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.OpenAPISchema()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "OpenAPIV3"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "OpenAPIV3"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0 := c.inner.OpenAPIV3()
|
||||||
|
return ret0
|
||||||
|
}
|
||||||
|
func (c *withTracing) RESTClient() k8s_io_client_go_rest.Interface {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "RESTClient"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "RESTClient"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0 := c.inner.RESTClient()
|
||||||
|
return ret0
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerGroups"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerGroups"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerGroups()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerGroupsAndResources"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerGroupsAndResources"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1, ret2 := c.inner.ServerGroupsAndResources()
|
||||||
|
if ret2 != nil {
|
||||||
|
span.RecordError(ret2)
|
||||||
|
span.SetStatus(codes.Error, ret2.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1, ret2
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerPreferredNamespacedResources"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerPreferredNamespacedResources"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerPreferredNamespacedResources()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerPreferredResources"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerPreferredResources"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerPreferredResources()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerResourcesForGroupVersion"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerResourcesForGroupVersion"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerResourcesForGroupVersion(arg0)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerVersion"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerVersion"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerVersion()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
|
@ -121,7 +121,20 @@ func (c *withTracing) Create(arg0 context.Context, arg1 *k8s_io_api_events_v1bet
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) CreateWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event) (*k8s_io_api_events_v1beta1.Event, error) {
|
func (c *withTracing) CreateWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event) (*k8s_io_api_events_v1beta1.Event, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "CreateWithEventNamespace"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "CreateWithEventNamespace"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.CreateWithEventNamespace(arg0)
|
ret0, ret1 := c.inner.CreateWithEventNamespace(arg0)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
func (c *withTracing) Delete(arg0 context.Context, arg1 string, arg2 k8s_io_apimachinery_pkg_apis_meta_v1.DeleteOptions) error {
|
||||||
|
@ -215,7 +228,20 @@ func (c *withTracing) Patch(arg0 context.Context, arg1 string, arg2 k8s_io_apima
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) PatchWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event, arg1 []uint8) (*k8s_io_api_events_v1beta1.Event, error) {
|
func (c *withTracing) PatchWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event, arg1 []uint8) (*k8s_io_api_events_v1beta1.Event, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "PatchWithEventNamespace"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "PatchWithEventNamespace"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.PatchWithEventNamespace(arg0, arg1)
|
ret0, ret1 := c.inner.PatchWithEventNamespace(arg0, arg1)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) 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) {
|
func (c *withTracing) 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) {
|
||||||
|
@ -237,7 +263,20 @@ func (c *withTracing) Update(arg0 context.Context, arg1 *k8s_io_api_events_v1bet
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) UpdateWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event) (*k8s_io_api_events_v1beta1.Event, error) {
|
func (c *withTracing) UpdateWithEventNamespace(arg0 *k8s_io_api_events_v1beta1.Event) (*k8s_io_api_events_v1beta1.Event, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "UpdateWithEventNamespace"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "UpdateWithEventNamespace"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
ret0, ret1 := c.inner.UpdateWithEventNamespace(arg0)
|
ret0, ret1 := c.inner.UpdateWithEventNamespace(arg0)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
return ret0, ret1
|
return ret0, ret1
|
||||||
}
|
}
|
||||||
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
func (c *withTracing) Watch(arg0 context.Context, arg1 k8s_io_apimachinery_pkg_apis_meta_v1.ListOptions) (k8s_io_apimachinery_pkg_watch.Interface, error) {
|
||||||
|
|
|
@ -7,17 +7,18 @@ import (
|
||||||
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_client_clientset_versioned_typed_kyverno_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1alpha2"
|
||||||
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_client_clientset_versioned_typed_kyverno_v1beta1 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/kyverno/v1beta1"
|
||||||
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_client_clientset_versioned_typed_policyreport_v1alpha2 "github.com/kyverno/kyverno/pkg/client/clientset/versioned/typed/policyreport/v1alpha2"
|
||||||
|
discovery "github.com/kyverno/kyverno/pkg/clients/kyverno/discovery"
|
||||||
kyvernov1 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1"
|
kyvernov1 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1"
|
||||||
kyvernov1alpha1 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha1"
|
kyvernov1alpha1 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha1"
|
||||||
kyvernov1alpha2 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha2"
|
kyvernov1alpha2 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1alpha2"
|
||||||
kyvernov1beta1 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1beta1"
|
kyvernov1beta1 "github.com/kyverno/kyverno/pkg/clients/kyverno/kyvernov1beta1"
|
||||||
wgpolicyk8sv1alpha2 "github.com/kyverno/kyverno/pkg/clients/kyverno/wgpolicyk8sv1alpha2"
|
wgpolicyk8sv1alpha2 "github.com/kyverno/kyverno/pkg/clients/kyverno/wgpolicyk8sv1alpha2"
|
||||||
"github.com/kyverno/kyverno/pkg/metrics"
|
"github.com/kyverno/kyverno/pkg/metrics"
|
||||||
"k8s.io/client-go/discovery"
|
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||||
)
|
)
|
||||||
|
|
||||||
type clientset struct {
|
type clientset struct {
|
||||||
inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface
|
discovery k8s_io_client_go_discovery.DiscoveryInterface
|
||||||
kyvernov1 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface
|
kyvernov1 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface
|
||||||
kyvernov1alpha1 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.KyvernoV1alpha1Interface
|
kyvernov1alpha1 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha1.KyvernoV1alpha1Interface
|
||||||
kyvernov1alpha2 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.KyvernoV1alpha2Interface
|
kyvernov1alpha2 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1alpha2.KyvernoV1alpha2Interface
|
||||||
|
@ -25,8 +26,8 @@ type clientset struct {
|
||||||
wgpolicyk8sv1alpha2 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.Wgpolicyk8sV1alpha2Interface
|
wgpolicyk8sv1alpha2 github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_policyreport_v1alpha2.Wgpolicyk8sV1alpha2Interface
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *clientset) Discovery() discovery.DiscoveryInterface {
|
func (c *clientset) Discovery() k8s_io_client_go_discovery.DiscoveryInterface {
|
||||||
return c.inner.Discovery()
|
return c.discovery
|
||||||
}
|
}
|
||||||
func (c *clientset) KyvernoV1() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface {
|
func (c *clientset) KyvernoV1() github_com_kyverno_kyverno_pkg_client_clientset_versioned_typed_kyverno_v1.KyvernoV1Interface {
|
||||||
return c.kyvernov1
|
return c.kyvernov1
|
||||||
|
@ -44,20 +45,20 @@ func (c *clientset) Wgpolicyk8sV1alpha2() github_com_kyverno_kyverno_pkg_client_
|
||||||
return c.wgpolicyk8sv1alpha2
|
return c.wgpolicyk8sv1alpha2
|
||||||
}
|
}
|
||||||
|
|
||||||
func WrapWithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface {
|
func WrapWithMetrics(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface, m metrics.MetricsConfigManager, clientType metrics.ClientType) github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface {
|
||||||
return &clientset{
|
return &clientset{
|
||||||
inner: inner,
|
discovery: discovery.WithMetrics(inner.Discovery(), metrics.ClusteredClientQueryRecorder(m, "Discovery", clientType)),
|
||||||
kyvernov1: kyvernov1.WithMetrics(inner.KyvernoV1(), metrics, clientType),
|
kyvernov1: kyvernov1.WithMetrics(inner.KyvernoV1(), m, clientType),
|
||||||
kyvernov1alpha1: kyvernov1alpha1.WithMetrics(inner.KyvernoV1alpha1(), metrics, clientType),
|
kyvernov1alpha1: kyvernov1alpha1.WithMetrics(inner.KyvernoV1alpha1(), m, clientType),
|
||||||
kyvernov1alpha2: kyvernov1alpha2.WithMetrics(inner.KyvernoV1alpha2(), metrics, clientType),
|
kyvernov1alpha2: kyvernov1alpha2.WithMetrics(inner.KyvernoV1alpha2(), m, clientType),
|
||||||
kyvernov1beta1: kyvernov1beta1.WithMetrics(inner.KyvernoV1beta1(), metrics, clientType),
|
kyvernov1beta1: kyvernov1beta1.WithMetrics(inner.KyvernoV1beta1(), m, clientType),
|
||||||
wgpolicyk8sv1alpha2: wgpolicyk8sv1alpha2.WithMetrics(inner.Wgpolicyk8sV1alpha2(), metrics, clientType),
|
wgpolicyk8sv1alpha2: wgpolicyk8sv1alpha2.WithMetrics(inner.Wgpolicyk8sV1alpha2(), m, clientType),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func WrapWithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface) github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface {
|
func WrapWithTracing(inner github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface) github_com_kyverno_kyverno_pkg_client_clientset_versioned.Interface {
|
||||||
return &clientset{
|
return &clientset{
|
||||||
inner: inner,
|
discovery: discovery.WithTracing(inner.Discovery(), "Discovery", ""),
|
||||||
kyvernov1: kyvernov1.WithTracing(inner.KyvernoV1(), "KyvernoV1"),
|
kyvernov1: kyvernov1.WithTracing(inner.KyvernoV1(), "KyvernoV1"),
|
||||||
kyvernov1alpha1: kyvernov1alpha1.WithTracing(inner.KyvernoV1alpha1(), "KyvernoV1alpha1"),
|
kyvernov1alpha1: kyvernov1alpha1.WithTracing(inner.KyvernoV1alpha1(), "KyvernoV1alpha1"),
|
||||||
kyvernov1alpha2: kyvernov1alpha2.WithTracing(inner.KyvernoV1alpha2(), "KyvernoV1alpha2"),
|
kyvernov1alpha2: kyvernov1alpha2.WithTracing(inner.KyvernoV1alpha2(), "KyvernoV1alpha2"),
|
||||||
|
|
219
pkg/clients/kyverno/discovery/resource.generated.go
Normal file
219
pkg/clients/kyverno/discovery/resource.generated.go
Normal file
|
@ -0,0 +1,219 @@
|
||||||
|
package resource
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
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"
|
||||||
|
k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
k8s_io_apimachinery_pkg_version "k8s.io/apimachinery/pkg/version"
|
||||||
|
k8s_io_client_go_discovery "k8s.io/client-go/discovery"
|
||||||
|
k8s_io_client_go_openapi "k8s.io/client-go/openapi"
|
||||||
|
k8s_io_client_go_rest "k8s.io/client-go/rest"
|
||||||
|
)
|
||||||
|
|
||||||
|
func WithMetrics(inner k8s_io_client_go_discovery.DiscoveryInterface, recorder metrics.Recorder) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||||
|
return &withMetrics{inner, recorder}
|
||||||
|
}
|
||||||
|
|
||||||
|
func WithTracing(inner k8s_io_client_go_discovery.DiscoveryInterface, client, kind string) k8s_io_client_go_discovery.DiscoveryInterface {
|
||||||
|
return &withTracing{inner, client, kind}
|
||||||
|
}
|
||||||
|
|
||||||
|
type withMetrics struct {
|
||||||
|
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||||
|
recorder metrics.Recorder
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *withMetrics) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||||
|
defer c.recorder.Record("open_api_schema")
|
||||||
|
return c.inner.OpenAPISchema()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||||
|
defer c.recorder.Record("open_apiv3")
|
||||||
|
return c.inner.OpenAPIV3()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) RESTClient() k8s_io_client_go_rest.Interface {
|
||||||
|
defer c.recorder.Record("rest_client")
|
||||||
|
return c.inner.RESTClient()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||||
|
defer c.recorder.Record("server_groups")
|
||||||
|
return c.inner.ServerGroups()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_groups_and_resources")
|
||||||
|
return c.inner.ServerGroupsAndResources()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_preferred_namespaced_resources")
|
||||||
|
return c.inner.ServerPreferredNamespacedResources()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_preferred_resources")
|
||||||
|
return c.inner.ServerPreferredResources()
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
defer c.recorder.Record("server_resources_for_group_version")
|
||||||
|
return c.inner.ServerResourcesForGroupVersion(arg0)
|
||||||
|
}
|
||||||
|
func (c *withMetrics) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||||
|
defer c.recorder.Record("server_version")
|
||||||
|
return c.inner.ServerVersion()
|
||||||
|
}
|
||||||
|
|
||||||
|
type withTracing struct {
|
||||||
|
inner k8s_io_client_go_discovery.DiscoveryInterface
|
||||||
|
client string
|
||||||
|
kind string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *withTracing) OpenAPISchema() (*github_com_google_gnostic_openapiv2.Document, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "OpenAPISchema"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "OpenAPISchema"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.OpenAPISchema()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) OpenAPIV3() k8s_io_client_go_openapi.Client {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "OpenAPIV3"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "OpenAPIV3"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0 := c.inner.OpenAPIV3()
|
||||||
|
return ret0
|
||||||
|
}
|
||||||
|
func (c *withTracing) RESTClient() k8s_io_client_go_rest.Interface {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "RESTClient"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "RESTClient"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0 := c.inner.RESTClient()
|
||||||
|
return ret0
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerGroups() (*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroupList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerGroups"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerGroups"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerGroups()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerGroupsAndResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIGroup, []*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerGroupsAndResources"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerGroupsAndResources"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1, ret2 := c.inner.ServerGroupsAndResources()
|
||||||
|
if ret2 != nil {
|
||||||
|
span.RecordError(ret2)
|
||||||
|
span.SetStatus(codes.Error, ret2.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1, ret2
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerPreferredNamespacedResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerPreferredNamespacedResources"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerPreferredNamespacedResources"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerPreferredNamespacedResources()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerPreferredResources() ([]*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerPreferredResources"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerPreferredResources"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerPreferredResources()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerResourcesForGroupVersion(arg0 string) (*k8s_io_apimachinery_pkg_apis_meta_v1.APIResourceList, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerResourcesForGroupVersion"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerResourcesForGroupVersion"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerResourcesForGroupVersion(arg0)
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
||||||
|
func (c *withTracing) ServerVersion() (*k8s_io_apimachinery_pkg_version.Info, error) {
|
||||||
|
_, span := tracing.StartSpan(
|
||||||
|
context.TODO(),
|
||||||
|
"",
|
||||||
|
fmt.Sprintf("KUBE %s/%s/%s", c.client, c.kind, "ServerVersion"),
|
||||||
|
attribute.String("client", c.client),
|
||||||
|
attribute.String("kind", c.kind),
|
||||||
|
attribute.String("operation", "ServerVersion"),
|
||||||
|
)
|
||||||
|
defer span.End()
|
||||||
|
ret0, ret1 := c.inner.ServerVersion()
|
||||||
|
if ret1 != nil {
|
||||||
|
span.RecordError(ret1)
|
||||||
|
span.SetStatus(codes.Error, ret1.Error())
|
||||||
|
}
|
||||||
|
return ret0, ret1
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue