feat: add WithInMemoryBuild to use filesys.MakeFsInMemory for kustomize

Signed-off-by: rycli <cyril@ryc.li>
This commit is contained in:
rycli 2026-03-29 16:10:56 +02:00 committed by Cyril M.
parent c432d380dd
commit 8b7adab83c
5 changed files with 244 additions and 15 deletions

View file

@ -72,6 +72,7 @@ type buildKsFlags struct {
strictSubst bool
recursive bool
localSources map[string]string
inMemoryBuild bool
}
var buildKsArgs buildKsFlags
@ -85,6 +86,8 @@ func init() {
"When enabled, the post build substitutions will fail if a var without a default value is declared in files but is missing from the input vars.")
buildKsCmd.Flags().BoolVarP(&buildKsArgs.recursive, "recursive", "r", false, "Recursively build Kustomizations")
buildKsCmd.Flags().StringToStringVar(&buildKsArgs.localSources, "local-sources", nil, "Comma-separated list of repositories in format: Kind/namespace/name=path")
buildKsCmd.Flags().BoolVar(&buildKsArgs.inMemoryBuild, "in-memory-build", false,
"Use in-memory filesystem during build.")
buildCmd.AddCommand(buildKsCmd)
}
@ -130,6 +133,7 @@ func buildKsCmdRun(cmd *cobra.Command, args []string) (err error) {
build.WithStrictSubstitute(buildKsArgs.strictSubst),
build.WithRecursive(buildKsArgs.recursive),
build.WithLocalSources(buildKsArgs.localSources),
build.WithInMemoryBuild(buildKsArgs.inMemoryBuild),
)
} else {
builder, err = build.NewBuilder(name, buildKsArgs.path,
@ -140,6 +144,7 @@ func buildKsCmdRun(cmd *cobra.Command, args []string) (err error) {
build.WithStrictSubstitute(buildKsArgs.strictSubst),
build.WithRecursive(buildKsArgs.recursive),
build.WithLocalSources(buildKsArgs.localSources),
build.WithInMemoryBuild(buildKsArgs.inMemoryBuild),
)
}

View file

@ -62,6 +62,7 @@ type diffKsFlags struct {
strictSubst bool
recursive bool
localSources map[string]string
inMemoryBuild bool
}
var diffKsArgs diffKsFlags
@ -75,6 +76,8 @@ func init() {
"When enabled, the post build substitutions will fail if a var without a default value is declared in files but is missing from the input vars.")
diffKsCmd.Flags().BoolVarP(&diffKsArgs.recursive, "recursive", "r", false, "Recursively diff Kustomizations")
diffKsCmd.Flags().StringToStringVar(&diffKsArgs.localSources, "local-sources", nil, "Comma-separated list of repositories in format: Kind/namespace/name=path")
diffKsCmd.Flags().BoolVar(&diffKsArgs.inMemoryBuild, "in-memory-build", false,
"Use in-memory filesystem during build.")
diffCmd.AddCommand(diffKsCmd)
}
@ -113,6 +116,7 @@ func diffKsCmdRun(cmd *cobra.Command, args []string) error {
build.WithRecursive(diffKsArgs.recursive),
build.WithLocalSources(diffKsArgs.localSources),
build.WithSingleKustomization(),
build.WithInMemoryBuild(diffKsArgs.inMemoryBuild),
)
} else {
builder, err = build.NewBuilder(name, diffKsArgs.path,
@ -124,6 +128,7 @@ func diffKsCmdRun(cmd *cobra.Command, args []string) error {
build.WithRecursive(diffKsArgs.recursive),
build.WithLocalSources(diffKsArgs.localSources),
build.WithSingleKustomization(),
build.WithInMemoryBuild(diffKsArgs.inMemoryBuild),
)
}