@@ -299,13 +299,21 @@ func (r *Reconciler) BuildDeploymentObjectsWithFs(ctx context.Context, name type
299
299
}
300
300
301
301
// 3. Parse manifest into objects
302
- // 4. Perform object transformations
303
- objects , err := r .parseAndTransformManifest (ctx , instance , manifestStr )
302
+ objects , err := r .parseManifest (ctx , instance , manifestStr )
304
303
if err != nil {
305
- log .Error (err , "error parsing and transforming manifest" )
304
+ log .Error (err , "error parsing manifest" )
306
305
return nil , err
307
306
}
308
307
308
+ // 4. Perform object transformations
309
+ // (unless kustomize is in use, in which case we transform after running kustomize)
310
+ if ! r .IsKustomizeOptionUsed () {
311
+ if err := r .transformManifest (ctx , instance , objects ); err != nil {
312
+ log .Error (err , "error transforming manifest" )
313
+ return nil , err
314
+ }
315
+ }
316
+
309
317
if fs != nil {
310
318
// 5. Write objects to filesystem for kustomizing
311
319
for _ , item := range objects .Items {
@@ -343,11 +351,16 @@ func (r *Reconciler) BuildDeploymentObjectsWithFs(ctx context.Context, name type
343
351
return nil , fmt .Errorf ("error converting kustomize output to yaml: %v" , err )
344
352
}
345
353
346
- objects , err := r .parseAndTransformManifest (ctx , instance , string (manifestYaml ))
354
+ objects , err := r .parseManifest (ctx , instance , string (manifestYaml ))
347
355
if err != nil {
348
356
log .Error (err , "creating final manifest yaml" )
349
357
return nil , err
350
358
}
359
+
360
+ if err := r .transformManifest (ctx , instance , objects ); err != nil {
361
+ log .Error (err , "error transforming manifest" )
362
+ return nil , err
363
+ }
351
364
manifestObjects .Items = objects .Items
352
365
}
353
366
@@ -357,8 +370,8 @@ func (r *Reconciler) BuildDeploymentObjectsWithFs(ctx context.Context, name type
357
370
return manifestObjects , nil
358
371
}
359
372
360
- // parseAndTransformManifest parses the manifest into objects and adds any transformations as required
361
- func (r * Reconciler ) parseAndTransformManifest (ctx context.Context , instance DeclarativeObject , manifestStr string ) (* manifest.Objects , error ) {
373
+ // parseManifest parses the manifest into objects
374
+ func (r * Reconciler ) parseManifest (ctx context.Context , instance DeclarativeObject , manifestStr string ) (* manifest.Objects , error ) {
362
375
log := log .Log
363
376
364
377
objects , err := manifest .ParseObjects (ctx , manifestStr )
@@ -367,6 +380,11 @@ func (r *Reconciler) parseAndTransformManifest(ctx context.Context, instance Dec
367
380
return nil , err
368
381
}
369
382
383
+ return objects , nil
384
+ }
385
+
386
+ // transformManifest runs any transformations as required
387
+ func (r * Reconciler ) transformManifest (ctx context.Context , instance DeclarativeObject , objects * manifest.Objects ) error {
370
388
transforms := r .options .objectTransformations
371
389
if r .options .labelMaker != nil {
372
390
transforms = append (transforms , AddLabels (r .options .labelMaker (ctx , instance )))
@@ -375,10 +393,10 @@ func (r *Reconciler) parseAndTransformManifest(ctx context.Context, instance Dec
375
393
for _ , t := range transforms {
376
394
err := t (ctx , instance , objects )
377
395
if err != nil {
378
- return nil , err
396
+ return err
379
397
}
380
398
}
381
- return objects , nil
399
+ return nil
382
400
}
383
401
384
402
// loadRawManifest loads the raw manifest YAML from the repository
0 commit comments