Merge pull request #3240 from Shell32-Natsu/list-builtin

Add command to list builtin plugins
This commit is contained in:
Jeff Regan
2020-11-18 11:13:39 -08:00
committed by GitHub
3 changed files with 44 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ import (
"runtime"
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/internal/plugins/builtinhelpers"
"sigs.k8s.io/kustomize/api/types"
)
@@ -157,3 +158,15 @@ func pwdEnv() string {
}
return "PWD"
}
// GetBuiltinPluginNames returns a list of builtin plugin names
func GetBuiltinPluginNames() []string {
var ret []string
for k := range builtinhelpers.GeneratorFactories {
ret = append(ret, k.String())
}
for k := range builtinhelpers.TransformerFactories {
ret = append(ret, k.String())
}
return ret
}

View File

@@ -11,6 +11,7 @@ import (
"sigs.k8s.io/kustomize/api/loader"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit/add"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit/fix"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit/listbuiltin"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit/remove"
"sigs.k8s.io/kustomize/kustomize/v3/internal/commands/edit/set"
)
@@ -46,6 +47,7 @@ func NewCmdEdit(
v),
fix.NewCmdFix(fSys),
remove.NewCmdRemove(fSys, v),
listbuiltin.NewCmdListBuiltinPlugin(),
)
return c
}

View File

@@ -0,0 +1,29 @@
// Copyright 2020 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package listbuiltin
import (
"fmt"
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/api/konfig"
)
// NewCmdListBuiltinPlugin return an instance of list-builtin-plugin
// subcommand
func NewCmdListBuiltinPlugin() *cobra.Command {
cmd := &cobra.Command{
Use: "alpha-list-builtin-plugin",
Short: "[Alpha] List the builtin plugins",
Long: "",
Run: func(cmd *cobra.Command, args []string) {
plugins := konfig.GetBuiltinPluginNames()
fmt.Print("Builtin plugins:\n\n")
for _, p := range plugins {
fmt.Printf(" * %s\n", p)
}
},
}
return cmd
}