Fix: vela cli namespace behaviour (#6805)

This commit is contained in:
Chaitanyareddy0702
2025-06-17 10:25:59 +08:00
committed by GitHub
parent 4d6fa58c0f
commit 7d72fa904c
17 changed files with 186 additions and 54 deletions
+8 -3
View File
@@ -67,8 +67,8 @@ func addNamespaceAndEnvArg(cmd *cobra.Command) {
cmd.PersistentFlags().StringP("env", "e", "", "specify environment name for application")
}
// GetFlagNamespaceOrEnv will get env and namespace flag, namespace flag takes the priority
func GetFlagNamespaceOrEnv(cmd *cobra.Command, args common.Args) (string, error) {
// GetFlagNamespace will get the namespace from the flag and returns empty string if namepspace if not provided
func GetFlagNamespace(cmd *cobra.Command, args common.Args) (string, error) {
namespace, err := cmd.Flags().GetString(Namespace)
if err != nil {
return "", err
@@ -76,10 +76,15 @@ func GetFlagNamespaceOrEnv(cmd *cobra.Command, args common.Args) (string, error)
if namespace != "" {
return namespace, nil
}
return namespace, nil
}
// GetNamespaceFromEnv will get the namespace from the env provided or defaults to vela env
func GetNamespaceFromEnv(cmd *cobra.Command, args common.Args) (string, error) {
velaEnv, err := GetFlagEnvOrCurrent(cmd, args)
if err != nil {
return "", err
}
return velaEnv.Namespace, nil
}
+30 -9
View File
@@ -96,18 +96,23 @@ vela dry-run -f app.yaml -f policy.yaml -f workflow.yaml
types.TagCommandOrder: order,
},
RunE: func(cmd *cobra.Command, args []string) error {
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
// We need to return an error only if not in offline mode
if !o.OfflineMode {
return err
}
// Set the namespace to default to match behavior of `GetFlagNamespaceOrEnv`
namespace = types.DefaultAppNamespace
}
buff, err := DryRunApplication(o, c, namespace)
namespaceEnv, err := GetNamespaceFromEnv(cmd, c)
if err != nil {
// We need to return an error only if not in offline mode
if !o.OfflineMode {
return err
}
}
buff, err := DryRunApplication(o, c, namespace, namespaceEnv)
if err != nil {
return err
}
@@ -127,9 +132,9 @@ vela dry-run -f app.yaml -f policy.yaml -f workflow.yaml
}
// DryRunApplication will dry-run an application and return the render result
func DryRunApplication(cmdOption *DryRunCmdOptions, c common.Args, namespace string) (bytes.Buffer, error) {
func DryRunApplication(cmdOption *DryRunCmdOptions, c common.Args, namespace string, namespaceEnv string) (bytes.Buffer, error) {
var err error
var buff = bytes.Buffer{}
buff := bytes.Buffer{}
var objs []*unstructured.Unstructured
if cmdOption.DefinitionFile != "" {
@@ -176,6 +181,22 @@ func DryRunApplication(cmdOption *DryRunCmdOptions, c common.Args, namespace str
if err != nil {
return buff, errors.WithMessagef(err, "read application files: %s", cmdOption.ApplicationFiles)
}
if app.Namespace != "" && namespace != "" && app.Namespace != namespace {
return buff, errors.WithMessage(fmt.Errorf("error: conflicting namespace found in file and flag %s doesn't match with namespace %s ", namespace, app.Namespace), "The namespace must be unique")
}
switch {
case namespace == "" && app.Namespace == "":
ctx = oamutil.SetNamespaceInCtx(ctx, namespaceEnv)
case namespace != "" && app.Namespace == "":
ctx = oamutil.SetNamespaceInCtx(ctx, namespace)
case namespace == "" && app.Namespace != "":
ctx = oamutil.SetNamespaceInCtx(ctx, app.Namespace)
default:
ctx = oamutil.SetNamespaceInCtx(ctx, app.Namespace)
}
err = dryRunOpt.ExecuteDryRunWithPolicies(ctx, app, &buff)
if err != nil {
return buff, err
@@ -371,7 +392,6 @@ func readApplicationFromFiles(cmdOption *DryRunCmdOptions, buff *bytes.Buffer) (
}
func getPolicyNameFromWorkflow(wf *wfv1alpha1.Workflow, policyNameMap map[string]struct{}) error {
checkPolicy := func(wfsb wfv1alpha1.WorkflowStepBase, policyNameMap map[string]struct{}) error {
workflowStepSpec := &step.DeployWorkflowStepSpec{}
if err := utils.StrictUnmarshal(wfsb.Properties.Raw, workflowStepSpec); err != nil {
@@ -427,7 +447,8 @@ var deployDefinition = &corev1beta1.WorkflowStepDefinition{
},
Spec: corev1beta1.WorkflowStepDefinitionSpec{
Schematic: &apicommon.Schematic{
CUE: &apicommon.CUE{Template: `
CUE: &apicommon.CUE{
Template: `
import (
"vela/op"
)
+17 -17
View File
@@ -58,7 +58,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-1.yaml"}, OfflineMode: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
Expect(buff.String()).Should(ContainSubstring("kind: Deployment"))
@@ -77,7 +77,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-2.yaml"}, OfflineMode: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology target-default)"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -91,7 +91,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-3.yaml"}, OfflineMode: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology target-default)"))
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology target-prod)"))
@@ -119,7 +119,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-4.yaml"}, OfflineMode: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology deploy-somewhere)"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -132,7 +132,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-policy.yaml"}, OfflineMode: false}
_, err := DryRunApplication(&opt, c, "")
_, err := DryRunApplication(&opt, c, "", "")
Expect(err).ShouldNot(BeNil())
Expect(err.Error()).Should(ContainSubstring("no application provided"))
@@ -144,7 +144,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-1.yaml", "test-data/dry-run/testing-dry-run-2.yaml"}, OfflineMode: false}
_, err := DryRunApplication(&opt, c, "")
_, err := DryRunApplication(&opt, c, "", "")
Expect(err).ShouldNot(BeNil())
Expect(err.Error()).Should(ContainSubstring("more than one applications provided"))
@@ -156,7 +156,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-1.yaml", "test-data/dry-run/testing-wf.yaml", "test-data/dry-run/testing-wf.yaml"}, OfflineMode: false}
_, err := DryRunApplication(&opt, c, "")
_, err := DryRunApplication(&opt, c, "", "")
Expect(err).ShouldNot(BeNil())
Expect(err.Error()).Should(ContainSubstring("more than one external workflow provided"))
@@ -168,7 +168,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-trait.yaml"}, OfflineMode: false}
_, err := DryRunApplication(&opt, c, "")
_, err := DryRunApplication(&opt, c, "", "")
Expect(err).ShouldNot(BeNil())
Expect(err.Error()).Should(ContainSubstring("is not application, policy or workflow"))
@@ -180,7 +180,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-trait.yaml"}, OfflineMode: false}
_, err := DryRunApplication(&opt, c, "")
_, err := DryRunApplication(&opt, c, "", "")
Expect(err).ShouldNot(BeNil())
Expect(err.Error()).Should(ContainSubstring("is not application, policy or workflow"))
@@ -192,7 +192,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-5.yaml", "test-data/dry-run/testing-wf.yaml", "test-data/dry-run/testing-policy.yaml"}, OfflineMode: false, MergeStandaloneFiles: true}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology deploy-somewhere)"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -205,7 +205,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-5.yaml", "test-data/dry-run/testing-policy.yaml"}, OfflineMode: false, MergeStandaloneFiles: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("WARNING: policy deploy-somewhere not referenced by application"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -218,7 +218,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-5.yaml", "test-data/dry-run/testing-wf.yaml"}, OfflineMode: false, MergeStandaloneFiles: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("WARNING: workflow testing-wf not referenced by application"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -228,7 +228,7 @@ var _ = Describe("Testing dry-run", func() {
It("Testing dry-run offline with definition file", func() {
c := common2.Args{}
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-6.yaml"}, DefinitionFile: "test-data/dry-run/definitions/testing-worker-def.yaml", OfflineMode: true}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app)"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -239,7 +239,7 @@ var _ = Describe("Testing dry-run", func() {
It("Testing dry-run offline with definition directory", func() {
c := common2.Args{}
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-6.yaml"}, DefinitionFile: "test-data/dry-run/definitions", OfflineMode: true}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app)"))
Expect(buff.String()).Should(ContainSubstring("name: testing-dryrun"))
@@ -250,7 +250,7 @@ var _ = Describe("Testing dry-run", func() {
It("Testing dry-run offline with deploy workflow step", func() {
c := common2.Args{}
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-7.yaml"}, DefinitionFile: "test-data/dry-run/definitions/testing-worker-def.yaml", OfflineMode: true}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology target-prod)"))
Expect(buff.String()).Should(ContainSubstring("# Application(testing-app with topology target-default)"))
@@ -264,7 +264,7 @@ var _ = Describe("Testing dry-run", func() {
c.SetConfig(cfg)
c.SetClient(k8sClient)
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-1.yaml"}, OfflineMode: false}
buff, err := DryRunApplication(&opt, c, "")
buff, err := DryRunApplication(&opt, c, "", "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring("namespace: default"))
})
@@ -280,7 +280,7 @@ var _ = Describe("Testing dry-run", func() {
Expect(err).Should(BeNil())
opt := DryRunCmdOptions{ApplicationFiles: []string{"test-data/dry-run/testing-dry-run-1.yaml"}, OfflineMode: false}
buff, err := DryRunApplication(&opt, c, appNamespace)
buff, err := DryRunApplication(&opt, c, appNamespace, "")
Expect(err).Should(BeNil())
Expect(buff.String()).Should(ContainSubstring(fmt.Sprintf("namespace: %s", appNamespace)))
})
+1 -1
View File
@@ -151,7 +151,7 @@ func NewEnvSetCommand(c common.Args, ioStreams cmdutil.IOStreams) *cobra.Command
func ListEnvs(args []string, ioStreams cmdutil.IOStreams) error {
table := newUITable()
table.AddRow("NAME", "NAMESPACE", "CURRENT")
var envName = ""
envName := ""
if len(args) > 0 {
envName = args[0]
}
+11 -2
View File
@@ -108,10 +108,19 @@ func NewExecCommand(c common.Args, order string, ioStreams util.IOStreams) *cobr
return nil
}
var err error
o.namespace, err = GetFlagNamespaceOrEnv(cmd, c)
o.namespace, err = GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if o.namespace == "" {
o.namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
if err := o.Init(context.Background(), cmd, args); err != nil {
return err
}
@@ -191,7 +200,7 @@ func (o *VelaExecOptions) Init(ctx context.Context, c *cobra.Command, argsIn []s
}
cf := genericclioptions.NewConfigFlags(true)
var namespace = selectPod.Metadata.Namespace
namespace := selectPod.Metadata.Namespace
cf.Namespace = &namespace
cf.WrapConfigFn = func(cfg *rest.Config) *rest.Config {
cfg.Wrap(pkgmulticluster.NewTransportWrapper(pkgmulticluster.ForCluster(selectPod.Cluster)))
+10 -1
View File
@@ -37,10 +37,19 @@ func NewExportCommand(c common2.Args, ioStream cmdutil.IOStreams) *cobra.Command
types.TagCommandType: types.TypeLegacy,
},
RunE: func(cmd *cobra.Command, args []string) error {
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
}
if err != nil {
return err
}
o := &common.AppfileOptions{
IO: ioStream,
}
+5 -1
View File
@@ -67,7 +67,11 @@ func NewInitCommand(c common2.Args, order string, ioStreams cmdutil.IOStreams) *
Example: "vela init",
RunE: func(cmd *cobra.Command, args []string) error {
var err error
o.Namespace, err = GetFlagNamespaceOrEnv(cmd, c)
o.Namespace, err = GetFlagNamespace(cmd, c)
if o.Namespace == "" {
o.Namespace, err = GetNamespaceFromEnv(cmd, c)
}
if err != nil {
return err
}
+10 -2
View File
@@ -69,10 +69,18 @@ func NewLiveDiffCommand(c common.Args, order string, ioStreams cmdutil.IOStreams
},
Args: cobra.RangeArgs(0, 1),
RunE: func(cmd *cobra.Command, args []string) (err error) {
o.Namespace, err = GetFlagNamespaceOrEnv(cmd, c)
o.Namespace, err = GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if o.Namespace == "" {
o.Namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
if err = o.loadAndValidate(args); err != nil {
return err
}
@@ -95,7 +103,7 @@ func NewLiveDiffCommand(c common.Args, order string, ioStreams cmdutil.IOStreams
// LiveDiffApplication can return user what would change if upgrade an application.
func LiveDiffApplication(cmdOption *LiveDiffCmdOptions, c common.Args) (bytes.Buffer, error) {
var buff = bytes.Buffer{}
buff := bytes.Buffer{}
newClient, err := c.GetClient()
if err != nil {
+9 -1
View File
@@ -47,10 +47,18 @@ func NewLogsCommand(c common.Args, order string, ioStreams util.IOStreams) *cobr
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
var err error
largs.Namespace, err = GetFlagNamespaceOrEnv(cmd, c)
largs.Namespace, err = GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if largs.Namespace == "" {
largs.Namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
largs.Name = args[0]
ctx := context.Background()
app, err := appfile.LoadApplication(largs.Namespace, args[0], c)
+8 -2
View File
@@ -61,10 +61,16 @@ func NewListCommand(c common.Args, order string, ioStreams cmdutil.IOStreams) *c
if err != nil {
return err
}
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
if AllNamespace {
namespace = ""
}
@@ -144,7 +150,7 @@ func buildApplicationListTable(ctx context.Context, c client.Reader, namespace s
}
for idx, cmp := range a.Spec.Components {
var appName = a.Name
appName := a.Name
if idx > 0 {
appName = "├─"
if idx == len(a.Spec.Components)-1 {
+9 -2
View File
@@ -105,11 +105,18 @@ func NewPortForwardCommand(c common.Args, order string, ioStreams util.IOStreams
return errors.New("not port specified for port-forward")
}
var err error
o.namespace, err = GetFlagNamespaceOrEnv(cmd, c)
o.namespace, err = GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if o.namespace == "" {
o.namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
newClient, err := o.VelaC.GetClient()
if err != nil {
return err
@@ -296,7 +303,7 @@ func (o *VelaPortForwardOptions) Run() error {
<-o.kcPortForwardOptions.ReadyChannel
o.ioStreams.Info("\nForward successfully! Opening browser ...")
local, _ := splitPort(o.Args[1])
var url = "http://127.0.0.1:" + local
url := "http://127.0.0.1:" + local
if err := OpenBrowser(url); err != nil {
o.ioStreams.Errorf("\nFailed to open browser: %v", err)
}
+17 -3
View File
@@ -67,10 +67,17 @@ func NewRevisionListCommand(c common.Args) *cobra.Command {
Long: "list Kubevela application revisions",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
cli, err := c.GetClient()
if err != nil {
return err
@@ -105,10 +112,18 @@ func NewRevisionGetCommand(c common.Args) *cobra.Command {
Long: "get specific revision of application",
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
name := args[0]
def, err := cmd.Flags().GetString("definition")
if err != nil {
@@ -125,7 +140,6 @@ func NewRevisionGetCommand(c common.Args) *cobra.Command {
}
func getRevision(ctx context.Context, c common.Args, format string, out io.Writer, name string, namespace string, def string) error {
kubeConfig, err := c.GetConfig()
if err != nil {
return err
+14 -5
View File
@@ -58,9 +58,11 @@ const (
Port = ":18081"
)
var webSite bool
var generateDocOnly bool
var showFormat string
var (
webSite bool
generateDocOnly bool
showFormat string
)
// NewCapabilityShowCommand shows the reference doc for a component type or trait
func NewCapabilityShowCommand(c common.Args, order string, ioStreams cmdutil.IOStreams) *cobra.Command {
@@ -97,10 +99,17 @@ func NewCapabilityShowCommand(c common.Args, order string, ioStreams cmdutil.IOS
cmd.Println("generating all capability docs into folder '~/.vela/reference/docs/', use '--web' to start a server for browser.")
generateDocOnly = true
}
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
var ver int
if revision != "" {
// v1, 1, both need to work
@@ -217,7 +226,7 @@ func startReferenceDocsSite(ctx context.Context, ns string, c common.Args, ioStr
capabilityType != types.TypeComponentDefinition && capabilityType != types.TypeWorkflowStep && capabilityType != "" {
return fmt.Errorf("unsupported type: %v", capabilityType)
}
var suffix = capabilityName
suffix := capabilityName
if suffix != "" {
suffix = "/" + suffix
}
+8 -1
View File
@@ -108,10 +108,17 @@ func NewAppStatusCommand(c common.Args, order string, ioStreams cmdutil.IOStream
}
appName := args[0]
// get namespace
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
if printTree, err := cmd.Flags().GetBool("tree"); err == nil && printTree {
return printApplicationTree(c, cmd, appName, namespace)
}
+8 -1
View File
@@ -49,10 +49,17 @@ func NewTopCommand(c common.Args, order string, _ cmdutil.IOStreams) *cobra.Comm
RunE: func(cmd *cobra.Command, args []string) error {
runewidth.DefaultCondition.EastAsianWidth = false // https://github.com/rivo/tview/issues/118
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
if AllNamespace {
namespace = ""
}
+14 -2
View File
@@ -256,10 +256,16 @@ func NewWorkflowListCommand(c common.Args, ioStream cmdutil.IOStreams, _ *Workfl
if err != nil {
return err
}
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
if AllNamespace {
namespace = ""
}
@@ -350,10 +356,16 @@ func (w *WorkflowArgs) getWorkflowInstance(ctx context.Context, cmd *cobra.Comma
return fmt.Errorf("please specify the name of application/workflow")
}
name := args[0]
namespace, err := GetFlagNamespaceOrEnv(cmd, w.Args)
namespace, err := GetFlagNamespace(cmd, w.Args)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, w.Args)
if err != nil {
return err
}
}
cli, err := w.Args.GetClient()
if err != nil {
return err
+7 -1
View File
@@ -36,10 +36,16 @@ func NewWorkloadsCommand(c common2.Args, ioStreams cmdutil.IOStreams) *cobra.Com
Example: `vela workloads`,
Hidden: true,
RunE: func(cmd *cobra.Command, args []string) error {
namespace, err := GetFlagNamespaceOrEnv(cmd, c)
namespace, err := GetFlagNamespace(cmd, c)
if err != nil {
return err
}
if namespace == "" {
namespace, err = GetNamespaceFromEnv(cmd, c)
if err != nil {
return err
}
}
return printWorkloadList(namespace, c, ioStreams)
},
Annotations: map[string]string{