mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-03 02:24:33 +00:00
Closes the sandbox-driver adoption: any provider a sandbox-driver plugin executable serves can now host a fabro run, and fabro's own bundled providers can be served the same way. - `SandboxSpec::Plugin` builds a normalized driver spec from the environment (image or Dockerfile source, or a provider-managed directory; resources; network policy; labels; env) and lays fabro's repository checkout out inside the provider's working directory. The layout is recorded on the run through the new `workspace_layout` trait method. - Plugin settings on a bundled kind (`[server.sandbox.providers.docker] path = ...`) serve that kind out of process through the driver's executable; the config layer no longer rejects them. - `ProviderAccess` carries the server's provider settings and the vault's Daytona credentials to every reconnect: run resume, sandbox details, terminals, previews, and the worker's start path. The worker receives the settings through `StartServices`. No "plugin not wired" errors remain. - The CLI worker requires GitHub credentials only when a repository will be cloned; a `none` target on a clone-based provider creates an empty workspace and needs none. - fabro-db tracks its migrations directory so a new migration file recompiles the crate; the environment provider migration had been silently missing from stale builds. Environment store 500s now log their cause. - The CLI workflow scenarios run against `host-plugin` (the driver's Host executable under the non-bundled `host` kind) and `docker-plugin` (the bundled `docker` kind served over stdio), each on an isolated server, printing the server log on failure. A live Daytona gate runs the native git clone over the JSON-RPC wire. A new CI job runs the plugin scenarios and the driver-backed Docker integration tests with the plugin executables built. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
8 lines
343 B
Rust
8 lines
343 B
Rust
//! `sqlx::migrate!` embeds every file under `migrations/` at compile time,
|
|
//! but on stable Rust the macro cannot tell Cargo about the directory. Without
|
|
//! this hint a newly added migration file does not recompile the crate, so a
|
|
//! stale build silently ships without it.
|
|
|
|
fn main() {
|
|
println!("cargo:rerun-if-changed=migrations");
|
|
}
|