# Functions
NewFixedValueProvider creates fixed value provider which upon calling Provide will always provide the same telemetry report.
NewFunctorProvider creates a new functor provider that allows to define one's own telemetry retrieval logic by providing a ReportFunctor as parameter.
NewHostnameProvider creates hostname provider.
NewK8sClientGoBase returns a kubernetes provider (based on client-go) by creating a kubernetes client based on the provided config and returning telemetry data using the logic in provided func.
NewK8sClusterArchProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get cluster architecture.
NewK8sClusterProviderProvider creates telemetry data provider that will return the cluster provider name based on a set of heuristics.
NewK8sClusterVersionProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get cluster k8s version.
NewK8sControllerRuntimeBase returns a kubernetes provider (based on controller-runtime) by creating a kubernetes client based on the provided config and returning telemetry data using the logic in provided func.
NewK8sGatewayClassCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a GatewayClass count from the cluster.
NewK8sGatewayCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a gateway count from the cluster.
NewK8sGRPCRouteCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a GRPCRoute count from the cluster.
NewK8sHTTPRouteCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a HTTPRoute count from the cluster.
NewK8sNodeCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a node count from the cluster.
NewK8sObjectCountProvider returns a k8s object count provider, which will provide a count of specified resource.
NewK8sObjectCountProviderWithRESTMapper returns a k8s object count provider and it will use the provided rest mapper to check if there is a kind for the provided group version resource, available on the cluster.
NewK8sPodCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a pod count from the cluster.
NewK8sReferenceGrantCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a ReferenceGrant count from the cluster.
NewK8sServiceCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a service count from the cluster.
NewK8sTCPRouteCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a TCPRoute count from the cluster.
NewK8sTLSRouteCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a TLSRoute count from the cluster.
NewK8sUDPRouteCountProvider creates telemetry data provider that will query the configured k8s cluster - using the provided client - to get a UDPRoute count from the cluster.
NewMeshDetectProvider returns a mesh detection provider, which will provide a information about detected meshes in kubernetes cluster.
NewOpenShiftVersionProvider provides the OpenShift version, or nothing if the cluster is not OpenShift.
NewUptimeProvider provides new uptime provider which will return uptime counted since the provider creation time.
# Constants
ClusterArchKey is report key under which cluster architecture will be provided.
ClusterArchKind represents cluster arch provider kind.
ClusterProviderAWS identifies Amazon's AWS cluster provider.
ClusterProviderAzure identifies Microsoft's Azure cluster provider.
ClusterProviderGKE identifies Google's GKE cluster provider.
ClusterProviderK3S identifies k3s cluster provider.
ClusterProviderKey is report key under which the cluster provider will be provided.
ClusterProviderKind represents cluster provider kind.
ClusterProviderKubernetesInDocker identifies kind (kubernetes in docker) as cluster provider.
ClusterProviderUnknown represents an unknown cluster provider.
ClusterVersionKey is the report key under which cluster k8s version will be provided as returned by the /version API.
ClusterVersionKind represents cluster version provider kind.
ClusterVersionSemverKey is the report key under which cluster k8s semver version will be provided.
GatewayClassCountKey is report key under which the number of GatewayClasses in the cluster will be provided.
GatewayClassCountKind represents the GatewayClass count provider kind.
GatewayCountKey is report key under which the number of pods in the cluster will be provided.
GatewayCountKind represents the pod count provider kind.
GRPCRouteCountKey is report key under which the number of GRPCRoutes in the cluster will be provided.
GRPCRouteCountKind represents the GRPCRoute count provider kind.
HostnameKey is the report key that under which one can find hostname.
HTTPRouteCountKey is report key under which the number of HTTPRoutes in the cluster will be provided.
HTTPRouteCountKind represents the HTTPRoute count provider kind.
ImageVersionVariable is the environment variable whose value contains the operator image version.
MeshDetectKind represents the mesh detect provider kind.
MeshDetectProviderKey is report key under which the mesh detectino info will be provided.
NodeCountKey is the report key under which the number of nodes in the cluster will be provided.
NodeCountKind represents the node count provider kind.
OpenShiftVersionKey is a report key used to report the OpenShift version, if any.
OpenShiftVersionKind is the OpenShift cluster version kind.
OpenShiftVersionPodApp is a value for the "app" label to select pods whose environment includes OpenShift version information.
OpenShiftVersionPodNamespace is a namespace expected to contain pods whose environment includes OpenShift version information.
PodCountKey is report key under which the number of pods in the cluster will be provided.
PodCountKind represents the pod count provider kind.
ReferenceGrantCountKey is report key under which the number of ReferenceGrants in the cluster will be provided.
ReferenceGrantCountKind represents the ReferenceGrant count provider kind.
ServiceCountKey is report key under which the number of services in the cluster will be provided.
ServiceCountKind represents the service count provider kind.
TCPRouteCountKey is report key under which the number of TCPRoutes in the cluster will be provided.
TCPRouteCountKind represents the TCPRoute count provider kind.
TLSRouteCountKey is report key under which the number of TLSRoutes in the cluster will be provided.
TLSRouteCountKind represents the TLSRoute count provider kind.
UDPRouteCountKey is report key under which the number of UDPRoutes in the cluster will be provided.
UDPRouteCountKind represents the UDPRoute count provider kind.
UptimeKey is the report key that under which one can find uptime.
# Structs
ErrGVRNotAvailable is an error which indicates that a GVR is not available.
# Interfaces
Provider defines how a telemetry provider can be used.
# Type aliases
ClientGoProvideFunc defines a provider func for client-go based providers.
ClusterProvider identifies a particular clsuter provider like AWS, GKE, Azure etc.
ControllerRuntimeProvideFunc defines a provider func for controller-runtime based providers.
Kind presents provider's kind.
ReportFunctor defines a function type that functor provider accepts as means for delivering telemetry data.