Documentation
¶
Index ¶
Constants ¶
View Source
const GenerateDesc = `` /* 411-byte string literal not displayed */
View Source
const ReposDesc = `` /* 216-byte string literal not displayed */
Variables ¶
View Source
var DefaultFlags = []cli.Flag{ &cli.StringFlag{ Name: "loglevel", Usage: "Set the log level (debug, info, warn, error, fatal, panic)", Value: "error", }, &cli.StringFlag{ Name: "output", Usage: "Set the (log) output to 'json' or 'text'", Value: "text", }, &cli.StringFlag{ Name: "datadir", Usage: "Search path for files. Defaults to '.', can be set using $DATADIR", Value: os.Getenv("DATADIR"), }, &cli.StringFlag{ Name: "team", Usage: "Limit processing to team", Value: "*", }, &cli.StringFlag{ Name: "app", Usage: "Limit processing to app", Value: "*", }, &cli.StringFlag{ Name: "env", Usage: "Limit processing to env", Value: "*", }, &cli.StringFlag{ Name: "filter", Usage: "Limit processing based on a 'team/app/env' string. Overrides team, app, env flag.", }, &cli.BoolFlag{ Name: "errexit", Usage: "Exit on errors", }, }
View Source
var GenerateCommand = &cli.Command{ Name: "generate", Usage: "render and write config files", UsageText: "murmur [options] [target_files...]", HideHelpCommand: true, Args: true, ArgsUsage: "files...", Action: GenerateFunc, Description: GenerateDesc, Flags: append(DefaultFlags, branchOverridesFlag, &cli.StringFlag{ Name: "repodir", Usage: "Location of git repos. Defaults to current working directory, can be set with $REPODIR", Value: os.Getenv("REPODIR"), }, &cli.StringFlag{ Name: "destdir", Usage: "Destination directory for rendered files. Defaults the same directory as the jsonnet file, can be set using $DESTDIR.", Value: os.Getenv("DESTDIR"), }, &cli.BoolFlag{ Name: "overwrite", Usage: "Overwrite existing repos with fresh clones", }, &cli.BoolFlag{ Name: "commit", Usage: "Commit / push changes to git repos", }, &cli.StringFlag{ Name: "commit-script", Usage: "Script to run to commit / push changes to the repo", }, &cli.StringFlag{ Name: "commit-msg", Usage: "Commit message", Value: "murmur commit", }, &cli.StringFlag{ Name: "jsonnet-args", Usage: "Arguments to pass to the jsonnet application.", Value: "-m", }, &cli.StringFlag{ Name: "delete-destdir", Usage: "Delete the dest dir", Hidden: true, }, ), Before: func(c *cli.Context) error { c.Set("errexit", "true") c.Set("delete-destdir", "false") return BeforeFunc(c) }, After: func(c *cli.Context) error { if c.String("delete-destdir") == "true" { log.Debug("Deleting destdir", "dir", c.String("destdir")) err := os.RemoveAll(c.String("destdir")) if err != nil { return err } } return nil }, }
View Source
var JsonnetCommand = &cli.Command{ Name: "jsonnet", Usage: "work with jsonnet files", UsageText: "murmur jsonnet [options] render [target_files...]", HideHelpCommand: true, Args: true, ArgsUsage: "files...", Description: jsonnetDesc, Subcommands: []*cli.Command{ { Name: "create", Usage: "create a new jsonnet file", Action: createJsonnet, Description: jsonnetCreateDesc, Args: true, ArgsUsage: "team/app/env", Before: BeforeFunc, Flags: []cli.Flag{ &cli.StringFlag{ Name: "datadir", Usage: "Search path for files. Defaults to '.', can be set using $DATADIR", Value: os.Getenv("DATADIR"), }, &cli.StringFlag{ Name: "loglevel", Usage: "Set the log level (debug, info, warn, error, fatal, panic)", Value: "error", }, }, }, { Name: "list", Usage: "list jsonnet files", Action: listJsonnet, Flags: DefaultFlags, Before: BeforeFunc, }, { Name: "render", Usage: "render jsonnet files", Action: renderJsonnet, Before: BeforeFunc, Flags: append(DefaultFlags, &cli.StringFlag{ Name: "destdir", Usage: "Rendered files destination, relative to current directory. Defaults to the jsonnet file directory, can be set using $DESTDIR", Value: os.Getenv("DESTDIR"), }, &cli.StringFlag{ Name: "jsonnet-args", Usage: "Arguments to pass to the jsonnet application. Defaults to '-m <destdir>'", Value: "-m", }, ), Description: jsonnetRenderDesc, }, }, }
View Source
var ReposCommand = &cli.Command{ Name: "repos", Usage: "work with repos", UsageText: "murmur repos [options] list|write [target_files...]", HideHelpCommand: true, Args: true, ArgsUsage: "files...", Description: ReposDesc, Subcommands: []*cli.Command{ { Name: "list", Usage: "list repos", Action: listRepos, Flags: append(DefaultFlags, branchOverridesFlag), Before: BeforeFunc, }, { Name: "clone", Usage: "clone repos", Action: cloneRepos, Before: BeforeFunc, Flags: append(DefaultFlags, repoDirFlag, branchOverridesFlag, &cli.BoolFlag{ Name: "overwrite", Usage: "Overwrite existing repos with fresh clones", }, ), }, { Name: "write", Usage: "write to repos", Action: writeRepos, Before: BeforeFunc, Flags: append(DefaultFlags, branchOverridesFlag, repoDirFlag, ), }, { Name: "commit", Usage: "commit repos", Action: commitRepos, Before: BeforeFunc, Flags: append(DefaultFlags, branchOverridesFlag, repoDirFlag, &cli.StringFlag{ Name: "commit-script", Usage: "script to run to commit the repo", }, &cli.StringFlag{ Name: "commit-msg", Usage: "commit message", Value: "murmur commit", }, ), }, }, }
Functions ¶
func BeforeFunc ¶
this function is called before each command, after context is ready
func GenerateFunc ¶ added in v0.1.3
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.