1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-03-06 16:06:56 +00:00
kyverno/pkg/clients/kube/corev1/client.generated.go
Charles-Edouard Brétéché ecbdaae292
feat: add logging support to instrumented clients (#5438)
* 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>

* feat: add logging support to instrumented clients

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
Signed-off-by: Charles-Edouard Brétéché <charled.breteche@gmail.com>
2022-11-22 15:12:30 +00:00

224 lines
14 KiB
Go

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"
events "github.com/kyverno/kyverno/pkg/clients/kube/corev1/events"
limitranges "github.com/kyverno/kyverno/pkg/clients/kube/corev1/limitranges"
namespaces "github.com/kyverno/kyverno/pkg/clients/kube/corev1/namespaces"
nodes "github.com/kyverno/kyverno/pkg/clients/kube/corev1/nodes"
persistentvolumeclaims "github.com/kyverno/kyverno/pkg/clients/kube/corev1/persistentvolumeclaims"
persistentvolumes "github.com/kyverno/kyverno/pkg/clients/kube/corev1/persistentvolumes"
pods "github.com/kyverno/kyverno/pkg/clients/kube/corev1/pods"
podtemplates "github.com/kyverno/kyverno/pkg/clients/kube/corev1/podtemplates"
replicationcontrollers "github.com/kyverno/kyverno/pkg/clients/kube/corev1/replicationcontrollers"
resourcequotas "github.com/kyverno/kyverno/pkg/clients/kube/corev1/resourcequotas"
secrets "github.com/kyverno/kyverno/pkg/clients/kube/corev1/secrets"
serviceaccounts "github.com/kyverno/kyverno/pkg/clients/kube/corev1/serviceaccounts"
services "github.com/kyverno/kyverno/pkg/clients/kube/corev1/services"
"github.com/kyverno/kyverno/pkg/metrics"
k8s_io_client_go_kubernetes_typed_core_v1 "k8s.io/client-go/kubernetes/typed/core/v1"
"k8s.io/client-go/rest"
)
func WithMetrics(inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface, metrics metrics.MetricsConfigManager, clientType metrics.ClientType) k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface {
return &withMetrics{inner, metrics, clientType}
}
func WithTracing(inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface, client string) 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
clientType metrics.ClientType
}
func (c *withMetrics) RESTClient() rest.Interface {
return c.inner.RESTClient()
}
func (c *withMetrics) ComponentStatuses() k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface {
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "ComponentStatus", c.clientType)
return componentstatuses.WithMetrics(c.inner.ComponentStatuses(), recorder)
}
func (c *withMetrics) ConfigMaps(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "ConfigMap", c.clientType)
return configmaps.WithMetrics(c.inner.ConfigMaps(namespace), recorder)
}
func (c *withMetrics) Endpoints(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "Endpoints", c.clientType)
return endpoints.WithMetrics(c.inner.Endpoints(namespace), recorder)
}
func (c *withMetrics) Events(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.EventInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "Event", c.clientType)
return events.WithMetrics(c.inner.Events(namespace), recorder)
}
func (c *withMetrics) LimitRanges(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "LimitRange", c.clientType)
return limitranges.WithMetrics(c.inner.LimitRanges(namespace), recorder)
}
func (c *withMetrics) Namespaces() k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface {
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "Namespace", c.clientType)
return namespaces.WithMetrics(c.inner.Namespaces(), recorder)
}
func (c *withMetrics) Nodes() k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface {
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "Node", c.clientType)
return nodes.WithMetrics(c.inner.Nodes(), recorder)
}
func (c *withMetrics) PersistentVolumeClaims(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "PersistentVolumeClaim", c.clientType)
return persistentvolumeclaims.WithMetrics(c.inner.PersistentVolumeClaims(namespace), recorder)
}
func (c *withMetrics) PersistentVolumes() k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface {
recorder := metrics.ClusteredClientQueryRecorder(c.metrics, "PersistentVolume", c.clientType)
return persistentvolumes.WithMetrics(c.inner.PersistentVolumes(), recorder)
}
func (c *withMetrics) PodTemplates(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "PodTemplate", c.clientType)
return podtemplates.WithMetrics(c.inner.PodTemplates(namespace), recorder)
}
func (c *withMetrics) Pods(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PodInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "Pod", c.clientType)
return pods.WithMetrics(c.inner.Pods(namespace), recorder)
}
func (c *withMetrics) ReplicationControllers(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "ReplicationController", c.clientType)
return replicationcontrollers.WithMetrics(c.inner.ReplicationControllers(namespace), recorder)
}
func (c *withMetrics) ResourceQuotas(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "ResourceQuota", c.clientType)
return resourcequotas.WithMetrics(c.inner.ResourceQuotas(namespace), recorder)
}
func (c *withMetrics) Secrets(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "Secret", c.clientType)
return secrets.WithMetrics(c.inner.Secrets(namespace), recorder)
}
func (c *withMetrics) ServiceAccounts(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "ServiceAccount", c.clientType)
return serviceaccounts.WithMetrics(c.inner.ServiceAccounts(namespace), recorder)
}
func (c *withMetrics) Services(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ServiceInterface {
recorder := metrics.NamespacedClientQueryRecorder(c.metrics, namespace, "Service", c.clientType)
return services.WithMetrics(c.inner.Services(namespace), recorder)
}
type withTracing struct {
inner k8s_io_client_go_kubernetes_typed_core_v1.CoreV1Interface
client string
}
func (c *withTracing) RESTClient() rest.Interface {
return c.inner.RESTClient()
}
func (c *withTracing) ComponentStatuses() k8s_io_client_go_kubernetes_typed_core_v1.ComponentStatusInterface {
return componentstatuses.WithTracing(c.inner.ComponentStatuses(), c.client, "ComponentStatus")
}
func (c *withTracing) ConfigMaps(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ConfigMapInterface {
return configmaps.WithTracing(c.inner.ConfigMaps(namespace), c.client, "ConfigMap")
}
func (c *withTracing) Endpoints(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.EndpointsInterface {
return endpoints.WithTracing(c.inner.Endpoints(namespace), c.client, "Endpoints")
}
func (c *withTracing) Events(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.EventInterface {
return events.WithTracing(c.inner.Events(namespace), c.client, "Event")
}
func (c *withTracing) LimitRanges(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.LimitRangeInterface {
return limitranges.WithTracing(c.inner.LimitRanges(namespace), c.client, "LimitRange")
}
func (c *withTracing) Namespaces() k8s_io_client_go_kubernetes_typed_core_v1.NamespaceInterface {
return namespaces.WithTracing(c.inner.Namespaces(), c.client, "Namespace")
}
func (c *withTracing) Nodes() k8s_io_client_go_kubernetes_typed_core_v1.NodeInterface {
return nodes.WithTracing(c.inner.Nodes(), c.client, "Node")
}
func (c *withTracing) PersistentVolumeClaims(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeClaimInterface {
return persistentvolumeclaims.WithTracing(c.inner.PersistentVolumeClaims(namespace), c.client, "PersistentVolumeClaim")
}
func (c *withTracing) PersistentVolumes() k8s_io_client_go_kubernetes_typed_core_v1.PersistentVolumeInterface {
return persistentvolumes.WithTracing(c.inner.PersistentVolumes(), c.client, "PersistentVolume")
}
func (c *withTracing) PodTemplates(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PodTemplateInterface {
return podtemplates.WithTracing(c.inner.PodTemplates(namespace), c.client, "PodTemplate")
}
func (c *withTracing) Pods(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.PodInterface {
return pods.WithTracing(c.inner.Pods(namespace), c.client, "Pod")
}
func (c *withTracing) ReplicationControllers(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ReplicationControllerInterface {
return replicationcontrollers.WithTracing(c.inner.ReplicationControllers(namespace), c.client, "ReplicationController")
}
func (c *withTracing) ResourceQuotas(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ResourceQuotaInterface {
return resourcequotas.WithTracing(c.inner.ResourceQuotas(namespace), c.client, "ResourceQuota")
}
func (c *withTracing) Secrets(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.SecretInterface {
return secrets.WithTracing(c.inner.Secrets(namespace), c.client, "Secret")
}
func (c *withTracing) ServiceAccounts(namespace string) k8s_io_client_go_kubernetes_typed_core_v1.ServiceAccountInterface {
return serviceaccounts.WithTracing(c.inner.ServiceAccounts(namespace), c.client, "ServiceAccount")
}
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))
}