Skip to content

Commit

Permalink
feat: cluster list i egen fil
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyrremann committed Jun 20, 2023
1 parent 08c9414 commit 8997912
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 57 deletions.
58 changes: 1 addition & 57 deletions cmd/commands/clusterCmd/cmds.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
package clusterCmd

import (
"fmt"
"github.com/nais/narcos/pkg/gcp"
"github.com/nais/narcos/pkg/naisdevice"
"github.com/urfave/cli/v2"
"golang.org/x/exp/slices"
"strings"
)

func Command() *cli.Command {
Expand All @@ -21,57 +16,6 @@ func Command() *cli.Command {

func subCommands() []*cli.Command {
return []*cli.Command{
{
Name: "list",
Flags: []cli.Flag{
&cli.BoolFlag{
Name: "includeManagement",
Aliases: []string{"m"},
},
&cli.BoolFlag{
Name: "includeOnprem",
Aliases: []string{"o"},
Value: true,
},
&cli.BoolFlag{
Name: "prefixTenant",
},
&cli.StringFlag{
Name: "tenant",
Aliases: []string{"t"},
Action: func(context *cli.Context, tenant string) error {
if !slices.Contains(naisdevice.Tenants, tenant) {
return fmt.Errorf("%v is not a valid tenant", tenant)
}

return nil
},
},
},
Before: func(context *cli.Context) error {
return gcp.ValidateUserLogin(context.Context)
},
Action: func(context *cli.Context) error {
includeManagement := context.Bool("includeManagement")
includeOnprem := context.Bool("includeOnprem")
prefixTenant := context.Bool("prefixTenant")
tenant := context.String("tenant")

clusters, err := gcp.GetClusters(context.Context, includeManagement, includeOnprem, tenant)
if err != nil {
return err
}

for _, cluster := range clusters {
name := cluster.Name
if prefixTenant {
name = cluster.Tenant + "-" + strings.TrimPrefix(name, "nais-")
}
fmt.Println(name)
}

return nil
},
},
listCmd(),
}
}
65 changes: 65 additions & 0 deletions cmd/commands/clusterCmd/listCmd.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package clusterCmd

import (
"fmt"
"github.com/nais/narcos/pkg/gcp"
"github.com/nais/narcos/pkg/naisdevice"
"github.com/urfave/cli/v2"
"golang.org/x/exp/slices"
"strings"
)

func listCmd() *cli.Command {
return &cli.Command{
Name: "list",
Flags: []cli.Flag{
&cli.BoolFlag{
Name: "includeManagement",
Aliases: []string{"m"},
},
&cli.BoolFlag{
Name: "includeOnprem",
Aliases: []string{"o"},
Value: true,
},
&cli.BoolFlag{
Name: "prefixTenant",
},
&cli.StringFlag{
Name: "tenant",
Aliases: []string{"t"},
Action: func(context *cli.Context, tenant string) error {
if !slices.Contains(naisdevice.Tenants, tenant) {
return fmt.Errorf("%v is not a valid tenant", tenant)
}

return nil
},
},
},
Before: func(context *cli.Context) error {
return gcp.ValidateUserLogin(context.Context)
},
Action: func(context *cli.Context) error {
includeManagement := context.Bool("includeManagement")
includeOnprem := context.Bool("includeOnprem")
prefixTenant := context.Bool("prefixTenant")
tenant := context.String("tenant")

clusters, err := gcp.GetClusters(context.Context, includeManagement, includeOnprem, tenant)
if err != nil {
return err
}

for _, cluster := range clusters {
name := cluster.Name
if prefixTenant {
name = cluster.Tenant + "-" + strings.TrimPrefix(name, "nais-")
}
fmt.Println(name)
}

return nil
},
}
}

0 comments on commit 8997912

Please sign in to comment.