mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Merge pull request #951 from Liujingfang1/generatorplugins
add support for generator go-plugins
This commit is contained in:
@@ -155,7 +155,7 @@ func (kt *KustTarget) shouldAddHashSuffixesToGeneratedResources() bool {
|
||||
// holding customized resources and the data/rules used
|
||||
// to do so. The name back references and vars are
|
||||
// not yet fixed.
|
||||
func (kt *KustTarget) AccumulateTarget() (
|
||||
func (kt *KustTarget) AccumulateTarget() ( // nolint: gocyclo
|
||||
ra *accumulator.ResAccumulator, err error) {
|
||||
// TODO(monopole): Get rid of the KustomizationErrors accumulator.
|
||||
// It's not consistently used, and complicates tests.
|
||||
@@ -173,6 +173,17 @@ func (kt *KustTarget) AccumulateTarget() (
|
||||
if err != nil {
|
||||
errs.Append(errors.Wrap(err, "MergeResourcesWithErrorOnIdCollision"))
|
||||
}
|
||||
resourceFromGenerators, err := kt.loadGeneratorPlugins()
|
||||
if err != nil {
|
||||
errs.Append(errors.Wrap(err, "failed to load resources from generators"))
|
||||
}
|
||||
if len(errs.Get()) > 0 {
|
||||
return ra, errs
|
||||
}
|
||||
err = ra.MergeResourcesWithErrorOnIdCollision(resourceFromGenerators)
|
||||
if err != nil {
|
||||
errs.Append(errors.Wrap(err, "MergeResourcesWithErrorOnIdCollision"))
|
||||
}
|
||||
tConfig, err := config.MakeTransformerConfig(
|
||||
kt.ldr, kt.kustomization.Configurations)
|
||||
if err != nil {
|
||||
@@ -341,3 +352,13 @@ func (kt *KustTarget) loadTransformerPlugins() ([]transformers.Transformer, erro
|
||||
}
|
||||
return plugins.NewTransformerLoader(kt.pluginConfig).Load(transformerPluginConfigs)
|
||||
}
|
||||
|
||||
func (kt *KustTarget) loadGeneratorPlugins() (resmap.ResMap, error) {
|
||||
generatorPluginConfigs, err := kt.rFactory.FromFiles(
|
||||
kt.ldr, kt.kustomization.Generators)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gl := plugins.NewGeneratorLoader(kt.goPluginEnabled, kt.rFactory)
|
||||
return gl.Load(generatorPluginConfigs)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user