Qubasa
af3f04736b
Improved logging messages. Added ClanError if flake create or machine create already exist
2023-10-27 19:18:45 +02:00
Qubasa
8482bc79f6
Secrets tests passing. nix fmt doesn't complain
2023-10-27 19:18:45 +02:00
Qubasa
03cabda2d4
Improved test logging with frame inspection
2023-10-27 19:18: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
711c70d1f0
Added state directory.
2023-10-27 19:11:27 +02:00
Qubasa
fa5f39f226
API: Added Path validators. api/flake/create inits git repo. Fixed vscode interpreter problem
2023-10-27 19:11:27 +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
25708d1a1a
/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
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
9f6e01671f
PUT /machines/{name}/config; ensure is idempotent
2023-10-24 18:48:14 +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
Qubasa
b49433958b
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
ceb6bdd474
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
bdb0a6484a
tests: add fixtures to test_vms_cli
2023-10-05 15:56:15 +02:00
Jörg Thalheim
41106a67e2
test_secrets_password_store: create gpghome with save permissions
2023-10-04 19:56:18 +02:00
lassulus
99433ac290
test_vms_api: supply age key for secret creation
2023-10-04 18:13:25 +02:00
lassulus
e8c9f27515
tests test_flake: disable dhcp
2023-10-04 17:52:06 +02:00
DavHau
544322ee6e
webui: open browser in new window
...
This gets closer to an app like feeling
2023-10-04 17:26:55 +02:00
Jörg Thalheim
04ba80f614
improve task manager to report exceptions better
2023-10-04 16:49:58 +02:00
Jörg Thalheim
1575e4a391
rename test_basic to test_create_flake
2023-10-04 11:01:12 +02:00
Jörg Thalheim
4abb7d7bf0
make vm test also work in ci
2023-10-03 18:50:14 +02:00
Jörg Thalheim
b2ef8bf1a3
also test that updating a group works
2023-10-03 16:15:36 +00:00
Jörg Thalheim
2502422bc1
add test for vm cli
2023-10-03 17:24:08 +02:00
Jörg Thalheim
361ad990ab
clan-cli/tests: skip tests if has no /dev/kvm
2023-10-03 17:24:08 +02:00
Qubasa
cb2815c4d0
nix fmt
2023-10-03 14:39:29 +02:00
Qubasa
8e98c50ccd
Merge branch 'Qubasa-main' of git.clan.lol:clan/clan-core
2023-10-03 13:24:31 +02:00
Qubasa
da72ec18ad
API: Added test for inspect_flake
2023-10-03 13:19:20 +02:00
Qubasa
c1c68ee1d8
Fixed failing tests
2023-10-03 13:15:01 +02:00
Qubasa
167533d9ee
API: Added test for inspect_flake
2023-10-03 12:50:47 +02:00
Qubasa
653ad99b22
Fixed failing tests
2023-10-03 11:51:31 +02:00
Johannes Kirschbauer
16f44900a3
Beyoncé rule
2023-10-03 11:21:34 +02:00
Qubasa
ce7ae81a35
API: Added endpoint & test for /api/flake/attrs
2023-10-01 12:50:54 +02:00
Qubasa
f224deace9
API: Improved vm_status and added some tests. Skip vm tests in VM
2023-09-30 11:08:42 +02:00
lassulus
6e3f2b1ce2
tests: add test_secrets_password_store
2023-09-29 20:05:35 +02:00
lassulus
89b7ffce6c
clan-cli secrets upload: secrets are populated into tmpdir
2023-09-29 20:05:35 +02:00
Jörg Thalheim
739d3b3578
zerotier: document mdns ports; drop duplicate udp firewall rules
...
the nixos module already opens the zerotier port
2023-09-28 17:58:42 +02:00
Jörg Thalheim
be6592c82c
also generate zerotier secret for vm
2023-09-28 17:57:44 +02:00
Jörg Thalheim
2375bafbae
pregenerate ssh_host keys for tests
...
Then we are free to choose where to put the ssh config
2023-09-28 16:31:59 +02:00
Jörg Thalheim
85f7e2f2cd
clanInternals.machines: expose information as json
2023-09-27 18:42:49 +02:00
Jörg Thalheim
59f0a912ea
fix clan-pytest build
2023-09-27 16:20:05 +02:00
Jörg Thalheim
e970dcb658
move temporary directory to .direnv
2023-09-27 16:13:04 +02:00
Jörg Thalheim
2f73e6b472
drop requirement for importing qemu-vm.nix
2023-09-27 14:54:01 +02:00
Jörg Thalheim
4317e681cf
cli: fix remaining typing errors
2023-09-27 09:47:50 +00:00
Jörg Thalheim
b343650771
make vm terminate after boot
2023-09-27 09:47:50 +00:00
Qubasa
08eab785c6
Completely working log streaming
2023-09-27 09:47:50 +00:00
Qubasa
8d390af122
Working log streaming
2023-09-27 09:47:50 +00:00
Qubasa
98028d121f
Working log streaming
2023-09-27 09:47:50 +00:00