feat templater: Add ability to exclude resource sets
* renamed --limit to --include (-i) * added --exclude (-e) Kontemplate users can now explicitly include and exclude certain resource sets. Excludes always override includes. Closes #11
This commit is contained in:
parent
11a5cf9e19
commit
8e08a282eb
2 changed files with 62 additions and 29 deletions
23
main.go
23
main.go
|
|
@ -37,9 +37,10 @@ func templateCommand() cli.Command {
|
|||
Usage: "Interpolate and print templates",
|
||||
Flags: commonFlags(),
|
||||
Action: func(c *cli.Context) error {
|
||||
limit := c.StringSlice("limit")
|
||||
include := c.StringSlice("include")
|
||||
exclude := c.StringSlice("exclude")
|
||||
ctx, err := loadContext(c)
|
||||
resources, err := templater.LoadAndPrepareTemplates(&limit, ctx)
|
||||
resources, err := templater.LoadAndPrepareTemplates(&include, &exclude, ctx)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -66,9 +67,10 @@ func applyCommand() cli.Command {
|
|||
Destination: &dryRun,
|
||||
}),
|
||||
Action: func(c *cli.Context) error {
|
||||
limit := c.StringSlice("limit")
|
||||
include := c.StringSlice("include")
|
||||
exclude := c.StringSlice("exclude")
|
||||
ctx, err := loadContext(c)
|
||||
resources, err := templater.LoadAndPrepareTemplates(&limit, ctx)
|
||||
resources, err := templater.LoadAndPrepareTemplates(&include, &exclude, ctx)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -92,9 +94,10 @@ func replaceCommand() cli.Command {
|
|||
Usage: "Interpolate templates and run 'kubectl replace'",
|
||||
Flags: commonFlags(),
|
||||
Action: func(c *cli.Context) error {
|
||||
limit := c.StringSlice("limit")
|
||||
include := c.StringSlice("include")
|
||||
exclude := c.StringSlice("exclude")
|
||||
ctx, err := loadContext(c)
|
||||
resources, err := templater.LoadAndPrepareTemplates(&limit, ctx)
|
||||
resources, err := templater.LoadAndPrepareTemplates(&include, &exclude, ctx)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -140,8 +143,12 @@ func commonFlags() []cli.Flag {
|
|||
Usage: "Cluster configuration file to use",
|
||||
},
|
||||
cli.StringSliceFlag{
|
||||
Name: "limit, l",
|
||||
Usage: "Limit templating to certain resource sets",
|
||||
Name: "include, i",
|
||||
Usage: "Limit templating to explicitly included resource sets",
|
||||
},
|
||||
cli.StringSliceFlag{
|
||||
Name: "exclude, e",
|
||||
Usage: "Exclude certain resource sets from templating",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue