-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document custom SCDF server setup #119
Comments
We have recently added a sample to demonstrate how to build a custom SCDF server with the Spring Boot app created from Spring Initializr. The README can get some love in regards to granular steps and the explanation of specific steps to clarify what it includes already. It'd be nice also to update the module name to be more descriptive. In other words, we do not want to create yet another sample, but instead, we could update what is available already. |
@ilayaperumalg @sabbyanandan many thanks for creating an issue on this topic! I'm trying to create a custom build based on the sample mentioned above, but I'm already stuck at the point where I don't know which tables should be created? It seems tables are not created by the application itself (as it is the case for spring-batch). Can you point my to where the ddl definitions are located? or how should this work? |
Hi @imod, Thanks for checking this out. The SCDF specific tables are created using Spring Data JPA as the SCDF schema entities are defined as JPA repositories. For instance, you can see the StreamDefinition defined here |
@ilayaperumalg @sabbyanandan I found another reason why I do need to create a custom scdf: when I follow the process as described on https://dataflow.spring.io/docs/installation/cloudfoundry/cf-cli/#installing-using-a-manifest, then the installation fails because flyway does not accept our MariaDB:
Locally I do have it running with the exact same DB version ( Another point I'm confused about is skipper, here it says skipper is optional, but here it is not noted as optional. If it is optional, what functionality will I lose? Only the blue/green rollup deployments or will SCDF not be able to deploy batch/task jobs at all anymore? |
Hello, @imod. Thanks for the details! We will review those issues to see what can be done there. As for Skipper being optional or not, starting from SCDF 2.0 and onwards, Skipper is a required component. Unfortunately, the docs that you're referring to (though it points to Just curious, how did you discover the docs URL? We will have to fix all of the references as well. |
Update: It appears the One more time, starting from 2.0 and onwards, Skipper is a required component. And likewise, we have merged all the supported SCDF's platform-specific autoconfiguration's into a single-server, so you can now use |
thanks @sabbyanandan that's very valuable information! I hope you don't mind me having another question: we already run an instance of spring boot admin and I think it would be great to combine the SBA mit SCDF in one app, do you know if this is feasible? e.g. I can define path prefix for SBA (the same is also possible for cloud config server) - if this would be possible for SCDF, that would be great. |
@sabbyanandan section 9.1 - feature toggles indicates Skipper is only required for Streams, as I'm only interested in running Batch jobs, I might not need Skipper - is this true? |
My apologies for the delay. Correct, if you don't want to use streaming features in SCDF, you can disable it using the respective feature-toggle. When you do that, you do not need Skipper indeed. As for SBA vs. SCDF, the aim was to move all of the SBA features in SCDF, and that is feature complete. And, only after that, SBA was pulled off of maintenance. That said, SCDF is a product and it has opinions in regards to how it bootstraps with the streaming, batch, and analytics features - we have been working on this for >5yrs now. So, any standalone SBA footprint that you have from the past, it won't automatically fold into SCDF as-is. Your net-new Task/Batch apps can be configured and launched from SCDF. If you have an existing batch-job workload, you must convert it to a Spring Cloud Task, and spawn it as Task definitions in SCDF, as well. |
@sabbyanandan thanks, I fully understand that batch apps now have to be spawned via Task definitions and that's all fine. I would love to follow the new architecture and programming model. The thing is, that we face a couple of problems which I'm currently not able to solve. e.g.
I'm aware that specially my first point might be controversial and maybe even naiv to expect it to work. I'm have a custom build of SCDF with basic auth and I can login and look around, but for some reason it fails to let my register new apps and I have no idea whats causing the issue. If I do manage to get a custom build working, then I would love to contribute the learnings back in form of documentation and resolve #119 myself :) But I'm afraid I probably need some more help to get everything working. |
We have added a sample for custom SCDF builds, and we have been keeping it up-to-date at the time of each new minor/major release. Unfortunately, we didn't update the issue with this info sooner, though. Anyway, if we can help with anything else on top of it, please let us know. |
We can add a section that describes how to set up a custom SCDF server using
EnableDataFlowServer
annotation and its configuration.The text was updated successfully, but these errors were encountered: