Documentation ¶
Overview ¶
Package telemetry builds and sends telemetry data to the Liqo telemetry server. The telemetry data contains information about the cluster and the Liqo installation. The telemetry server aggregates the collected data and provides it to the Liqo maintainers. All the transmitted data is anonymous and does not contain any sensitive information. In particular the following data is sent:
- Cluster ID
- Liqo version
- Kubernetes version
- Security mode
- Provider (e.g. GKE, EKS, AKS, ...)
- Peering info -- RemoteClusterID -- PeeringType (OutOfBand/InBand) -- DiscoveryType (LAN/Manual/IncomingPeering) -- Latency -- Incoming (enabled, resources) -- Outgoing (enabled, resources)
- Namespaces info -- UID -- MappingStrategy (EnforceSameName/DefaultName) -- OffloadingStrategy (Local/Remote/LocalAndRemote) -- HasClusterSelector (true/false) -- NumOffloadedPods (map of clusterID -> number of offloaded pods)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Builder ¶
type Builder struct { Client client.Client Namespace string LiqoVersion string KubernetesVersion string ClusterLabels map[string]string SecurityMode string }
Builder is the constructor for the Telemetry struct.
type NamespaceInfo ¶
type NamespaceInfo struct { UID string `json:"uid,omitempty"` MappingStrategy offloadingv1alpha1.NamespaceMappingStrategyType `json:"mappingStrategy,omitempty"` OffloadingStrategy offloadingv1alpha1.PodOffloadingStrategyType `json:"offloadingStrategy,omitempty"` HasClusterSelector bool `json:"hasClusterSelector,omitempty"` NumOffloadedPods map[string]int64 `json:"numOffloadedPods,omitempty"` }
NamespaceInfo contains information about an offloaded namespace.
type PeeringDetails ¶
type PeeringDetails struct { Enabled bool `json:"enabled"` Resources corev1.ResourceList `json:"resources,omitempty"` }
PeeringDetails contains information about a peering direction.
type PeeringInfo ¶
type PeeringInfo struct { RemoteClusterID string `json:"remoteClusterID"` Method discoveryv1alpha1.PeeringType `json:"method,omitempty"` DiscoveryType discovery.Type `json:"discoveryType,omitempty"` Latency time.Duration `json:"latency,omitempty"` Incoming PeeringDetails `json:"incoming"` Outgoing PeeringDetails `json:"outgoing"` }
PeeringInfo contains information about a peering.
type Telemetry ¶
type Telemetry struct { ClusterID string `json:"clusterID"` LiqoVersion string `json:"liqoVersion,omitempty"` KubernetesVersion string `json:"kubernetesVersion,omitempty"` SecurityMode string `json:"securityMode,omitempty"` Provider string `json:"provider,omitempty"` PeeringInfo []PeeringInfo `json:"peeringInfo,omitempty"` NamespacesInfo []NamespaceInfo `json:"namespacesInfo,omitempty"` }
Telemetry contains information about the cluster.