-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Boot and mount LB3 app #2391
Comments
Defer the estimation:
|
See the PoC implementation in lb3app.booter.ts, the issue description contains this link too. We will do exactly the same thing that existing LB3 tooling like
LB3 apps can use Do we boot the lb3 app in isolation? I am not sure what do you mean by "boot in isolation". The LB4 booter will ensure that LB3 application was correctly booted, this will happen as part of LB4 boot step. and only expose endpoints to lb4? Again, see the PoC. There are two ways:
That depends on the LB3 application.
Please note that LB3 application is an Express app under the hood and it does not come with any HTTP(s) server. We are not going to start another HTTP server for the LB3 application. Instead, we use the request handler provided by LB3 application (flavor 1) or by LB3's REST API adapter (flavor 2) and mount this request handler on the Express instance used internally by LB4. Again, see the PoC code for more details. I think the PoC should answer most questions about both high-level design and implementation details. What we need to do in this story:
|
I understand it now. Well, we won't call |
This is a follow-up for the spike #2318, see the discussion and PoC code for more context.
Implement @loopback/booter-lb3app, a
Booter
implementation that takes existing LB3 codebase, boots the application, converts its Swagger spec to OpenAPI v3 and then mounts the app on the target LB4 application, including the spec.The booter package should not have any runtime dependency on @loopback/boot, it should use peerDependencies to specify which core packages it works with and dev-dependencies for development & testing. List of packages to put in peer dependencies:
@loopback/core
@loopback/boot
@loopback/rest
Proposed user experience: README#basic-use
PoC implementation: lb3app.booter.ts
Related issues: #1849 #2389
Acceptance criteria
packages/booter-lb3app
The text was updated successfully, but these errors were encountered: