From b2ba1408cc341ee947045f8e05a12af730f39cf9 Mon Sep 17 00:00:00 2001 From: Aaron Prindle Date: Mon, 28 Nov 2022 21:42:45 +0000 Subject: [PATCH] fix: properly wire deploy.kubectl.defaultNamespace field to be set in SKAFFOLD_NAMESPACES (#8129) --- pkg/skaffold/runner/runcontext/context.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/skaffold/runner/runcontext/context.go b/pkg/skaffold/runner/runcontext/context.go index a2d3a55a666..4eab76015aa 100644 --- a/pkg/skaffold/runner/runcontext/context.go +++ b/pkg/skaffold/runner/runcontext/context.go @@ -261,6 +261,18 @@ func (rc *RunContext) GetNamespace() string { if rc.Opts.Namespace != "" { return rc.Opts.Namespace } + var defaultNamespace string + for _, p := range rc.GetPipelines() { + if p.Deploy.KubectlDeploy != nil && p.Deploy.KubectlDeploy.DefaultNamespace != nil { + if defaultNamespace != "" { + log.Entry(context.TODO()).Warn("multiple deploy.kubectl.defaultNamespace values set, only last pipeline's value will be used") + } + defaultNamespace = *p.Deploy.KubectlDeploy.DefaultNamespace + } + } + if defaultNamespace != "" { + return defaultNamespace + } b, err := (&util.Commander{}).RunCmdOut(context.Background(), exec.Command("kubectl", "config", "view", "--minify", "-o", "jsonpath='{..namespace}'")) if err != nil { return rc.Opts.Namespace