From 15f5df91c33b1df6119c1cbb8869173791b4cdb2 Mon Sep 17 00:00:00 2001 From: Wesley Ellis Date: Fri, 10 Jul 2026 16:39:46 -0400 Subject: [PATCH] fix: check error before using config in GetKubernetesConfig ClientConfig() returns a nil config when it errors (e.g. no kubeconfig or an invalid context), but QPS/Burst/Timeout were assigned before the error check, panicking with a nil-pointer dereference instead of returning the error to the caller. Co-Authored-By: Claude Fable 5 --- src/pkg/k8s.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pkg/k8s.go b/src/pkg/k8s.go index dbbf6aa..a398ca8 100644 --- a/src/pkg/k8s.go +++ b/src/pkg/k8s.go @@ -439,12 +439,12 @@ func GetKubernetesConfig() (*rest.Config, error) { loadingRules := clientcmd.NewDefaultClientConfigLoadingRules() configOverrides := &clientcmd.ConfigOverrides{} config, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, configOverrides).ClientConfig() - config.QPS = float32(viper.GetInt("k8s-api-qps")) - config.Burst = viper.GetInt("k8s-api-burst") - config.Timeout = time.Second * time.Duration(viper.GetInt("job-pod-exec-max-wait")) if err != nil { return nil, err } + config.QPS = float32(viper.GetInt("k8s-api-qps")) + config.Burst = viper.GetInt("k8s-api-burst") + config.Timeout = time.Second * time.Duration(viper.GetInt("job-pod-exec-max-wait")) return config, nil }