diff --git a/crossplane-function-springboot-starter/src/main/java/io/crossplane/compositefunctions/starter/registration/CrossplaneCompositeResourceService.java b/crossplane-function-springboot-starter/src/main/java/io/crossplane/compositefunctions/starter/registration/CrossplaneCompositeResourceService.java index e7d8e76..c57c71b 100644 --- a/crossplane-function-springboot-starter/src/main/java/io/crossplane/compositefunctions/starter/registration/CrossplaneCompositeResourceService.java +++ b/crossplane-function-springboot-starter/src/main/java/io/crossplane/compositefunctions/starter/registration/CrossplaneCompositeResourceService.java @@ -25,15 +25,16 @@ public class CrossplaneCompositeResourceService { - public static > void registerOrUpdateCompositeResource(T functionDefinition, - boolean addReadyFunction, + public static > void registerOrUpdateCompositeResource(String functionName, + List additionalFunctions, + T functionDefinition, KubernetesClient kubernetesClient) { CompositeResourceDefinition compositeResourceDefinition = createCompositeResourceDefinition(functionDefinition); registerOrUpdateCompositeResourceDefinition(compositeResourceDefinition, kubernetesClient); - Composition composition = createCompositionDefinition(functionDefinition, addReadyFunction); + Composition composition = createCompositionDefinition(functionName, additionalFunctions, functionDefinition); registerOrUpdateCompositeResourceDefinition(composition, kubernetesClient); @@ -106,11 +107,13 @@ public class CrossplaneCompositeResourceService { } } - private static > Composition createCompositionDefinition(T functionDefinition, boolean addReadyFunction) { + private static > Composition createCompositionDefinition( + String functionName, List additionalFunctions, + T functionDefinition) { Composition composition = new Composition(); - composition.setMetadata(CrossplaneMetadataBuilder.createMetadata("kalypso-" + functionDefinition.getKind().toLowerCase() + "-composition")); + composition.setMetadata(CrossplaneMetadataBuilder.createMetadata(functionDefinition.getKind().toLowerCase() + "-composition")); CompositionSpec compositionSpec = new CompositionSpec(); CompositeTypeRef compositeTypeRef = new CompositeTypeRef(); @@ -122,11 +125,10 @@ public class CrossplaneCompositeResourceService { List pipelineList = new ArrayList<>(); - pipelineList.add(createPipeline("kalypso-" + functionDefinition.getKind().toLowerCase() + "-function")); + pipelineList.add(createPipeline(functionName)); + + additionalFunctions.forEach(s -> pipelineList.add(createPipeline(s))); - if (addReadyFunction) { - pipelineList.add(createPipeline("kalypso-ready-function")); - } compositionSpec.setPipeline(pipelineList); composition.setSpec(compositionSpec); return composition;