diff --git a/pkg/core/deployer/providers/k8s-secret/k8s_secret.go b/pkg/core/deployer/providers/k8s-secret/k8s_secret.go index 749e0d8cd..88ad66255 100644 --- a/pkg/core/deployer/providers/k8s-secret/k8s_secret.go +++ b/pkg/core/deployer/providers/k8s-secret/k8s_secret.go @@ -9,6 +9,8 @@ import ( k8score "k8s.io/api/core/v1" k8serrs "k8s.io/apimachinery/pkg/api/errors" meta "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/kubernetes/scheme" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" @@ -222,6 +224,15 @@ func createK8sClient(kubeConfig string) (*rest.RESTClient, error) { return nil, err } + // InClusterConfig does not set GroupVersion or NegotiatedSerializer, + // but both are required by rest.RESTClientFor. + if config.GroupVersion == nil { + config.GroupVersion = &schema.GroupVersion{Group: "", Version: "v1"} + } + if config.NegotiatedSerializer == nil { + config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() + } + client, err := rest.RESTClientFor(config) if err != nil { return nil, err