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]

Reply via email to