Commit Graph

771 Commits

Author SHA1 Message Date
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
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
clan-bot
a650d9c341 Merge pull request 'machines/install: call correct upload function' (#426) from Mic92-main into main 2023-10-14 14:06:59 +00:00
Jörg Thalheim
c82a4df9f9 machines/install: call correct upload function 2023-10-14 15:56:04 +02:00
lassulus
3dad667f97 vms.create: don't generate secrets if clan is remote 2023-10-11 12:01:42 +02: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
Qubasa
9c74c4d661 CLI: Fixed bug in firefox opening addon page because of new profile 2023-10-08 14:39:31 +02:00
DavHau
f885c877bc clan-cli: improve debug logging 2023-10-05 17:37:33 +02:00
DavHau
dbf80595fd zerotier: fix: find free port without collissions 2023-10-05 17:03:01 +02:00
lassulus
4af74ee5a5 machines update: add --target-host 2023-10-04 23:28:15 +02:00
lassulus
3fb36b3ac1 secrets upload: skip on exit 23, cleanup 2023-10-04 21:29:19 +02:00
DavHau
bdd4cfc7d8 clan join: init 2023-10-04 18:53:59 +02:00
clan-bot
a2597717b3 Merge pull request 'webui: drop deadcode' (#405) from Mic92-main into main 2023-10-04 16:20:23 +00:00
Jörg Thalheim
d0c1eddf79 task_manager: log stdout/stderr correctly for processes 2023-10-04 18:17:30 +02:00
Jörg Thalheim
d156218775 drop dead daemonize code 2023-10-04 18:17:30 +02:00
lassulus
bc36ec4c1a vms: support secrets and fix cross compilation 2023-10-04 18:04:27 +02:00
lassulus
fe1a3f0541 task_manager: fix race conditions 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
clan-bot
018590d30b Merge pull request 'improve task manager to report exceptions better' (#402) from Mic92-main into main 2023-10-04 14:51:41 +00:00
Jörg Thalheim
04ba80f614 improve task manager to report exceptions better 2023-10-04 16:49:58 +02:00
lassulus
966a33e711 vm.create: define tmpdir 2023-10-04 16:46:30 +02:00
lassulus
b25af9f0f4 clan_cli: refactor secrets code into Machine class 2023-10-04 16:41:16 +02:00
lassulus
ffb7c63640 clan-cli: add machines install 2023-10-04 16:34:37 +02:00
Jörg Thalheim
80e37483a3 don't register global logger, this interferes currently with that we have in ssh.py 2023-10-04 08:08:06 +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
lassulus
6f7109dab6 clan_cli.secrets.groups: update keys if members are added/removed 2023-10-03 16:15:36 +00:00
Jörg Thalheim
b23d2b65e1 task_manager: return task directly instead of uuid 2023-10-03 17:48:56 +02:00
Jörg Thalheim
ff11340507 move out vm logic out of controller 2023-10-03 17:24:08 +02:00
Qubasa
dbe289f702 nix fmt 2023-10-03 15:22:41 +02:00
Qubasa
8fa241a36b Fixed upload_secrets_test 2023-10-03 15:14:50 +02:00
Qubasa
7dde66c0df Fixed upload_secrets_test 2023-10-03 15:10:22 +02:00
Qubasa
be9d3d43bf Fixing PYTHONPATH in secrets/generate test 2023-10-03 15:01:13 +02:00
Qubasa
cb2815c4d0 nix fmt 2023-10-03 14:39:29 +02:00
Qubasa
d8b69ec883 Added newlines against buffering for log streaming. Fixed cli 2023-10-03 14:38:51 +02:00
Qubasa
d25c3a0940 Added newlines against buffering 2023-10-03 14:36:15 +02:00
Qubasa
2bbed10117 Added better logging 2023-10-03 14:16:07 +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
7e180d2f12 CLI: Restructured TaskManager and log collection 2023-10-03 13:15:01 +02:00
Qubasa
af17c1bd7a Updated to main 2023-10-03 13:12:44 +02:00
Johannes Kirschbauer
c40a7bf3fb smoke check error handling for create vm 2023-10-03 11:43:06 +02:00
Johannes Kirschbauer
3c11eece4d add error handling to endpoint 2023-10-03 11:12:06 +02:00
Qubasa
ce7ae81a35 API: Added endpoint & test for /api/flake/attrs 2023-10-01 12:50:54 +02:00
Johannes Kirschbauer
82db33d047 refine join workflow 2023-09-30 16:00:21 +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