Documentation
¶
Index ¶
Constants ¶
const ConfigPathEnvName = "TNCTL_CONFIG"
ConfigPathEnvName is the name of the environment variable that holds the config path
Variables ¶
var ( // IconHelp is the help icon IconHelp = color.GreenString("?") // IconGood indicates a successful action IconGood = color.GreenString("✓") // IconBad indicates a failed action IconBad = color.RedString("✗") )
Functions ¶
func ErrMissingArgument ¶
ErrMissingArgument is returned when a required argument is missing error
func MarkHidden ¶
MarkHidden marks a command as hidden and panics if an error is thrown
func RegisterFlagCompletionFunc ¶
func RegisterFlagCompletionFunc(cmd *cobra.Command, name string, fn AutoCompletionFunc)
RegisterFlagCompletionFunc registers a completion function for a flag
Types ¶
type AutoCompletionFunc ¶
type AutoCompletionFunc func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective)
AutoCompletionFunc is a function that returns a list of completions
func AutoCompleteConfigurations ¶
func AutoCompleteConfigurations(factory Factory) AutoCompletionFunc
AutoCompleteConfigurations registers a completion function for a flag
func AutoCompleteNamespaces ¶
func AutoCompleteNamespaces(factory Factory) AutoCompletionFunc
AutoCompleteNamespaces registers a completion function for a flag
func AutoCompleteWithList ¶
func AutoCompleteWithList(list []string) AutoCompletionFunc
AutoCompleteWithList registers a completion function for a flag
type Config ¶
type Config struct {
// Workflow is the location of the workflow templates. This should point
// the git repository that contains the templates. It is assumed the user
// consuming these templates already has access the repository setup on
// the machine and able to clone.
// Example: https://github.com/appvia/terranetes-workflows. Note, if a
// ref=TAG is not set, we will query the repository for the latest tag
// (Github only)
Workflow string `json:"workflow,omitempty"`
// Sources defines a list of sources which the search command should
// search terraform modules from. Currently we support the public
// terraform registry and any Github user or organization.
Sources []string `json:"sources,omitempty" yaml:"sources,omitempty"`
}
Config is the configuration for the tnctl command
func LoadConfig ¶
LoadConfig loads the config file returns a empty config if it doesn't exist
func NewDefaultConfig ¶
func NewDefaultConfig() *Config
NewDefaultConfig returns a default configuration
type Factory ¶
type Factory interface {
// GetConfig returns the config for the cli if available
GetConfig() (Config, bool, error)
// GetConfigPath returns the path to the configuration file
GetConfigPath() string
// GetClient returns the client for the kubernetes api
GetClient() (client.Client, error)
// GetKubeClient returns the kubernetes client
GetKubeClient() (k8sclient.Interface, error)
// GetStreams returns the input and output streams for the command
GetStreams() genericclioptions.IOStreams
// Printf prints a message to the output stream
Printf(format string, a ...interface{})
// Println prints a message to the output stream
Println(format string, a ...interface{})
// SaveConfig saves the configuration to the file
SaveConfig(Config) error
// Stdout returns the stdout io writer
Stdout() io.Writer
}
Factory is the interface that wraps the CLI
func NewFactory ¶
func NewFactory(streams genericclioptions.IOStreams) (Factory, error)
NewFactory creates and returns a factory for the cli
func NewFactoryWithClient ¶
NewFactoryWithClient creates and returns a factory for the cli