diff --git a/pkg/telemetry/cluster.go b/pkg/telemetry/cluster.go index e68d41e1b..d6e8c732b 100644 --- a/pkg/telemetry/cluster.go +++ b/pkg/telemetry/cluster.go @@ -23,6 +23,10 @@ const ( openshift = "Openshift" rke = "RKE" rke2 = "RKE2" + evg = "Evergreen" + minikube = "Minikube" + k3s = "K3s" + microk8s = "MicroK8s" ) var kubernetesFlavourLabelsMapping = map[string]string{ @@ -30,11 +34,16 @@ var kubernetesFlavourLabelsMapping = map[string]string{ "cloud.google.com/gke-nodepool": gke, "kubernetes.azure.com/agentpool": aks, "node.openshift.io/os_id": openshift, + "mongodb.com/evergreen": evg, + "minikube.k8s.io/name": minikube, + "microk8s.io/cluster": microk8s, } var kubernetesFlavourAnnotationsMapping = map[string]string{ "rke.cattle.io/external-ip": rke, "rke.cattle.io/internal-ip": rke, + "k3s.io/hostname": k3s, + "k3s.io/internal-ip": k3s, } // detectClusterInfo detects the Kubernetes version and cluster flavor @@ -101,6 +110,8 @@ func detectKubernetesFlavour(ctx context.Context, uncachedClient kubeclient.Read return eks case strings.Contains(kubeGitApiVersion, "+vmware"): return vmware + case strings.Contains(kubeGitApiVersion, "+k3s"): + return k3s } // Limit is propagated to the apiserver which propagates to etcd as it is. Thus, there is not a lot of diff --git a/pkg/telemetry/collector.go b/pkg/telemetry/collector.go index 1e6a2ed09..97e7014c1 100644 --- a/pkg/telemetry/collector.go +++ b/pkg/telemetry/collector.go @@ -183,7 +183,7 @@ func collectOperatorSnapshot(ctx context.Context, memberClusterMap map[string]Co KubernetesClusterIDs: kubeClusterUUIDList, OperatorID: operatorUUID, OperatorVersion: versionutil.StaticContainersOperatorVersion(), - OperatorType: MEKO, + OperatorType: MCK, OperatorArchitecture: runtime.GOARCH, OperatorOS: runtime.GOOS, } diff --git a/pkg/telemetry/collector_test.go b/pkg/telemetry/collector_test.go index f0ca25986..133c7f41f 100644 --- a/pkg/telemetry/collector_test.go +++ b/pkg/telemetry/collector_test.go @@ -1389,7 +1389,7 @@ func TestCollectOperatorSnapshot(t *testing.T) { }, expectedProps: OperatorUsageSnapshotProperties{ OperatorID: testOperatorUUID, - OperatorType: MEKO, + OperatorType: MCK, OperatorArchitecture: runtime.GOARCH, OperatorOS: runtime.GOOS, }, @@ -1423,7 +1423,7 @@ func TestCollectOperatorSnapshot(t *testing.T) { assert.Equal(t, runtime.GOARCH, event.Properties["operatorArchitecture"]) assert.Equal(t, runtime.GOOS, event.Properties["operatorOS"]) assert.Equal(t, testOperatorUUID, event.Properties["operatorID"]) - assert.Equal(t, string(MEKO), event.Properties["operatorType"]) + assert.Equal(t, string(MCK), event.Properties["operatorType"]) assert.Contains(t, event.Properties, "kubernetesClusterID") assert.Contains(t, event.Properties, "kubernetesClusterIDs") diff --git a/scripts/dev/setup_kind_cluster.sh b/scripts/dev/setup_kind_cluster.sh index f9b055be3..72f3e5ad6 100755 --- a/scripts/dev/setup_kind_cluster.sh +++ b/scripts/dev/setup_kind_cluster.sh @@ -82,31 +82,43 @@ apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json - role: control-plane image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json - role: control-plane image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json - role: worker image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json - role: worker image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json - role: worker image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json @@ -133,6 +145,8 @@ apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane image: ${kind_image} + labels: + mongodb.com/evergreen: true extraMounts: - containerPath: /var/lib/kubelet/config.json hostPath: ${HOME}/.docker/config.json