@sandbank.dev/boxlite 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +4 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -0
- package/dist/local-client.d.ts.map +1 -1
- package/dist/local-client.js +144 -4
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/adapter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EAGZ,UAAU,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,oBAAoB,CAAA;AAI3B,OAAO,KAAK,EAAE,oBAAoB,EAA6B,MAAM,YAAY,CAAA;AAoKjF,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,IAAI,aAAY;IACzB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IAE9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;gBAEtD,MAAM,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EAGZ,UAAU,EACV,cAAc,EACd,WAAW,EAIZ,MAAM,oBAAoB,CAAA;AAI3B,OAAO,KAAK,EAAE,oBAAoB,EAA6B,MAAM,YAAY,CAAA;AAoKjF,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,IAAI,aAAY;IACzB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;IAE9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;gBAEtD,MAAM,EAAE,oBAAoB;IASlC,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAiD5D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAW/C,aAAa,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA0B1D,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,8EAA8E;IACxE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
package/dist/adapter.js
CHANGED
|
@@ -153,19 +153,16 @@ export class BoxLiteAdapter {
|
|
|
153
153
|
this.config = config;
|
|
154
154
|
this.host = resolveHost(config);
|
|
155
155
|
this.client = createClient(config);
|
|
156
|
-
|
|
157
|
-
const caps = ['exec.stream', 'terminal', 'sleep', 'port.expose'];
|
|
158
|
-
if (config.mode !== 'local') {
|
|
159
|
-
caps.push('snapshot');
|
|
160
|
-
}
|
|
156
|
+
const caps = ['exec.stream', 'terminal', 'sleep', 'port.expose', 'snapshot'];
|
|
161
157
|
this.capabilities = new Set(caps);
|
|
162
158
|
}
|
|
163
159
|
async createSandbox(config) {
|
|
164
160
|
try {
|
|
165
161
|
// If image looks like an absolute path, treat it as a local OCI rootfs
|
|
166
|
-
const
|
|
162
|
+
const image = config.image ?? 'ubuntu:24.04';
|
|
163
|
+
const isLocalPath = image.startsWith('/');
|
|
167
164
|
const box = await this.client.createBox({
|
|
168
|
-
...(isLocalPath ? { rootfs_path:
|
|
165
|
+
...(isLocalPath ? { rootfs_path: image } : { image }),
|
|
169
166
|
cpu: config.resources?.cpu,
|
|
170
167
|
memory_mb: config.resources?.memory,
|
|
171
168
|
disk_size_gb: config.resources?.disk,
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAIb,mBAAmB,EAGpB,MAAM,YAAY,CAAA;AAEnB;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAIb,mBAAmB,EAGpB,MAAM,YAAY,CAAA;AAEnB;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAuQlF"}
|
package/dist/client.js
CHANGED
|
@@ -214,5 +214,11 @@ export function createBoxLiteRestClient(config) {
|
|
|
214
214
|
method: 'DELETE',
|
|
215
215
|
});
|
|
216
216
|
},
|
|
217
|
+
async cloneBox(boxId, name) {
|
|
218
|
+
return request(`/boxes/${boxId}/clone`, {
|
|
219
|
+
method: 'POST',
|
|
220
|
+
body: JSON.stringify(name ? { name } : {}),
|
|
221
|
+
});
|
|
222
|
+
},
|
|
217
223
|
};
|
|
218
224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-client.d.ts","sourceRoot":"","sources":["../src/local-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,aAAa,EAGb,kBAAkB,EAEnB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"local-client.d.ts","sourceRoot":"","sources":["../src/local-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,aAAa,EAGb,kBAAkB,EAEnB,MAAM,YAAY,CAAA;AAsgBnB;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CA0RlF"}
|
package/dist/local-client.js
CHANGED
|
@@ -86,6 +86,9 @@ class Bridge:
|
|
|
86
86
|
if ports is not None:
|
|
87
87
|
sb_kwargs["ports"] = ports
|
|
88
88
|
|
|
89
|
+
# Disable auto_remove so runtime.get() works after stop (needed for snapshot restore)
|
|
90
|
+
sb_kwargs["auto_remove"] = params.get("auto_remove", False)
|
|
91
|
+
|
|
89
92
|
# Pass the Boxlite runtime to SimpleBox so it uses the correct home_dir
|
|
90
93
|
if getattr(self, "_boxlite_rt", None) is not None:
|
|
91
94
|
sb_kwargs["runtime"] = self._boxlite_rt
|
|
@@ -298,6 +301,128 @@ class Bridge:
|
|
|
298
301
|
if box and hasattr(box, "start"):
|
|
299
302
|
await box.start()
|
|
300
303
|
|
|
304
|
+
def _get_box(self, box_id):
|
|
305
|
+
box = self._boxes.get(box_id)
|
|
306
|
+
if box is None:
|
|
307
|
+
raise ValueError(f"Box not found: {box_id}")
|
|
308
|
+
# SimpleBox wraps the real Box — unwrap to get snapshot handle
|
|
309
|
+
inner = getattr(box, "_box", box)
|
|
310
|
+
return inner
|
|
311
|
+
|
|
312
|
+
async def create_snapshot(self, box_id, name):
|
|
313
|
+
# boxlite snapshot uses fork_qcow2 (rename + COW child). If QEMU is
|
|
314
|
+
# running, its FD still points to the renamed inode, so post-snapshot
|
|
315
|
+
# writes corrupt the snapshot file. Must stop → snapshot → restart.
|
|
316
|
+
inner = self._get_box(box_id)
|
|
317
|
+
await inner.stop()
|
|
318
|
+
|
|
319
|
+
rt = getattr(self, "_boxlite_rt", None)
|
|
320
|
+
if rt is None:
|
|
321
|
+
raise RuntimeError("Cannot create snapshot: no Boxlite runtime")
|
|
322
|
+
fresh = await rt.get(box_id)
|
|
323
|
+
if fresh is None:
|
|
324
|
+
raise RuntimeError(f"Cannot get fresh handle for box {box_id}")
|
|
325
|
+
snap_handle = getattr(fresh, "snapshot", None)
|
|
326
|
+
if snap_handle is None:
|
|
327
|
+
raise RuntimeError("Fresh handle has no snapshot support")
|
|
328
|
+
|
|
329
|
+
info = await snap_handle.create(name=name)
|
|
330
|
+
snap_name = str(getattr(info, "name", name))
|
|
331
|
+
|
|
332
|
+
# Restart the VM with the new COW child disk
|
|
333
|
+
await fresh.__aenter__()
|
|
334
|
+
# Update SimpleBox/Box internal references
|
|
335
|
+
old_sb = self._simple_boxes.get(box_id)
|
|
336
|
+
old_box = self._boxes.get(box_id)
|
|
337
|
+
if old_sb and hasattr(old_sb, "_box"):
|
|
338
|
+
old_sb._box = fresh
|
|
339
|
+
old_sb._started = True
|
|
340
|
+
if old_box and hasattr(old_box, "_box"):
|
|
341
|
+
old_box._box = fresh
|
|
342
|
+
else:
|
|
343
|
+
self._boxes[box_id] = fresh
|
|
344
|
+
|
|
345
|
+
return {
|
|
346
|
+
"id": str(getattr(info, "id", snap_name)),
|
|
347
|
+
"box_id": box_id,
|
|
348
|
+
"name": snap_name,
|
|
349
|
+
"created_at": int(getattr(info, "created_at", 0)),
|
|
350
|
+
"size_bytes": int(getattr(info, "size_bytes", 0)),
|
|
351
|
+
"guest_disk_bytes": int(getattr(info, "guest_disk_bytes", 0) or 0),
|
|
352
|
+
"container_disk_bytes": int(getattr(info, "container_disk_bytes", 0) or 0),
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
async def restore_snapshot(self, box_id, name):
|
|
356
|
+
# Same stop → fresh handle pattern as create_snapshot.
|
|
357
|
+
# stop() also invalidates the LiteBox handle (cancels shutdown_token).
|
|
358
|
+
inner = self._get_box(box_id)
|
|
359
|
+
await inner.stop()
|
|
360
|
+
|
|
361
|
+
rt = getattr(self, "_boxlite_rt", None)
|
|
362
|
+
if rt is None:
|
|
363
|
+
raise RuntimeError("Cannot restore snapshot: no Boxlite runtime")
|
|
364
|
+
fresh = await rt.get(box_id)
|
|
365
|
+
if fresh is None:
|
|
366
|
+
raise RuntimeError(f"Cannot get fresh handle for box {box_id}")
|
|
367
|
+
fresh_snap = getattr(fresh, "snapshot", None)
|
|
368
|
+
if fresh_snap is None:
|
|
369
|
+
raise RuntimeError("Fresh handle has no snapshot support")
|
|
370
|
+
|
|
371
|
+
await fresh_snap.restore(name)
|
|
372
|
+
|
|
373
|
+
# Restart with the restored disk
|
|
374
|
+
await fresh.__aenter__()
|
|
375
|
+
# Update SimpleBox/Box internal references
|
|
376
|
+
old_sb = self._simple_boxes.get(box_id)
|
|
377
|
+
old_box = self._boxes.get(box_id)
|
|
378
|
+
if old_sb and hasattr(old_sb, "_box"):
|
|
379
|
+
old_sb._box = fresh
|
|
380
|
+
old_sb._started = True
|
|
381
|
+
if old_box and hasattr(old_box, "_box"):
|
|
382
|
+
old_box._box = fresh
|
|
383
|
+
else:
|
|
384
|
+
self._boxes[box_id] = fresh
|
|
385
|
+
|
|
386
|
+
async def list_snapshots(self, box_id):
|
|
387
|
+
inner = self._get_box(box_id)
|
|
388
|
+
snap_handle = getattr(inner, "snapshot", None)
|
|
389
|
+
if snap_handle is None:
|
|
390
|
+
raise RuntimeError("Box does not support snapshots")
|
|
391
|
+
snapshots = await snap_handle.list()
|
|
392
|
+
return [{
|
|
393
|
+
"id": str(getattr(s, "id", "")),
|
|
394
|
+
"box_id": box_id,
|
|
395
|
+
"name": str(getattr(s, "name", "")),
|
|
396
|
+
"created_at": int(getattr(s, "created_at", 0)),
|
|
397
|
+
"size_bytes": int(getattr(s, "size_bytes", 0)),
|
|
398
|
+
"guest_disk_bytes": int(getattr(s, "guest_disk_bytes", 0) or 0),
|
|
399
|
+
"container_disk_bytes": int(getattr(s, "container_disk_bytes", 0) or 0),
|
|
400
|
+
} for s in snapshots]
|
|
401
|
+
|
|
402
|
+
async def delete_snapshot(self, box_id, name):
|
|
403
|
+
inner = self._get_box(box_id)
|
|
404
|
+
snap_handle = getattr(inner, "snapshot", None)
|
|
405
|
+
if snap_handle is None:
|
|
406
|
+
raise RuntimeError("Box does not support snapshots")
|
|
407
|
+
await snap_handle.remove(name)
|
|
408
|
+
|
|
409
|
+
async def clone_box(self, box_id, name=None):
|
|
410
|
+
inner = self._get_box(box_id)
|
|
411
|
+
from boxlite import CloneOptions
|
|
412
|
+
cloned = await inner.clone_box(CloneOptions(), name)
|
|
413
|
+
cloned_id = cloned.id()
|
|
414
|
+
self._boxes[cloned_id] = cloned
|
|
415
|
+
info = cloned.info()
|
|
416
|
+
return {
|
|
417
|
+
"id": cloned_id,
|
|
418
|
+
"name": info.name if hasattr(info, "name") else name,
|
|
419
|
+
"status": str(info.state) if hasattr(info, "state") else "stopped",
|
|
420
|
+
"image": str(info.image) if hasattr(info, "image") else "",
|
|
421
|
+
"cpu": int(info.cpus) if hasattr(info, "cpus") else 0,
|
|
422
|
+
"memory_mb": int(info.memory_mib) if hasattr(info, "memory_mib") else 0,
|
|
423
|
+
"created_at": "",
|
|
424
|
+
}
|
|
425
|
+
|
|
301
426
|
async def cleanup(self):
|
|
302
427
|
for box_id in list(self._boxes.keys()):
|
|
303
428
|
try:
|
|
@@ -349,6 +474,18 @@ async def main():
|
|
|
349
474
|
elif action == "stop":
|
|
350
475
|
await bridge.stop(cmd["box_id"])
|
|
351
476
|
result = {}
|
|
477
|
+
elif action == "create_snapshot":
|
|
478
|
+
result = await bridge.create_snapshot(cmd["box_id"], cmd["name"])
|
|
479
|
+
elif action == "restore_snapshot":
|
|
480
|
+
await bridge.restore_snapshot(cmd["box_id"], cmd["name"])
|
|
481
|
+
result = {}
|
|
482
|
+
elif action == "list_snapshots":
|
|
483
|
+
result = await bridge.list_snapshots(cmd["box_id"])
|
|
484
|
+
elif action == "delete_snapshot":
|
|
485
|
+
await bridge.delete_snapshot(cmd["box_id"], cmd["name"])
|
|
486
|
+
result = {}
|
|
487
|
+
elif action == "clone":
|
|
488
|
+
result = await bridge.clone_box(cmd["box_id"], cmd.get("name"))
|
|
352
489
|
elif action == "ping":
|
|
353
490
|
result = {"pong": True}
|
|
354
491
|
else:
|
|
@@ -580,16 +717,19 @@ export function createBoxLiteLocalClient(config) {
|
|
|
580
717
|
});
|
|
581
718
|
},
|
|
582
719
|
async createSnapshot(boxId, name) {
|
|
583
|
-
|
|
720
|
+
return send({ action: 'create_snapshot', box_id: boxId, name });
|
|
584
721
|
},
|
|
585
722
|
async restoreSnapshot(boxId, name) {
|
|
586
|
-
|
|
723
|
+
await send({ action: 'restore_snapshot', box_id: boxId, name });
|
|
587
724
|
},
|
|
588
725
|
async listSnapshots(boxId) {
|
|
589
|
-
|
|
726
|
+
return send({ action: 'list_snapshots', box_id: boxId });
|
|
590
727
|
},
|
|
591
728
|
async deleteSnapshot(boxId, name) {
|
|
592
|
-
|
|
729
|
+
await send({ action: 'delete_snapshot', box_id: boxId, name });
|
|
730
|
+
},
|
|
731
|
+
async cloneBox(boxId, name) {
|
|
732
|
+
return send({ action: 'clone', box_id: boxId, ...(name ? { name } : {}) });
|
|
593
733
|
},
|
|
594
734
|
async dispose() {
|
|
595
735
|
if (process?.stdin?.writable) {
|
package/dist/types.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export interface BoxLiteClient {
|
|
|
41
41
|
restoreSnapshot(boxId: string, name: string): Promise<void>;
|
|
42
42
|
listSnapshots(boxId: string): Promise<BoxLiteSnapshot[]>;
|
|
43
43
|
deleteSnapshot(boxId: string, name: string): Promise<void>;
|
|
44
|
+
cloneBox(boxId: string, name?: string): Promise<BoxLiteBox>;
|
|
44
45
|
/** Dispose of the client (cleanup subprocess, etc.) */
|
|
45
46
|
dispose?(): Promise<void>;
|
|
46
47
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sandbank.dev/boxlite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "BoxLite bare-metal sandbox adapter for Sandbank",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"clean": "rm -rf dist"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@sandbank.dev/core": "^0.3.
|
|
35
|
+
"@sandbank.dev/core": "^0.3.4"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^25.3.0",
|