Jörg Thalheim
1fa0e72bea
use pathlib everywhere
2024-09-02 18:26:13 +02:00
Jörg Thalheim
e150b37fb8
enable ASYNC, DTZ, YTT and EM lints
2024-09-02 14:07:06 +02:00
Johannes Kirschbauer
742e0a71b5
Clan-core: Rename clanName within Machines
2024-08-06 12:21:46 +02:00
DavHau
4db2e8303f
refactor: rename clanCore -> clan.core
2024-06-18 18:32:40 +07:00
Qubasa
3ed58de082
Fixed missing log.BOTH and error_msg at prev refactors
2024-01-11 21:11:49 +01:00
Qubasa
513f48bab1
cmd.py part 3 refactor
2024-01-10 18:39:19 +01:00
Jörg Thalheim
6f0722c692
modernisation for python 3.11
2023-11-29 13:29:45 +00:00
Jörg Thalheim
f27b1da6b9
drop dependency on fastapi in the cli
2023-11-21 15:09:18 +01:00
lassulus
082d628497
clan_cli: flake_name -> flake_dir
2023-11-15 16:23:28 +01:00
DavHau
d755048dc2
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
33944cf74e
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
2fafc9a38b
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
fc1591a0a8
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
e389c7cfe7
Updated to main branch. Removed cluttering asyncio and httpx log messages
2023-10-27 23:36:45 +02:00
Qubasa
a628934351
Removing find_git_repo
2023-10-27 19:26:03 +02:00
Qubasa
7bbadaa60f
Fixed cyclic dependencie AND swapped pytest-parallel for pytest-xdist to fix deadlock in tests
2023-10-27 19:18:45 +02:00
Qubasa
ecdd4949b7
Added new type FlakeName
2023-10-27 19:18:45 +02:00
Qubasa
f976121fa6
Added flake_name:str argument everywhere, nix fmt doesn't complain anymore
2023-10-27 19:15:40 +02:00
Qubasa
b09448ab6b
Updated to main
2023-10-27 19:15:11 +02:00
DavHau
e6b13fd970
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
cf0953146d
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
177be69eda
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
f1e7495806
machines: add endpoint machines/{name}/ verify
2023-10-24 16:31:37 +01:00
Jörg Thalheim
ded120d065
drop requirement for importing qemu-vm.nix
2023-09-27 14:54:01 +02:00
Jörg Thalheim
e3b2424d9d
make git optional again
2023-09-22 16:07:39 +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
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
DavHau
a1d825d0a0
clan-config: fix: read options from nixosConfigurations instead of nixosModules
2023-09-02 16:35:59 +02:00
DavHau
8ca0a2aee4
clan-config: introduce --machine + add tests
2023-08-30 20:59:26 +02:00
DavHau
b55ceec40c
clan-config: use pinned nixpkgs + fix test flake
2023-08-26 23:33:32 +02:00
DavHau
8c7ee25dc9
webui: fixes for machines endpoint
...
- fix machines settings file location
- raise 404 if machine doesn't exist
- improve machine api test
2023-08-26 14:17:25 +02:00
DavHau
518bf4197f
webui: tests for machine config endpoints
2023-08-26 08:46:53 +02:00
DavHau
868c49acea
webui: implement /api/machines/{name}/config
2023-08-25 23:18:34 +02:00
DavHau
fb76ad45e8
webui: implement /api/machines/{name}/schema
2023-08-25 21:26:30 +02:00