Implement replica transformer as patch alternative

This commit is contained in:
Damien Robichaud
2019-05-29 18:27:39 -07:00
parent 109988d105
commit 5000a2e503
7 changed files with 206 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import (
"github.com/pkg/errors"
"sigs.k8s.io/kustomize/pkg/image"
"sigs.k8s.io/kustomize/pkg/plugins"
"sigs.k8s.io/kustomize/pkg/replica"
"sigs.k8s.io/kustomize/pkg/transformers"
"sigs.k8s.io/kustomize/pkg/transformers/config"
"sigs.k8s.io/kustomize/pkg/types"
@@ -69,6 +70,7 @@ func (kt *KustTarget) configureBuiltinTransformers(
kt.configureBuiltinLabelTransformer,
kt.configureBuiltinAnnotationsTransformer,
kt.configureBuiltinPatchJson6902Transformer,
kt.configureBuiltinReplicaCountTransformer,
}
var result []transformers.Transformer
for _, f := range configurators {
@@ -233,6 +235,26 @@ func (kt *KustTarget) configureBuiltinImageTagTransformer(
return
}
func (kt *KustTarget) configureBuiltinReplicaCountTransformer(
tConfig *config.TransformerConfig) (
result []transformers.Transformer, err error) {
var c struct {
Replica replica.Replica
FieldSpecs []config.FieldSpec
}
for _, args := range kt.kustomization.Replicas {
c.Replica = args
c.FieldSpecs = tConfig.Replicas
p := builtin.NewReplicaCountTransformerPlugin()
err = kt.configureBuiltinPlugin(p, c, "replica")
if err != nil {
return nil, err
}
result = append(result, p)
}
return
}
func (kt *KustTarget) configureBuiltinPlugin(
p plugins.Configurable, c interface{}, id string) (err error) {
var y []byte