clonebox 0.1.3__tar.gz → 0.1.5__tar.gz
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.
- {clonebox-0.1.3 → clonebox-0.1.5}/PKG-INFO +31 -2
- {clonebox-0.1.3 → clonebox-0.1.5}/README.md +30 -1
- {clonebox-0.1.3 → clonebox-0.1.5}/pyproject.toml +1 -1
- clonebox-0.1.5/src/clonebox/__main__.py +7 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox/cli.py +344 -273
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox/cloner.py +142 -119
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox/detector.py +186 -108
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox.egg-info/PKG-INFO +31 -2
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox.egg-info/SOURCES.txt +1 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/tests/test_cli.py +51 -44
- {clonebox-0.1.3 → clonebox-0.1.5}/tests/test_cloner.py +73 -79
- {clonebox-0.1.3 → clonebox-0.1.5}/tests/test_detector.py +50 -59
- {clonebox-0.1.3 → clonebox-0.1.5}/tests/test_network.py +53 -52
- {clonebox-0.1.3 → clonebox-0.1.5}/LICENSE +0 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/setup.cfg +0 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox/__init__.py +0 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox.egg-info/dependency_links.txt +0 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox.egg-info/entry_points.txt +0 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox.egg-info/requires.txt +0 -0
- {clonebox-0.1.3 → clonebox-0.1.5}/src/clonebox.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: clonebox
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Clone your workstation environment to an isolated VM with selective apps, paths and services
|
|
5
5
|
Author: CloneBox Team
|
|
6
6
|
License: Apache-2.0
|
|
@@ -291,6 +291,29 @@ clonebox detect --yaml --dedupe
|
|
|
291
291
|
clonebox detect --yaml --dedupe -o my-config.yaml
|
|
292
292
|
```
|
|
293
293
|
|
|
294
|
+
### User Session & Networking
|
|
295
|
+
|
|
296
|
+
CloneBox supports creating VMs in user session (no root required) with automatic network fallback:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# Create VM in user session (uses ~/.local/share/libvirt/images)
|
|
300
|
+
clonebox clone . --user
|
|
301
|
+
|
|
302
|
+
# Explicitly use user-mode networking (slirp) - works without libvirt network
|
|
303
|
+
clonebox clone . --user --network user
|
|
304
|
+
|
|
305
|
+
# Force libvirt default network (may fail in user session)
|
|
306
|
+
clonebox clone . --network default
|
|
307
|
+
|
|
308
|
+
# Auto mode (default): tries libvirt network, falls back to user-mode if unavailable
|
|
309
|
+
clonebox clone . --network auto
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Network modes:**
|
|
313
|
+
- `auto` (default): Uses libvirt default network if available, otherwise falls back to user-mode (slirp)
|
|
314
|
+
- `default`: Forces use of libvirt default network
|
|
315
|
+
- `user`: Uses user-mode networking (slirp) - no bridge setup required
|
|
316
|
+
|
|
294
317
|
## Commands Reference
|
|
295
318
|
|
|
296
319
|
| Command | Description |
|
|
@@ -299,6 +322,9 @@ clonebox detect --yaml --dedupe -o my-config.yaml
|
|
|
299
322
|
| `clonebox clone <path>` | Generate `.clonebox.yaml` from path + running processes |
|
|
300
323
|
| `clonebox clone . --run` | Clone and immediately start VM |
|
|
301
324
|
| `clonebox clone . --edit` | Clone, edit config, then create |
|
|
325
|
+
| `clonebox clone . --user` | Clone in user session (no root) |
|
|
326
|
+
| `clonebox clone . --network user` | Use user-mode networking (slirp) |
|
|
327
|
+
| `clonebox clone . --network auto` | Auto-detect network mode (default) |
|
|
302
328
|
| `clonebox start .` | Start VM from `.clonebox.yaml` in current dir |
|
|
303
329
|
| `clonebox start <name>` | Start existing VM by name |
|
|
304
330
|
| `clonebox stop <name>` | Stop a VM (graceful shutdown) |
|
|
@@ -324,7 +350,10 @@ clonebox detect --yaml --dedupe -o my-config.yaml
|
|
|
324
350
|
If you encounter "Network not found" or "network 'default' is not active" errors:
|
|
325
351
|
|
|
326
352
|
```bash
|
|
327
|
-
#
|
|
353
|
+
# Option 1: Use user-mode networking (no setup required)
|
|
354
|
+
clonebox clone . --user --network user
|
|
355
|
+
|
|
356
|
+
# Option 2: Run the network fix script
|
|
328
357
|
./fix-network.sh
|
|
329
358
|
|
|
330
359
|
# Or manually fix:
|
|
@@ -252,6 +252,29 @@ clonebox detect --yaml --dedupe
|
|
|
252
252
|
clonebox detect --yaml --dedupe -o my-config.yaml
|
|
253
253
|
```
|
|
254
254
|
|
|
255
|
+
### User Session & Networking
|
|
256
|
+
|
|
257
|
+
CloneBox supports creating VMs in user session (no root required) with automatic network fallback:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Create VM in user session (uses ~/.local/share/libvirt/images)
|
|
261
|
+
clonebox clone . --user
|
|
262
|
+
|
|
263
|
+
# Explicitly use user-mode networking (slirp) - works without libvirt network
|
|
264
|
+
clonebox clone . --user --network user
|
|
265
|
+
|
|
266
|
+
# Force libvirt default network (may fail in user session)
|
|
267
|
+
clonebox clone . --network default
|
|
268
|
+
|
|
269
|
+
# Auto mode (default): tries libvirt network, falls back to user-mode if unavailable
|
|
270
|
+
clonebox clone . --network auto
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Network modes:**
|
|
274
|
+
- `auto` (default): Uses libvirt default network if available, otherwise falls back to user-mode (slirp)
|
|
275
|
+
- `default`: Forces use of libvirt default network
|
|
276
|
+
- `user`: Uses user-mode networking (slirp) - no bridge setup required
|
|
277
|
+
|
|
255
278
|
## Commands Reference
|
|
256
279
|
|
|
257
280
|
| Command | Description |
|
|
@@ -260,6 +283,9 @@ clonebox detect --yaml --dedupe -o my-config.yaml
|
|
|
260
283
|
| `clonebox clone <path>` | Generate `.clonebox.yaml` from path + running processes |
|
|
261
284
|
| `clonebox clone . --run` | Clone and immediately start VM |
|
|
262
285
|
| `clonebox clone . --edit` | Clone, edit config, then create |
|
|
286
|
+
| `clonebox clone . --user` | Clone in user session (no root) |
|
|
287
|
+
| `clonebox clone . --network user` | Use user-mode networking (slirp) |
|
|
288
|
+
| `clonebox clone . --network auto` | Auto-detect network mode (default) |
|
|
263
289
|
| `clonebox start .` | Start VM from `.clonebox.yaml` in current dir |
|
|
264
290
|
| `clonebox start <name>` | Start existing VM by name |
|
|
265
291
|
| `clonebox stop <name>` | Stop a VM (graceful shutdown) |
|
|
@@ -285,7 +311,10 @@ clonebox detect --yaml --dedupe -o my-config.yaml
|
|
|
285
311
|
If you encounter "Network not found" or "network 'default' is not active" errors:
|
|
286
312
|
|
|
287
313
|
```bash
|
|
288
|
-
#
|
|
314
|
+
# Option 1: Use user-mode networking (no setup required)
|
|
315
|
+
clonebox clone . --user --network user
|
|
316
|
+
|
|
317
|
+
# Option 2: Run the network fix script
|
|
289
318
|
./fix-network.sh
|
|
290
319
|
|
|
291
320
|
# Or manually fix:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "clonebox"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.5"
|
|
8
8
|
description = "Clone your workstation environment to an isolated VM with selective apps, paths and services"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "Apache-2.0"}
|