Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
[proposal] Support for 'standalone' and 'application group' support #915
Currently there are four different types of applications:
This issue is to track the proposal of adding an additional application type,
The standalone application type could be useful for:
I have taken a stab at a basic implementation on my fork (
As mentioned in the post, we are going to use this internally to faciliate a consistent way of deploying both streams, tasks and current Spring Boot apps from the same tooling.
However, I'm not sure if this proposed new application type fits into the grander scheme of things for Data Flow? This issue is to open a conversation around whether or not it has merit.
Hi, @donovanmuller - Thanks for this proposal.
There's a spike in-progress in the
@markfisher has been experimenting with the design and it'd be great to collaborate with you on this feature.
To add to the standalone application type, I have also drafted a take on the Application Group feature tracked by spring-cloud/spring-cloud-deployer#99 (albeit with slightly different requirements). This was added because we needed the ability to push a single artifact through our CI/CD pipeline (facilitated by the spring-cloud-dataflow-maven-plugin) that would enable the deployment of multiple streams/standalone apps/ etc. related to a logical solution.
There is a detailed write up about it in this blog post.
Having added these features and with the need for possibly more extension in the future, I'd like to get feedback on working on a plugin architecture that would allow extensions like this to be externally bolted on to the core data flow project, thereby not relying on the core project to adopt new features that might not make sense for the roadmap of the project and additionally, community forks need not be constantly rebased with upstream changes.
The plugin architecture could possibly provide lifecycle hooks.
With this capability added to the core data flow project, composing a new data flow server project with additional custom functionality, would simply require a dependency on data flow core and additional plugins. The configuration could be achieved through the usual Spring (auto) configuration mechanisms.
@sabbyanandan Would this be something that the team would be interested in supporting, if contributed?
The finalized design proposal is here for review. We will be addressing the feature capabilities in incremental chunks and the first step in the process will be tackled via #1122 and #1123. For any other open items that need to be discussed, let's continue the conversation either in the open issues or google doc. I will close this issue for now.