1
0
forked from clan/clan-core
clan-core/pkgs/clan-cli
DavHau 02dd132e08 vms: init graceful shutdown for GUI
- add python modules for qemu protocols: QMP (hardware interactions) and QGA (guest service interaction)
- refactor state directory: remove name from path (already contains url)
- add impure vm test for basic qmp interaction
- simplify existing vm persistance test (factor out shared code)
- integrate graceful shutdown into GUI

the GUI integration still needs to be improved later:
- add fallback in case system doesn't react to powerdown button
- shutdown GUI switch fails if VM hasn't been started yet, and then remains in a wrong position
2024-02-09 19:55:18 +07:00
..
.vscode API: Added Path validators. api/flake/create inits git repo. Fixed vscode interpreter problem 2023-10-27 19:11:27 +02:00
bin Deleted everything webui 2023-12-14 18:47:14 +01:00
clan_cli vms: init graceful shutdown for GUI 2024-02-09 19:55:18 +07:00
qemu vms: init graceful shutdown for GUI 2024-02-09 19:55:18 +07:00
tests vms: init graceful shutdown for GUI 2024-02-09 19:55:18 +07:00
.envrc nix-direnv-watch-file -> watch-file 2024-01-29 11:02:43 +07:00
default.nix clan-cli: drop unused variables 2024-01-30 10:30:25 +07:00
deps-flake.nix clan-cli: use dependency flake instead of registry 2023-09-06 14:47:28 +02:00
flake-module.nix Removed python deal. 2023-12-30 23:10:43 +01:00
pyproject.toml Removed python deal. 2023-12-30 23:10:43 +01:00
README.md drop references to debug.py 2024-01-02 15:22:36 +01:00
shell.nix Deleted everything webui 2023-12-14 18:47:14 +01:00

clan-cli

The clan-cli contains the command line interface

Hacking on the cli

We recommend setting up direnv to load the developement with nix. If you do not have it set up you can also use nix develop directly like this:

use flake .#clan-cli --builders ''

After you can use the local bin wrapper to test things in the cli:

./bin/clan

Run locally single-threaded for debugging

By default tests run in parallel using pytest-parallel. pytest-parallel however breaks breakpoint(). To disable it, use this:

pytest -n0 -s

You can also run a single test like this:

pytest -n0 -s tests/test_secrets_cli.py::test_users

Run tests in nix container

Run all impure checks

nix run .#impure-checks

Run all checks

nix flake check