@@ -437,6 +437,29 @@ func marshalWithIndent(in interface{}, indent int) (out []byte, err error) {
437
437
return b .Bytes (), nil
438
438
}
439
439
440
+ func marshalKustomizeOverride (app * v1alpha1.Application , originalData []byte ) ([]byte , error ) {
441
+ src := getApplicationSource (app )
442
+ if src .Kustomize == nil {
443
+ return []byte {}, nil
444
+ }
445
+
446
+ overrides := kustomizeOverride {
447
+ Kustomize : kustomizeImages {
448
+ Images : & src .Kustomize .Images ,
449
+ },
450
+ }
451
+
452
+ if len (originalData ) > 0 {
453
+ var existing kustomizeOverride
454
+ if err := yaml .Unmarshal (originalData , & existing ); err == nil {
455
+ mergeKustomizeOverride (& existing , & overrides )
456
+ overrides = existing
457
+ }
458
+ }
459
+
460
+ return marshalWithIndent (overrides , defaultIndent )
461
+ }
462
+
440
463
// marshalParamsOverride marshals the parameter overrides of a given application
441
464
// into YAML bytes
442
465
func marshalParamsOverride (app * v1alpha1.Application , originalData []byte ) ([]byte , error ) {
@@ -447,28 +470,7 @@ func marshalParamsOverride(app *v1alpha1.Application, originalData []byte) ([]by
447
470
448
471
switch GetApplicationType (app ) {
449
472
case ApplicationTypeKustomize :
450
- if appSource .Kustomize == nil {
451
- return []byte {}, nil
452
- }
453
-
454
- var params kustomizeOverride
455
- newParams := kustomizeOverride {
456
- Kustomize : kustomizeImages {
457
- Images : & appSource .Kustomize .Images ,
458
- },
459
- }
460
-
461
- if len (originalData ) == 0 {
462
- override , err = marshalWithIndent (newParams , defaultIndent )
463
- break
464
- }
465
- err = yaml .Unmarshal (originalData , & params )
466
- if err != nil {
467
- override , err = marshalWithIndent (newParams , defaultIndent )
468
- break
469
- }
470
- mergeKustomizeOverride (& params , & newParams )
471
- override , err = marshalWithIndent (params , defaultIndent )
473
+ override , err = marshalKustomizeOverride (app , originalData )
472
474
case ApplicationTypeHelm :
473
475
if appSource .Helm == nil {
474
476
return []byte {}, nil
0 commit comments