Skip to content

Commit 409a392

Browse files
committed
[incompatible change] enhance transformer interfaces
the interface methods ParameterTransformer.TransformParameters() and ObjectTransformer.TransformObjects() now have two additional parameters: namespace and name, which will be populated with the return values of component.GetDeploymentNamespace() and component.GetDeploymentName() - analogous to the generator.Generator() case.
1 parent 360c6d5 commit 409a392

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

pkg/manifests/generator.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (g *tranformableGenerator) WithObjectTransformer(transformer ObjectTransfor
4646

4747
func (g *tranformableGenerator) Generate(namespace string, name string, parameters types.Unstructurable) ([]client.Object, error) {
4848
for i, transformer := range g.parameterTransformers {
49-
_parameters, err := transformer.TransformParameters(parameters)
49+
_parameters, err := transformer.TransformParameters(namespace, name, parameters)
5050
if err != nil {
5151
return nil, errors.Wrapf(err, "error calling parameter transformer (%d)", i)
5252
}
@@ -57,7 +57,7 @@ func (g *tranformableGenerator) Generate(namespace string, name string, paramete
5757
return nil, err
5858
}
5959
for i, transformer := range g.objectTransformers {
60-
_objects, err := transformer.TransformObjects(objects)
60+
_objects, err := transformer.TransformObjects(namespace, name, objects)
6161
if err != nil {
6262
return nil, errors.Wrapf(err, "error calling object transformer (%d)", i)
6363
}

pkg/manifests/transformer.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,12 @@ func NewTemplateParameterTransformer(fsys fs.FS, path string) (*TemplateParamete
6262
return t, nil
6363
}
6464

65-
func (t *TemplateParameterTransformer) TransformParameters(parameters types.Unstructurable) (types.Unstructurable, error) {
65+
func (t *TemplateParameterTransformer) TransformParameters(namespace string, name string, parameters types.Unstructurable) (types.Unstructurable, error) {
66+
data := parameters.ToUnstructured()
67+
data["Namespace"] = namespace
68+
data["Name"] = name
6669
var buf bytes.Buffer
67-
if err := t.template.Execute(&buf, parameters.ToUnstructured()); err != nil {
70+
if err := t.template.Execute(&buf, data); err != nil {
6871
return nil, err
6972
}
7073
var transformedParameters types.UnstructurableMap

pkg/manifests/types.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ type TransformableGenerator interface {
4141
// Parameter transformer interface.
4242
// Allows to manipulate the parameters passed to an existing generator.
4343
type ParameterTransformer interface {
44-
TransformParameters(parameters types.Unstructurable) (types.Unstructurable, error)
44+
TransformParameters(namespace string, name string, parameters types.Unstructurable) (types.Unstructurable, error)
4545
}
4646

4747
// Object transformer interface.
4848
// Allows to manipulate the parameters returned by an existing generator.
4949
type ObjectTransformer interface {
50-
TransformObjects(objects []client.Object) ([]client.Object, error)
50+
TransformObjects(namespace string, name string, objects []client.Object) ([]client.Object, error)
5151
}

0 commit comments

Comments
 (0)