Files
kustomize/cmd/config/configcobra/cmds.go
2020-10-19 12:26:15 -07:00

93 lines
3.0 KiB
Go

// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
// Package configcobra provides a target for embedding the config command group in another
// cobra command.
package configcobra
import (
"github.com/spf13/cobra"
"sigs.k8s.io/kustomize/cmd/config/internal/commands"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/api"
"sigs.k8s.io/kustomize/cmd/config/internal/generateddocs/tutorials"
"sigs.k8s.io/kustomize/cmd/config/runner"
)
// Export commands publicly for composition
var (
Annotate = commands.AnnotateCommand
Cat = commands.CatCommand
Count = commands.CountCommand
CreateSetter = commands.CreateSetterCommand
CreateSubstitution = commands.CreateSubstitutionCommand
DeleteSetter = commands.DeleteSetterCommand
DeleteSubstitution = commands.DeleteSubstitutionCommand
Fmt = commands.FmtCommand
Grep = commands.GrepCommand
Init = commands.InitCommand
ListSetters = commands.ListSettersCommand
Merge = commands.MergeCommand
Merge3 = commands.Merge3Command
RunFn = commands.RunCommand
Set = commands.SetCommand
Sink = commands.SinkCommand
Source = commands.SourceCommand
Tree = commands.TreeCommand
Wrap = commands.WrapCommand
XArgs = commands.XArgsCommand
StackOnError = &runner.StackOnError
ExitOnError = &runner.ExitOnError
)
// AddCommands adds the cfg and fn commands to kustomize.
func AddCommands(root *cobra.Command, name string) *cobra.Command {
runner.ExitOnError = true
root.PersistentFlags().BoolVar(StackOnError, "stack-trace", false,
"print a stack-trace on error")
root.AddCommand(GetCfg(name))
root.AddCommand(GetFn(name))
root.AddCommand(&cobra.Command{
Use: "docs-merge",
Short: "[Alpha] Documentation for merging Resources (2-way merge).",
Long: api.Merge2Long,
})
root.AddCommand(&cobra.Command{
Use: "docs-merge3",
Short: "[Alpha] Documentation for merging Resources (3-way merge).",
Long: api.Merge3Long,
})
root.AddCommand(&cobra.Command{
Use: "docs-fn",
Short: "[Alpha] Documentation for developing and invoking Configuration Functions.",
Long: api.FunctionsImplLong,
})
root.AddCommand(&cobra.Command{
Use: "docs-fn-spec",
Short: "[Alpha] Documentation for Configuration Functions Specification.",
Long: api.FunctionsSpecLong,
})
root.AddCommand(&cobra.Command{
Use: "docs-io-annotations",
Short: "[Alpha] Documentation for annotations used by io.",
Long: api.ConfigIoLong,
})
root.AddCommand(&cobra.Command{
Use: "tutorials-command-basics",
Short: "[Alpha] Tutorials for using basic config commands.",
Long: tutorials.ConfigurationBasicsLong,
})
root.AddCommand(&cobra.Command{
Use: "tutorials-function-basics",
Short: "[Alpha] Tutorials for using functions.",
Long: tutorials.FunctionBasicsLong,
})
return root
}