DavHau
da32031eda
api/schema: don't crash on eval error
2023-11-10 14:27:03 +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
4ff9990054
Fixed wrong examples
2023-11-08 21:40:17 +01:00
Qubasa
93c6270386
Added deal contract framework and testing documentation
2023-11-08 19:56:07 +01:00
DavHau
6e281dd7c3
api/machines: better input/output validation
...
Also move contents tof 'config' to the top-level
2023-11-06 17:56:27 +07:00
lassulus
efafe6f0e3
clan-cli secrets: flake_name -> flake_dir
2023-11-05 16:58:48 +01:00
Qubasa
b48cd4e9ae
nix fmt
2023-11-03 22:22:16 +01:00
Qubasa
bdd656cb94
Fixing failing test
2023-11-03 22:21:22 +01:00
Qubasa
a00056824d
API: Added /api/flake/list. Added API grouping and description for better visibility
2023-11-03 22:05:33 +01:00
Qubasa
04b1fc2524
Fixed test_webui only failing in nix_sandbox also fixed test_create_flake
2023-10-29 19:51:35 +01:00
Qubasa
1fef2d1732
Fixed test_webui only failing in nix_sandbox
2023-10-29 19:35:29 +01:00
Johannes Kirschbauer
63a0adb678
format pytest
2023-10-28 18:38:14 +02:00
Qubasa
ff866ca4b2
Fixing test_clan_modules test
2023-10-27 23:39:02 +02:00
Qubasa
e389c7cfe7
Updated to main branch. Removed cluttering asyncio and httpx log messages
2023-10-27 23:36:45 +02:00
Qubasa
1a2e117523
Fixing deadlock
2023-10-27 19:26:03 +02:00
Qubasa
a628934351
Removing find_git_repo
2023-10-27 19:26:03 +02:00
Qubasa
8e8b6530b0
Fixing test_vms_api test
2023-10-27 19:26:03 +02:00
Qubasa
750b4b6b7e
Fixing test_vms_api test
2023-10-27 19:26:03 +02:00
Qubasa
5bd2345bc1
Commit only for debugging Container
2023-10-27 19:26:03 +02:00
Qubasa
768b567f21
nix fmt
2023-10-27 19:26:03 +02:00
Qubasa
916fa8e570
All tests passing babyyy !!
2023-10-27 19:26:03 +02:00
Qubasa
0be3dac289
nix fmt
2023-10-27 19:21:50 +02:00
Qubasa
8ff80b025c
Fixing a multitude of tests
2023-10-27 19:21:50 +02:00
Qubasa
adffdc14f6
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
950808498f
Working test_create_flake
2023-10-27 19:20:17 +02:00
Qubasa
3dc7d12e9c
Added ref to Qubasa-main in template/new-clan/flake.nix
2023-10-27 19:20:17 +02:00
Qubasa
8e9034ad02
Added clanName argument to clan-core.lib.builClan
2023-10-27 19:20:17 +02:00
Qubasa
9c8829c32f
nix fmt
2023-10-27 19:19:45 +02:00
Qubasa
6d0deefa6b
Added ipdb as breakpoint console. Improved logging.
2023-10-27 19:19:45 +02:00
Qubasa
0ab2b853f2
Improved logging messages. Added ClanError if flake create or machine create already exist
2023-10-27 19:18:45 +02:00
Qubasa
d96ea61243
Secrets tests passing. nix fmt doesn't complain
2023-10-27 19:18:45 +02:00
Qubasa
1631dc631b
Improved test logging with frame inspection
2023-10-27 19:18:45 +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
2ad87785c0
Added state directory.
2023-10-27 19:11:27 +02:00
Qubasa
58b54bb9df
API: Added Path validators. api/flake/create inits git repo. Fixed vscode interpreter problem
2023-10-27 19:11:27 +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
5eda240cb2
/api/clan_modules: init
...
- add GET /api/clan_modules entry point returning a list of modules available for import
2023-10-25 17:22:35 +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
607c52149f
PUT /machines/{name}/config; ensure is idempotent
2023-10-24 18:48:14 +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
Qubasa
942aa10a31
API: Added /api/flake/create. Fixed vscode search settings. Moved clan create to clan flake create
2023-10-09 14:01:34 +02:00
DavHau
cc8f99d06c
clan join: test create vm for clan join
...
This adds a vm create test for the `clan join` scenario where:
- there is no local clan to write changes to
- a machine from a remote flake needs to be built and run
- no users and no secrets need to be or can be managed (no flake to write files to)
2023-10-06 19:15:25 +02:00
lassulus
cc7f96961e
tests: add fixtures to test_vms_cli
2023-10-05 15:56:15 +02:00
Jörg Thalheim
5180b6655e
test_secrets_password_store: create gpghome with save permissions
2023-10-04 19:56:18 +02:00
lassulus
7a224c0130
test_vms_api: supply age key for secret creation
2023-10-04 18:13:25 +02:00
lassulus
b46aaac568
tests test_flake: disable dhcp
2023-10-04 17:52:06 +02:00
DavHau
a2f729fb2a
webui: open browser in new window
...
This gets closer to an app like feeling
2023-10-04 17:26:55 +02:00