diff --git a/pkg/kubeconfig/extensions.go b/pkg/kubeconfig/extensions.go index 5e89ea01..6d374b61 100644 --- a/pkg/kubeconfig/extensions.go +++ b/pkg/kubeconfig/extensions.go @@ -334,3 +334,22 @@ func CheckContextScopeKubeflexExtensionSet(kconf clientcmdapi.Config, ctxName st return DiagnosisStatusOK } + +func CheckExtensionInitialContextNameSet(kconf clientcmdapi.Config) string { + runtimeObj, exists := kconf.Extensions[ExtensionKubeflexKey] + if !exists { + return DiagnosisStatusWarning + } + + runtimeExtension := &RuntimeKubeflexExtension{} + if err := ConvertRuntimeObjectToRuntimeExtension(runtimeObj, runtimeExtension); err != nil { + return DiagnosisStatusWarning + } + + val, ok := runtimeExtension.Data[ExtensionInitialContextName] + if !ok || val == "" { + return DiagnosisStatusWarning + } + + return DiagnosisStatusOK +} diff --git a/pkg/kubeconfig/extensions_test.go b/pkg/kubeconfig/extensions_test.go index 8a45cc84..ba899649 100644 --- a/pkg/kubeconfig/extensions_test.go +++ b/pkg/kubeconfig/extensions_test.go @@ -206,8 +206,6 @@ func TestCheckHostingClusterContextNameSingle(t *testing.T) { } } - - func TestCheckContextScopeKubeflexExtensionSetNoKubeflexExtensions(t *testing.T) { kconf := api.NewConfig() kconf.Clusters["cluster1"] = &api.Cluster{Server: "https://example.com:6443"}