github.com/tilt-dev/tilt@v0.36.0/internal/k8s/kubeconfig.go (about) 1 package k8s 2 3 import ( 4 "context" 5 "sync" 6 7 "k8s.io/apimachinery/pkg/types" 8 9 "github.com/tilt-dev/tilt/internal/k8s/kubeconfig" 10 "github.com/tilt-dev/tilt/internal/localexec" 11 "github.com/tilt-dev/tilt/pkg/logger" 12 ) 13 14 func ProvideDefaultLocalKubeconfigPath( 15 globalCtx context.Context, 16 writer *kubeconfig.Writer, 17 apiConfigOrError APIConfigOrError) localexec.KubeconfigPathOnce { 18 apiConfig, err := apiConfigOrError.Config, apiConfigOrError.Error 19 if err != nil { 20 return func() string { 21 return "" 22 } 23 } 24 25 return sync.OnceValue(func() string { 26 path, err := writer.WriteFrozenKubeConfig(globalCtx, types.NamespacedName{ 27 Name: "default", 28 Namespace: "default", 29 }, apiConfig) 30 if err != nil { 31 logger.Get(globalCtx).Warnf("internal error generating kubeconfig: %v", err) 32 return "" 33 } 34 return path 35 }) 36 }