Documentation ¶
Index ¶
- Constants
- Variables
- func Execute() error
- func FlagPassingHack()
- func MergeSourceVars(base metagraf.MGVars, override map[string]string) metagraf.MGVars
- func MergeVars(base metagraf.MGVars, override map[string]string) metagraf.MGVars
- func OverrideVars(mgv metagraf.MGVars, cvars CmdVars) map[string]string
- func VarsFromCmd(mgv metagraf.MGVars, cvars CmdVars) map[string]string
- func VarsFromFile(mgv metagraf.MGVars) map[string]string
- type CmdCVars
- type CmdMessage
- type CmdVars
- type EnvVars
Constants ¶
View Source
const Banner string = "mg (metaGraf) - "
Variables ¶
View Source
var ( Namespace string OName string // Flag for overriding application name. Config string // Viper config override Verbose bool = false Output bool = false Version string Dryrun bool = false // If true do not create Branch string Replicas int = 1 // Flag for adjusting number of replicas. BaseEnvs bool = false CVfile string Defaults bool = false // Should we hydrate default values in declarative state. Format string Template string // Command line flag for setting template name Suffix string // Command line flag for setting mg create ref output file suffix Enforce bool = false // Boolean flag for articulating enforcement mode instead of inform ImageNS string // Image Namespace, used in overriding namespace in container image references Registry string // Flag for holding a custom container registry Tag string // )
View Source
var CVars []string
Slice of strings to hold overridden values
View Source
var InspectCmd = &cobra.Command{ Use: "inspect <metaGraf>", Short: "inspect a metaGraf specification", Long: `inspect a metaGraf specification and list objects that will be created or patched.`, Run: func(cmd *cobra.Command, args []string) { if len(args) < 1 { fmt.Println("Active project is:", viper.Get("namespace")) fmt.Println("Missing path to metaGraf specification") return } if len(Namespace) == 0 { Namespace = viper.GetString("namespace") if len(Namespace) == 0 { fmt.Println("Namespace must be supplied") os.Exit(1) } } mg := metagraf.Parse(args[0]) if modules.Variables == nil { vars := MergeVars( mg.GetVars(), OverrideVars(mg.GetVars(), CmdCVars(CVars).Parse())) modules.Variables = vars } name := modules.Name(&mg) for k, v := range modules.Variables { fmt.Println(name, "Variable:", k, v) } modules.InspectSecrets(&mg) modules.InspectConfigMaps(&mg) }, }
View Source
var InspectPropertiesCmd = &cobra.Command{ Use: "properties <metaGraf>", Short: "inspect a metaGraf specification against a properties file", Long: `inspect a metaGraf specification against a properties file.`, Run: func(cmd *cobra.Command, args []string) { if len(args) < 1 { glog.Infof("Active project is:", viper.Get("namespace")) glog.Errorf("Missing path to metaGraf specification") os.Exit(1) } if len(args) < 2 { glog.Errorf("Missing path to properties file") os.Exit(1) } if len(Namespace) == 0 { Namespace = viper.GetString("namespace") if len(Namespace) == 0 { fmt.Println("Namespace must be supplied") os.Exit(1) } } mg := metagraf.Parse(args[0]) if modules.Variables == nil { vars := MergeVars( mg.GetVars(), OverrideVars(mg.GetVars(), CmdCVars(CVars).Parse())) modules.Variables = vars } }, }
View Source
var ProjectCmd = &cobra.Command{ Use: "project <name>", Short: "set active project / namespace", Long: `sets the `, Run: func(cmd *cobra.Command, args []string) { if len(args) < 1 { fmt.Println("Active project is:", viper.Get("namespace")) return } name := args[0] viper.Set("namespace", name) err := viper.WriteConfig() if err != nil { fmt.Println("ERROR:", err) return } fmt.Printf("Active namespace is now %v\n", name) }, }
View Source
var RootCmd = &cobra.Command{ Use: "mg", Short: "mg operates on collections of metaGraf's objects.", Long: Banner + `is a utility that understands the metaGraf datastructure and help you generate kubernetes primitives`, }
Functions ¶
func FlagPassingHack ¶
func FlagPassingHack()
func MergeSourceVars ¶ added in v0.0.18
func OverrideVars ¶
Returns a list of variables from command line or environment where command line is the most significant. Precedence is Environment, File and Command
Types ¶
type CmdMessage ¶
type CmdMessage string
var StrActiveProject CmdMessage = "Active project is:"
var StrMalformedVar CmdMessage = "Malformed key=value pair supplied through --cvars :"
var StrMissingCollection CmdMessage = "Missing path to collection of metaGraf specifications."
var StrMissingMetaGraf CmdMessage = "Missing path to metaGraf specification."
var StrMissingNamespace CmdMessage = "Namespace must be supplied or configured."
Click to show internal directories.
Click to hide internal directories.