Migratrix is a cloud application talking to an Executor you deploy next to your databases. Schema work, execution, drift snapshots, and conversion runs on that Executor. The platform stores operational metadata, not your rows and not your connection secrets.
| Path | Direction and purpose |
|---|---|
| Executor → Migratrix | Outbound SignalR over TLS, authenticated with a workspace Executor key. This is how the Executor registers and receives work. No inbound port on your side is required for this path. |
| Platform → Executor | The browser talks to the Executor's public URL over SignalR for live schema, query, and execution. That URL can be an internal address, a custom domain, or {org}.agents.migratrix.com. |
| Executor → your databases | Stays inside your network. TLS to the database when the engine supports it. Credentials never enter the orchestrator database. |
One Executor per network segment is the usual shape. Engine plugins install on the Executor, so Databricks ODBC or similar host requirements stay on that machine.
Tokens are tied to organisation, workspace, and environment. Executor actions are logged with correlation identifiers in the same audit story as human actions.
| Surface | Default and meaning |
|---|---|
| Bind address | http://0.0.0.0:4002 where the Executor listens on the machine. |
| Public URL | http://localhost:4002 out of the box. Browsers and the platform use this. Production must be HTTPS if the app is HTTPS. |
| Local detection | If Public URL is localhost, 127.0.0.1, or a loopback IP, the platform treats it as local, probes /health with a 2-second timeout, and caches the result for 10 seconds. Localhost TLS can be bootstrapped with mkcert. |
| Install | The Executor settings screen carries Linux and Windows one-liners from get.migratrix.com, plus Docker and Homebrew as documented. Certificate upload lives on that same installation tab. |
| Engine plugins | Installed and reverted on the Executor, optionally signature-verified, staged until restart. An unknown engine type is rejected with a missing-plugin message rather than a generic failure. |
| Rollback knobs on the Executor | Settings include unprotected destructive mode, column-drop protection, global index policy, snapshot schema, pool size, and timeouts. These are operator controls, not per-script checkboxes. |