zyratlo commented on code in PR #7932:
URL: https://github.com/apache/texera/pull/7932#discussion_r3856316708
##########
bin/single-node/README.md:
##########
@@ -141,6 +142,27 @@ To switch providers or add more LLMs, see [Add more LLMs
or providers](#add-more
+## Use the notebook migration tool
+
+The notebook migration tool converts a Jupyter notebook into a Texera
workflow. It runs a JupyterLab
+server alongside Texera (published on port 9100) and embeds it in the
workspace. The conversion itself
+is powered by an LLM, so it needs an API key exactly like [the Texera
agent](#enable-the-texera-agent);
+without one the tool still appears but the conversion fails with a provider
auth error.
+
+The tool is enabled by default. To turn it off, set
`GUI_WORKFLOW_WORKSPACE_PYTHON_NOTEBOOK_MIGRATION_ENABLED=false`
+in the `.env` file.
+
+Once Texera is up, go to your workflow list and click the robot button ("AI
generate a workflow from a
+Python notebook"). Upload a `.ipynb` file and pick a model; Texera generates
the workflow and opens it.
+In the workspace, a Jupyter button then appears in the menu bar to expand the
notebook alongside the
+generated workflow.
+
+> ⚠️ All users share one JupyterLab server and one access token. Anyone who
can reach Texera sees the
Review Comment:
Agreed, the exposure sentence singles out 9100 when 8080 (default admin,
Python UDF gives code execution) and 9000 (MinIO on a known password) have the
same property. Dropped the whole note in
[7da0e70](https://github.com/apache/texera/pull/7932/commits/7da0e70e5928615273c92794b88d05e7fdc9503b)
##########
notebook-migration-service/src/main/scala/org/apache/texera/service/resource/NotebookMigrationResource.scala:
##########
@@ -106,11 +106,12 @@ object NotebookMigrationResource extends LazyLogging {
}
}
- // jupyterUrl and jupyterToken are single process-wide values, so this
service still
- // targets one Jupyter per process (the per-user-pod model) and must not be
deployed as a
- // shared global instance yet: every user would get the same Jupyter and the
same token.
- // Resolving these per user is a later stage of the migration (#7665).
- private val jupyterUrl = StorageConfig.jupyterURL
+ // Process-wide values, so this service targets one Jupyter per process (the
per-user-pod
+ // model) and must not be deployed as a shared global instance yet: every
user would get
+ // the same Jupyter and token. Per-user resolution is #7665.
+ // internalJupyterUrl is what this service calls, publicJupyterUrl is what
the browser loads.
+ private val internalJupyterUrl = StorageConfig.jupyterInternalURL
+ private val publicJupyterUrl = StorageConfig.jupyterPublicURL
Review Comment:
[b6acadc](https://github.com/apache/texera/pull/7932/commits/b6acadc00b58574ade831e28d7a2b421f4cf1778)
--
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]