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
- Node info -- Kernel version -- OS image
- Security mode
- Provider (e.g. GKE, EKS, AKS, ...)
- Peering info -- RemoteClusterID -- Modules ---- Networking ------ Enabled ---- Authentication ------ Enabled ---- Offloading ------ Enabled -- Role -- Latency -- NodesNumber -- VirtualNodesNumber
- 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 }
Builder is the constructor for the Telemetry struct.
type ModuleInfo ¶
type ModuleInfo struct {
Enabled bool `json:"enabled"`
}
ModuleInfo contains information about a module.
type ModulesInfo ¶
type ModulesInfo struct { Networking ModuleInfo `json:"networking"` Authentication ModuleInfo `json:"authentication"` Offloading ModuleInfo `json:"offloading"` }
ModulesInfo contains information about the modules.
type NamespaceInfo ¶
type NamespaceInfo struct { UID string `json:"uid,omitempty"` MappingStrategy offloadingv1beta1.NamespaceMappingStrategyType `json:"mappingStrategy,omitempty"` OffloadingStrategy offloadingv1beta1.PodOffloadingStrategyType `json:"offloadingStrategy,omitempty"` HasClusterSelector bool `json:"hasClusterSelector,omitempty"` NumOffloadedPods map[string]int64 `json:"numOffloadedPods,omitempty"` }
NamespaceInfo contains information about an offloaded namespace.
type NodeInfo ¶
type NodeInfo struct { KernelVersion string `json:"kernelVersion,omitempty"` OsImage string `json:"osImage,omitempty"` Architecture string `json:"architecture,omitempty"` }
NodeInfo contains information about a node.
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 liqov1beta1.ClusterID `json:"remoteClusterID"` Modules ModulesInfo `json:"modules,omitempty"` Role liqov1beta1.RoleType `json:"role,omitempty"` Latency time.Duration `json:"latency,omitempty"` NodesNumber int `json:"nodesNumber"` VirtualNodesNumber int `json:"virtualNodesNumber"` ResourceSliceNumber int `json:"resourceSliceNumber"` }
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"` NodesInfo map[string]NodeInfo `json:"nodesInfo,omitempty"` Provider string `json:"provider,omitempty"` PeeringInfo []PeeringInfo `json:"peeringInfo,omitempty"` NamespacesInfo []NamespaceInfo `json:"namespacesInfo,omitempty"` }
Telemetry contains information about the cluster.