syndesisio / syndesis-rest

The API for Syndesis - a flexible, customizable, cloud-hosted platform that provides core integration capabilities as a service. It leverages Red Hat's existing product architecture using OpenShift Online/Dedicated and Fuse Integration Services.
https://syndesis-staging.b6ff.rh-idev.openshiftapps.com/api/v1/
Apache License 2.0
6 stars 17 forks source link

Generated integration project should optionally use productized FIS bom #418

Closed chirino closed 7 years ago

chirino commented 7 years ago

The project generator should support switching to using productized FIS boms in the generated pom.xml files.

rhuss commented 7 years ago

The benefit I guess would be to have the same version of camel libraries across all integrations, right?

For the connectors however the versions are currently coming out of the DB, so I wonder how these would fit in the picture (and also of course, how to update connectors for deployed integrations).

chirino commented 7 years ago

Right. Perhaps we should avoid adding connector versions in the DB and add those to the bom?? This goes hand in hand with how do we patch ipaas integrations.

rhuss commented 7 years ago

I would keep this issue in mind, but first check that we get our update process straight. I guess an integration then must have least then a reference to the bom version and must have a way to either update the BOM via UI (admin area) or some automatic update which runs over all deployed integrations needs to be implemented.

chirino commented 7 years ago

This should also include the FMP config in the pom.xml

lburgazzoli commented 7 years ago

Would something like this:

@Value.Immutable
public interface GenerateProjectRequest {
    enum Layout {
        FIS,
        OSS
    }

    Layout getProjectLayout();
    ...
}

be ok to discriminate the project layout ?

rhuss commented 7 years ago

I think that's perfectly fine. Maybe we call it the Layout 'REDHAT' and 'SYNDESIS' or so, because it might be used also for other dependencies used in the generated pom.xml (which for the RedHat case must only use productised dependencies, including connectors).

The layout then could be selected by a simple configuration option.

What will be also interesting is how to configure the appropriate repositories (with authentication for the redhat case ?)

lburgazzoli commented 7 years ago

A maybe better alternative would be to use spring-boot profiles so i.e. we can set the path of the templates and additional stuffs in each profile

lburgazzoli commented 7 years ago

Should we close this as it has been merged ?

gashcrumb commented 7 years ago

+1

lburgazzoli commented 7 years ago

Please reopen if needed