clonebox 0.1.3__tar.gz → 0.1.4__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clonebox
3
- Version: 0.1.3
3
+ Version: 0.1.4
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
- # Run the network fix script
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
- # Run the network fix script
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.3"
7
+ version = "0.1.4"
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"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env python3
2
+ """Entry point for python -m clonebox."""
3
+
4
+ from clonebox.cli import main
5
+
6
+ if __name__ == "__main__":
7
+ main()