github.com/wolfi-dev/wolfictl@v0.16.11/pkg/configs/build/section_updaters.go (about) 1 package build 2 3 import ( 4 "chainguard.dev/apko/pkg/build/types" 5 "chainguard.dev/melange/pkg/config" 6 "github.com/wolfi-dev/wolfictl/pkg/configs" 7 ) 8 9 func NewPackageSectionUpdater( 10 updater configs.SectionUpdater[config.Package, config.Configuration], 11 ) configs.EntryUpdater[config.Configuration] { 12 yamlASTMutater := configs.NewTargetedYAMLASTMutater[config.Package, config.Configuration]( 13 "package", 14 updater, 15 func(cfg config.Configuration, data config.Package) config.Configuration { 16 cfg.Package = data 17 return cfg 18 }, 19 ) 20 21 return configs.NewYAMLUpdateFunc[config.Configuration](yamlASTMutater) 22 } 23 24 func NewEnvironmentSectionUpdater( 25 updater configs.SectionUpdater[types.ImageConfiguration, config.Configuration], 26 ) configs.EntryUpdater[config.Configuration] { 27 yamlASTMutater := configs.NewTargetedYAMLASTMutater[types.ImageConfiguration, config.Configuration]( 28 "environment", 29 updater, 30 func(cfg config.Configuration, data types.ImageConfiguration) config.Configuration { 31 cfg.Environment = data 32 return cfg 33 }, 34 ) 35 36 return configs.NewYAMLUpdateFunc[config.Configuration](yamlASTMutater) 37 } 38 39 func NewPipelineSectionUpdater( 40 updater configs.SectionUpdater[[]config.Pipeline, config.Configuration], 41 ) configs.EntryUpdater[config.Configuration] { 42 yamlASTMutater := configs.NewTargetedYAMLASTMutater[[]config.Pipeline, config.Configuration]( 43 "pipeline", 44 updater, 45 func(cfg config.Configuration, data []config.Pipeline) config.Configuration { 46 cfg.Pipeline = data 47 return cfg 48 }, 49 ) 50 51 return configs.NewYAMLUpdateFunc[config.Configuration](yamlASTMutater) 52 } 53 54 func NewSubpackagesSectionUpdater( 55 updater configs.SectionUpdater[[]config.Subpackage, config.Configuration], 56 ) configs.EntryUpdater[config.Configuration] { 57 yamlASTMutater := configs.NewTargetedYAMLASTMutater[[]config.Subpackage, config.Configuration]( 58 "subpackages", 59 updater, 60 func(cfg config.Configuration, data []config.Subpackage) config.Configuration { 61 cfg.Subpackages = data 62 return cfg 63 }, 64 ) 65 66 return configs.NewYAMLUpdateFunc[config.Configuration](yamlASTMutater) 67 }