clan-core/pkgs/clan-cli
DavHau c29e0086a4
All checks were successful
checks-impure / test (pull_request) Successful in 1m24s
checks / test (pull_request) Successful in 2m40s
VMs: persist state folders on host
Done:
- move vm inspect attrs from system.clan.vm.config to clanCore.vm.inspect. This gives us proper name and type checking. everything in `system` is basically freeform, so the previous option definitions were never enforced
- when running VMs, mount state directory from ~/.config/clan/vmstate/{...} from the host to /var/vmstate inside the vm
- create bind mount inside the VM from /var/vmstate/{folder} to / for all folders defined in clanCore.state.<name>.folders

TODOs:
- make sure directories in ~/.config/clan/vmstate never collide (include hash of clan-url, etc.)
- port impure test to python
2024-01-08 18:38:07 +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: persist state folders on host 2024-01-08 18:38:07 +07:00
tests Refactor subprocess to cmd.py part 1. Fixed clan_uri test. 2024-01-02 17:21:06 +01:00
.envrc clan-vm-manager: add nix package 2023-11-23 15:30:44 +01:00
default.nix Removed python deal. 2023-12-30 23:10:43 +01: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