Qubasa
0133ccd5f7
Fixed missing log.BOTH and error_msg at prev refactors
2024-01-11 21:11:49 +01:00
Qubasa
2ae439ec52
cmd.py refactor part 4
2024-01-11 21:11:49 +01:00
Jörg Thalheim
f6b6229f78
schema: set also clanName
...
this is usually set by buildClan
2024-01-11 17:41:41 +01:00
Qubasa
b36d0be524
cmd.py part 3 refactor
2024-01-10 18:39:19 +01:00
Qubasa
ba05589af2
Refactor subprocess to cmd.py part 2
2024-01-10 12:11:29 +01:00
Jörg Thalheim
4fd84d1c48
disallow variable shadowing
2023-11-30 14:31:37 +01:00
Jörg Thalheim
f1b223d0a1
modernisation for python 3.11
2023-11-29 13:29:45 +00:00
Jörg Thalheim
26e3e3872c
enable more linting
2023-11-29 13:29:45 +00:00
Jörg Thalheim
8759e5a049
drop dependency on fastapi in the cli
2023-11-21 15:09:18 +01:00
lassulus
1ea13646ea
clan_cli: flake_name -> flake_dir
2023-11-15 16:23:28 +01:00
DavHau
6a52c5f15b
api/machines: allow config verification on imaginary machines
...
Machines do not need to exist in order to verify their configuration.
This allows verifying a config before creating an actual machine with it.
2023-11-13 21:24:05 +07:00
DavHau
55a1df7868
api/machines: verify config by evaluating the .vm output
...
This fixes the problem where fileSystems were missing, or boot.loader was not set.
SInce we want VMs anyways for now, this strategy aligns well
2023-11-13 20:50:11 +07:00
DavHau
1652b5c27b
api/machines: init put_machine replacing create_machine and set_machine_config
...
This allows creating and configuring a machine in one single step.
2023-11-13 20:25:52 +07:00
DavHau
39607a0925
api/schema: return list of missing modules
2023-11-10 15:07:15 +07:00
DavHau
97ea9312ac
api/schema: don't crash on eval error
2023-11-10 14:27:03 +07:00
DavHau
2a6e329e40
api/schema: get schema without having a machine
...
Also done:
- add @pytest.mark.with_core indicating that a test depends on clan-core and cannot be cached
- separate unit tests into two derivations, ones that can be cached and ones that cannot.
- fix frontend typescript code
2023-11-09 15:30:25 +07:00
Qubasa
00ef406713
Updated to main branch. Removed cluttering asyncio and httpx log messages
2023-10-27 23:36:45 +02:00
Qubasa
f9b1a8fa89
Removing find_git_repo
2023-10-27 19:26:03 +02:00
Qubasa
efd201c7c5
nix fmt
2023-10-27 19:26:03 +02:00
Qubasa
d1c35301e3
Added repro_env_break debugging command. This spawn a terminal inside the temp home folder with the same environment as the python test
2023-10-27 19:20:17 +02:00
Qubasa
59393bb35e
Working test_create_flake
2023-10-27 19:20:17 +02:00
Qubasa
d02acbe04b
nix fmt
2023-10-27 19:19:45 +02:00
Qubasa
8cc1c2c4bd
Fixed cyclic dependencie AND swapped pytest-parallel for pytest-xdist to fix deadlock in tests
2023-10-27 19:18:45 +02:00
Qubasa
2ca54afe7f
Added new type FlakeName
2023-10-27 19:18:45 +02:00
Qubasa
32e60f5adc
Added flake_name:str argument everywhere, nix fmt doesn't complain anymore
2023-10-27 19:15:40 +02:00
Qubasa
fdcd7ad1d9
Updated to main
2023-10-27 19:15:11 +02:00
DavHau
0e5c7d2d13
api/machines: split off config validation into separate endpoint
...
- This speeds up PUT /machines{name}/config as it doesn't do the expensive check anymore
- instead use PUT /machines/{name}/verify which allows a dry-run evaluation of a config which is passed without writing it to disk
2023-10-25 17:48:37 +01:00
DavHau
bf176ad277
api/machines: allow importing extra modules
...
- add top-level option `clanImports` to clanCore
- clanImports can be set and checked as any other option
- buildClan resolves the clanImports from the settings.json before calling evalModules to prevent infinite recursions
- new endpoint PUT machines/{name}/schema to allow getting the schema for a specific list of imports
- to retrieve the currently imported modules, cimply do a GET or PU on machines/{name}/config which will return `clanImports` as part of the config
Still missing: get list of available modules
2023-10-25 16:36:30 +01:00
DavHau
588bde069f
PUT api/machines/{name}/config: ensure only valid config is ever written
...
- add CLAN_MACHINE_SETTINGS_FILE variable to temporarily override the machine settings file
- do a dry-run evaluation first with the new config before persisting it.
2023-10-24 18:40:48 +01:00
DavHau
a539fb6dc6
machines: add endpoint machines/{name}/ verify
2023-10-24 16:31:37 +01:00
DavHau
cd940abc4e
clan config: refactor - reorder functions
2023-10-24 15:27:19 +01:00
Jörg Thalheim
2f73e6b472
drop requirement for importing qemu-vm.nix
2023-09-27 14:54:01 +02:00
clan-bot
677494811b
Merge pull request 'clan config: print command in more instances' ( #342 ) from Mic92-docs into main
2023-09-26 12:13:09 +00:00
Jörg Thalheim
f85fdf678d
clan config: print command in more instances
2023-09-26 14:10:52 +02:00
clan-bot
da1927581d
Merge pull request 'unpin nix-fast-build' ( #341 ) from Mic92-docs into main
2023-09-26 12:02:05 +00:00
Jörg Thalheim
29a48725ef
clan config: print command on error
2023-09-26 14:00:20 +02:00
DavHau
3783359f08
clan config: support new types nullOr and passwdEntry
2023-09-24 14:24:48 +01:00
DavHau
ec70b34470
clan config: match dynamic options containing <name>
2023-09-24 13:04:37 +01:00
Jörg Thalheim
ea829a76cd
config: git commit synched file
2023-09-22 16:55:51 +02:00
Jörg Thalheim
fa9e8d757d
add show-trace option that is disabled by default
2023-09-22 16:07:39 +02:00
Jörg Thalheim
e3b2424d9d
make git optional again
2023-09-22 16:07:39 +02:00
Jörg Thalheim
d8bde6ec8e
fix reading options
2023-09-22 14:54:44 +02:00
Jörg Thalheim
660dafd412
config: read nixos option correctly
2023-09-22 14:38:23 +02:00
Jörg Thalheim
51e8da2a74
config: get rid of impure eval
2023-09-22 14:32:38 +02:00
DavHau
6a359c0a2f
clan-cli: add git.commit_file() to auto commit files if inside a git
...
- commit only if inside a git repo
- commit only the specified file and nothing else
- auto-generate commit message if not specified
2023-09-21 14:07:54 +02:00
DavHau
c11f73c4d0
clan config: fix settings file location
2023-09-19 15:12:29 +02:00
DavHau
9b6fafcb2d
clan config: re-enable clan config
2023-09-19 15:12:29 +02:00
Jörg Thalheim
a65413c98e
use experimental flags everywhere
2023-09-19 13:12:10 +02:00
Jörg Thalheim
9b7b6996d6
nix_eval: add --json by default
2023-09-15 13:50:31 +02:00
Jörg Thalheim
3bdd3af248
cli: fix nixpkgs unfree import
2023-09-06 17:37:41 +02:00