mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Cleanup kusttarget.
This commit is contained in:
@@ -18,7 +18,6 @@ import (
|
||||
"sigs.k8s.io/kustomize/pkg/pgmconfig"
|
||||
"sigs.k8s.io/kustomize/pkg/plugins"
|
||||
"sigs.k8s.io/kustomize/pkg/resmap"
|
||||
"sigs.k8s.io/kustomize/pkg/resource"
|
||||
"sigs.k8s.io/kustomize/pkg/transformers"
|
||||
"sigs.k8s.io/kustomize/pkg/transformers/config"
|
||||
"sigs.k8s.io/kustomize/pkg/types"
|
||||
@@ -200,29 +199,15 @@ func (kt *KustTarget) AccumulateTarget() (
|
||||
return nil, errors.Wrapf(
|
||||
err, "merging CRDs %v", crdTc)
|
||||
}
|
||||
err = kt.generateFromPlugins(ra)
|
||||
err = kt.runGenerators(ra)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
patches, err := kt.rFactory.RF().SliceFromPatches(
|
||||
kt.ldr, kt.kustomization.PatchesStrategicMerge)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(
|
||||
err, "reading strategic merge patches %v",
|
||||
kt.kustomization.PatchesStrategicMerge)
|
||||
}
|
||||
t, err := kt.newTransformer(patches, ra.GetTransformerConfig())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = ra.Transform(t)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ra, nil
|
||||
err = kt.runTransformers(ra)
|
||||
return ra, err
|
||||
}
|
||||
|
||||
func (kt *KustTarget) generateFromPlugins(
|
||||
func (kt *KustTarget) runGenerators(
|
||||
ra *accumulator.ResAccumulator) error {
|
||||
generators, err := kt.configureBuiltinGenerators()
|
||||
if err != nil {
|
||||
@@ -239,7 +224,7 @@ func (kt *KustTarget) generateFromPlugins(
|
||||
return errors.Wrapf(err, "merging from generator %v", g)
|
||||
}
|
||||
}
|
||||
generators, err = kt.loadGeneratorPlugins()
|
||||
generators, err = kt.configureExternalGenerators()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "loading generator plugins")
|
||||
}
|
||||
@@ -256,6 +241,55 @@ func (kt *KustTarget) generateFromPlugins(
|
||||
return nil
|
||||
}
|
||||
|
||||
func (kt *KustTarget) configureExternalGenerators() ([]transformers.Generator, error) {
|
||||
ra := accumulator.MakeEmptyAccumulator()
|
||||
err := kt.accumulateResources(ra, kt.kustomization.Generators)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return kt.pLdr.LoadGenerators(kt.ldr, ra.ResMap())
|
||||
}
|
||||
|
||||
func (kt *KustTarget) runTransformers(ra *accumulator.ResAccumulator) error {
|
||||
patches, err := kt.rFactory.RF().SliceFromPatches(
|
||||
kt.ldr, kt.kustomization.PatchesStrategicMerge)
|
||||
if err != nil {
|
||||
return errors.Wrapf(
|
||||
err, "reading strategic merge patches %v",
|
||||
kt.kustomization.PatchesStrategicMerge)
|
||||
}
|
||||
var r []transformers.Transformer
|
||||
t, err := kt.tFactory.MakePatchTransformer(patches, kt.rFactory.RF())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
r = append(r, t)
|
||||
tConfig := ra.GetTransformerConfig()
|
||||
r = append(r, transformers.NewNamespaceTransformer(
|
||||
string(kt.kustomization.Namespace), tConfig.NameSpace))
|
||||
lts, err := kt.configureBuiltinTransformers(tConfig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
r = append(r, lts...)
|
||||
lts, err = kt.configureExternalTransformers()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
r = append(r, lts...)
|
||||
t = transformers.NewMultiTransformer(r)
|
||||
return ra.Transform(t)
|
||||
}
|
||||
|
||||
func (kt *KustTarget) configureExternalTransformers() ([]transformers.Transformer, error) {
|
||||
ra := accumulator.MakeEmptyAccumulator()
|
||||
err := kt.accumulateResources(ra, kt.kustomization.Transformers)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return kt.pLdr.LoadTransformers(kt.ldr, ra.ResMap())
|
||||
}
|
||||
|
||||
// accumulateResources fills the given resourceAccumulator
|
||||
// with resources read from the given list of paths.
|
||||
func (kt *KustTarget) accumulateResources(
|
||||
@@ -310,47 +344,3 @@ func (kt *KustTarget) accumulateFile(
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// newTransformer makes a Transformer that does a collection
|
||||
// of object transformations.
|
||||
func (kt *KustTarget) newTransformer(
|
||||
patches []*resource.Resource, tConfig *config.TransformerConfig) (
|
||||
transformers.Transformer, error) {
|
||||
var r []transformers.Transformer
|
||||
t, err := kt.tFactory.MakePatchTransformer(patches, kt.rFactory.RF())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
r = append(r, t)
|
||||
r = append(r, transformers.NewNamespaceTransformer(
|
||||
string(kt.kustomization.Namespace), tConfig.NameSpace))
|
||||
lts, err := kt.configureBuiltinTransformers(tConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
r = append(r, lts...)
|
||||
tp, err := kt.loadTransformerPlugins()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
r = append(r, tp...)
|
||||
return transformers.NewMultiTransformer(r), nil
|
||||
}
|
||||
|
||||
func (kt *KustTarget) loadTransformerPlugins() ([]transformers.Transformer, error) {
|
||||
ra := accumulator.MakeEmptyAccumulator()
|
||||
err := kt.accumulateResources(ra, kt.kustomization.Transformers)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return kt.pLdr.LoadTransformers(kt.ldr, ra.ResMap())
|
||||
}
|
||||
|
||||
func (kt *KustTarget) loadGeneratorPlugins() ([]transformers.Generator, error) {
|
||||
ra := accumulator.MakeEmptyAccumulator()
|
||||
err := kt.accumulateResources(ra, kt.kustomization.Generators)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return kt.pLdr.LoadGenerators(kt.ldr, ra.ResMap())
|
||||
}
|
||||
|
||||
@@ -62,8 +62,8 @@ func (kt *KustTarget) configureBuiltinTransformers(
|
||||
[]transformers.Transformer, error) {
|
||||
// TODO: Convert remaining legacy transformers to plugins
|
||||
// with tests:
|
||||
// patch SMP
|
||||
// patch JSON
|
||||
// - patch SMP
|
||||
// - namespace
|
||||
configurators := []transformerConfigurator{
|
||||
kt.configureBuiltinNameTransformer,
|
||||
kt.configureBuiltinImageTagTransformer,
|
||||
|
||||
Reference in New Issue
Block a user