mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-12 01:14:22 +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/pgmconfig"
|
||||||
"sigs.k8s.io/kustomize/pkg/plugins"
|
"sigs.k8s.io/kustomize/pkg/plugins"
|
||||||
"sigs.k8s.io/kustomize/pkg/resmap"
|
"sigs.k8s.io/kustomize/pkg/resmap"
|
||||||
"sigs.k8s.io/kustomize/pkg/resource"
|
|
||||||
"sigs.k8s.io/kustomize/pkg/transformers"
|
"sigs.k8s.io/kustomize/pkg/transformers"
|
||||||
"sigs.k8s.io/kustomize/pkg/transformers/config"
|
"sigs.k8s.io/kustomize/pkg/transformers/config"
|
||||||
"sigs.k8s.io/kustomize/pkg/types"
|
"sigs.k8s.io/kustomize/pkg/types"
|
||||||
@@ -200,29 +199,15 @@ func (kt *KustTarget) AccumulateTarget() (
|
|||||||
return nil, errors.Wrapf(
|
return nil, errors.Wrapf(
|
||||||
err, "merging CRDs %v", crdTc)
|
err, "merging CRDs %v", crdTc)
|
||||||
}
|
}
|
||||||
err = kt.generateFromPlugins(ra)
|
err = kt.runGenerators(ra)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
patches, err := kt.rFactory.RF().SliceFromPatches(
|
err = kt.runTransformers(ra)
|
||||||
kt.ldr, kt.kustomization.PatchesStrategicMerge)
|
return ra, err
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (kt *KustTarget) generateFromPlugins(
|
func (kt *KustTarget) runGenerators(
|
||||||
ra *accumulator.ResAccumulator) error {
|
ra *accumulator.ResAccumulator) error {
|
||||||
generators, err := kt.configureBuiltinGenerators()
|
generators, err := kt.configureBuiltinGenerators()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -239,7 +224,7 @@ func (kt *KustTarget) generateFromPlugins(
|
|||||||
return errors.Wrapf(err, "merging from generator %v", g)
|
return errors.Wrapf(err, "merging from generator %v", g)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
generators, err = kt.loadGeneratorPlugins()
|
generators, err = kt.configureExternalGenerators()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "loading generator plugins")
|
return errors.Wrap(err, "loading generator plugins")
|
||||||
}
|
}
|
||||||
@@ -256,6 +241,55 @@ func (kt *KustTarget) generateFromPlugins(
|
|||||||
return nil
|
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
|
// accumulateResources fills the given resourceAccumulator
|
||||||
// with resources read from the given list of paths.
|
// with resources read from the given list of paths.
|
||||||
func (kt *KustTarget) accumulateResources(
|
func (kt *KustTarget) accumulateResources(
|
||||||
@@ -310,47 +344,3 @@ func (kt *KustTarget) accumulateFile(
|
|||||||
}
|
}
|
||||||
return nil
|
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) {
|
[]transformers.Transformer, error) {
|
||||||
// TODO: Convert remaining legacy transformers to plugins
|
// TODO: Convert remaining legacy transformers to plugins
|
||||||
// with tests:
|
// with tests:
|
||||||
// patch SMP
|
// - patch SMP
|
||||||
// patch JSON
|
// - namespace
|
||||||
configurators := []transformerConfigurator{
|
configurators := []transformerConfigurator{
|
||||||
kt.configureBuiltinNameTransformer,
|
kt.configureBuiltinNameTransformer,
|
||||||
kt.configureBuiltinImageTagTransformer,
|
kt.configureBuiltinImageTagTransformer,
|
||||||
|
|||||||
Reference in New Issue
Block a user