1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
[]
= "boatramp-node"
= true
= true
= true
= true
= true
= true
= true
= true
= true
= true
= true
= "Node assembly for boatramp: the parsed config model (and, incrementally, the config-to-running-node assembly) that the serve binary and library embedders share."
[]
= true
= true
= true
# Concrete compute backends assembled by `compute::build_compute` (the deps
# boatramp-server deliberately avoids). Linux/KVM deps are `target_os`-gated in
# these crates, so enabling them cross-platform is a no-op off Linux.
= true
= { = true, = [
"build",
"backend",
"embedded",
] }
# The macOS-native VMM backend (Virtualization.framework). Its objc2/Virtualization
# deps are `target_os = "macos"`-gated, so enabling `backend` cross-platform is a
# no-op off macOS (the crate compiles to a shell whose `launch` is unreachable
# because `build_compute` cfg-gates registration to macOS).
= { = true, = ["backend"] }
# Handler-runtime assembly (`handlers::build_handler_runtime`/`build_sql_backends`);
# optional, pulled only by the `handlers` feature (the lean node has no wasm engine).
= { = true, = true }
= { = true, = true }
# Optional: derives `clap::ValueEnum` on the backend-selection enums so the CLI
# binary uses them directly in its args. A non-CLI embedder never pulls clap.
= { = true, = true }
= true
= { = true, = ["derive"] }
# Serializing the managed-DB soft-delete tombstone records into the control-plane KV
# (JSON, matching DeployStore's KV value encoding). Only used under the sql features,
# but a tiny dep so it stays unconditional (as with getrandom below).
= true
= true
# Naming the detached reconcile `JoinHandle`s that `assemble` returns.
= true
= true
# Generating the managed SQL credential (PLAN-managed-compute-sql; only used under
# the sql features, but a tiny dep so it stays unconditional).
= true
# The managed-SQL resolvers (`ManagedDbEnv`/`DeployEndpointResolver`) implement the
# async ManagedDbEnvResolver/ComputeEndpointResolver traits in non-test code; only
# used under the sql features but a tiny dep so it stays unconditional.
= true
[]
# Cfg markers matching the binary's feature set: `config` parses every section in
# every build (so config files stay portable), but a handful of fields/impls are
# cfg-gated to the feature that consumes them. The binary forwards each of its
# features to the matching one here so the gating stays consistent.
= []
= ["dep:boatramp-storage", "boatramp-storage/azure"]
# Derive `clap::ValueEnum` on the backend enums (enabled by the CLI binary).
= ["dep:clap"]
= ["dep:boatramp-storage", "boatramp-storage/cloudflare-kv"]
= []
= ["boatramp-server/console"]
= ["dep:boatramp-storage", "boatramp-storage/fs"]
= ["dep:boatramp-storage", "boatramp-storage/gcs"]
# The wasm handler runtime assembly: the engine + the libsql `sql` binding backend.
= [
"dep:boatramp-handlers",
"dep:boatramp-storage",
"boatramp-handlers/engine",
"boatramp-server/handlers",
"boatramp-storage/sql",
]
# External bring-your-own SQL for the handler `sql` binding (each implies handlers).
= ["handlers", "boatramp-storage/sql-postgres"]
= ["handlers", "boatramp-storage/sql-mysql"]
# The per-project SMTP email gateway (`boatramp:handlers/email`): wires the profile
# store + delivery spool into the handler runtime. Enables the server's `email`
# feature (which pulls `boatramp-handlers/email` + lettre); implies handlers.
= ["handlers", "boatramp-server/email"]
# The guest project self-config capability (`boatramp:handlers/admin`): wires the
# ServerAdminController at startup for the posture-enabled surfaces. Enables the server's
# `admin` feature (which pulls `boatramp-handlers/admin`); implies handlers.
= ["handlers", "boatramp-server/admin", "boatramp-handlers/admin"]
# The guest capability-minting capability (`boatramp:handlers/capability`,
# PLAN-delegable-capabilities): the node enables minting at startup when the posture allows, reusing
# the fleet session signer. Enables the server's `capability` feature; implies handlers.
= [
"handlers",
"boatramp-server/capability",
"boatramp-handlers/capability",
]
= ["dep:boatramp-storage", "boatramp-storage/s3"]
= ["dep:boatramp-storage", "boatramp-storage/slatedb"]
= []
[]
# The in-process fidelity test (`node::tests`) drives the assembled router with a
# synthetic request over a temp `FsStorage` + `MemoryKv` (gated on `fs`).
= "0.8"
= "3"
= { = true, = ["macros", "rt-multi-thread"] }
= { = "0.5", = ["util"] }
# The live cross-tenant-isolation seam (`tests/tenant_isolation_live.rs`, Linux + root)
# serves a rootfs blob through a test `Storage` (`FileBlob`) — needs the same byte/stream
# helpers the container backend's live test uses.
= true
= true