zyratlo opened a new issue, #5257:
URL: https://github.com/apache/texera/issues/5257
### Task Summary
Introduce the microservice that mediates between Texera and the JupyterLab
docker stack (landed in `migration-tool-jupyter-docker`). The service exposes a
REST API under `/api/notebook-migration` that is consumed by upcoming frontend
PRs.
### Scope
Adds a new SBT subproject `notebook-migration-service` plus shared config
and a frontend proxy route:
- `notebook-migration-service/build.sbt`, `project/build.properties` —
module SBT setup.
- `src/main/scala/.../NotebookMigrationService.scala` — Dropwizard
`Application` entry; serves at `/api/*` on port `9098`, registers the resource,
initializes the shared DB connection from `StorageConfig`.
- `src/main/scala/.../NotebookMigrationServiceConfiguration.scala` —
Dropwizard `Configuration` subclass.
- `src/main/scala/.../resource/NotebookMigrationResource.scala` — five
REST endpoints under `/notebook-migration`:
- `GET /get-jupyter-url`
- `GET /get-jupyter-iframe-url`
- `POST /set-notebook` (pushes a notebook into JupyterLab via its
`/api/contents` API)
- `POST /store-notebook-and-mapping` (persists notebook +
workflow-notebook mapping to Postgres)
- `POST /fetch-notebook-and-mapping` (retrieves the latest pair for a
workflow/version).
- `src/main/resources/logback.xml`,
`notebook-migration-service-web-config.yaml` — logging and Dropwizard server
config.
- Root `build.sbt` — registers the subproject in the `TexeraProject`
aggregation
- `common/config/src/main/resources/storage.conf` + `StorageConfig.scala`
— new `jupyter { url = "http://localhost:9100" }` block with
`STORAGE_JUPYTER_URL` override, accessed by the resource as
`StorageConfig.jupyterURL`.
- `frontend/proxy.config.json` — routes `/api/notebook-migration/*` to
`http://localhost:9098` for dev.
### Task Type
- [ ] Refactor / Cleanup
- [x] DevOps / Deployment / CI
- [ ] Testing / QA
- [ ] Documentation
- [ ] Performance
- [ ] Other
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]