Skip to content

Commit 6ba29ca

Browse files
authored
Merge pull request #316 from justinsb/refactor_objects_building
Simplify List flattening logic
2 parents 8f4d4f9 + 70a823b commit 6ba29ca

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

pkg/patterns/declarative/reconciler.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,14 @@ func (r *Reconciler) reconcileExists(ctx context.Context, name types.NamespacedN
268268
log.Error(err, "building deployment objects")
269269
return statusInfo, fmt.Errorf("error building deployment objects: %v", err)
270270
}
271-
statusInfo.Manifest = objects
271+
272+
objects, err = flattenListObjects(objects)
273+
if err != nil {
274+
log.Error(err, "flattening list objects")
275+
return statusInfo, fmt.Errorf("error flattening list objects: %w", err)
276+
}
272277
log.WithValues("objects", fmt.Sprintf("%d", len(objects.Items))).Info("built deployment objects")
278+
statusInfo.Manifest = objects
273279

274280
if r.options.status != nil {
275281
isValidVersion, err := r.options.status.VersionCheck(ctx, instance, objects)
@@ -286,13 +292,6 @@ func (r *Reconciler) reconcileExists(ctx context.Context, name types.NamespacedN
286292
}
287293
}
288294

289-
objects, err = parseListKind(objects)
290-
if err != nil {
291-
log.Error(err, "Parsing list kind")
292-
return statusInfo, fmt.Errorf("error parsing list kind: %v", err)
293-
}
294-
statusInfo.Manifest = objects
295-
296295
err = r.setNamespaces(ctx, instance, objects)
297296
if err != nil {
298297
return statusInfo, err
@@ -742,7 +741,9 @@ func (r *Reconciler) AddHook(hook Hook) {
742741
r.options.hooks = append(r.options.hooks, hook)
743742
}
744743

745-
func parseListKind(infos *manifest.Objects) (*manifest.Objects, error) {
744+
// flattenListObjects will replace any List objects in the manifest with the items,
745+
// "flattening" the objects.
746+
func flattenListObjects(infos *manifest.Objects) (*manifest.Objects, error) {
746747
var out []*manifest.Object
747748

748749
for _, item := range infos.Items {

0 commit comments

Comments
 (0)