Commit Graph

2571 Commits

Author SHA1 Message Date
a-kenji
3ad2e045e8 pkgs/clan(templates): Add machine completions
Add machine completions for the `--to-machine` subcommand
2025-07-12 16:02:51 +02:00
hsjobeki
d861fb435b Merge pull request 'cli/create: add interactive name method' (#4310) from getting-started into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4310
2025-07-12 13:27:38 +00:00
Johannes Kirschbauer
135df0dbe6 clan/create: rename path to name argument 2025-07-12 15:16:31 +02:00
Johannes Kirschbauer
c1bad93d36 templates/copy: fix use shutil to copy hidden dot files 2025-07-12 15:08:40 +02:00
Johannes Kirschbauer
f7b39fc941 cli/create: add interactive name method 2025-07-12 14:12:10 +02:00
a-kenji
f97bbc946e pkgs/clan: Fix command typos 2025-07-12 13:54:37 +02:00
Johannes Kirschbauer
4c4a17ed0c cli/templates: init apply disk 2025-07-11 18:53:54 +02:00
Johannes Kirschbauer
78b1931271 lib/disks: add parameter to disable hardware checking 2025-07-11 18:53:54 +02:00
Johannes Kirschbauer
c26809df16 cli/machine/hardware: improve error message 2025-07-11 18:53:54 +02:00
Johannes Kirschbauer
6d90a39747 get_machine: fix error message for not existing machine 2025-07-11 18:53:54 +02:00
Johannes Kirschbauer
615607730d lib/copy: fix, copying the content of tempate directory, not the directory itself 2025-07-11 18:53:54 +02:00
Johannes Kirschbauer
69e432e727 openapi: remove verb {open}, noun {file} 2025-07-10 18:44:34 +02:00
Johannes Kirschbauer
480fdfaf8a API: rename {open_file, open_clan_folder} into {get_system_file, get_clan_folder} 2025-07-10 18:42:03 +02:00
Johannes Kirschbauer
7f3292ceb0 Docs: improve api docs of {open_file, open_clan_folder} 2025-07-10 18:40:48 +02:00
Qubasa
695141b2ae clan-app: Make http server non blocking, add tests for the http server and for cancelling tasks 2025-07-10 17:21:18 +07:00
Qubasa
dbb3e889e1 clan-lib: Fix @API.register_abstract not throwing correct error when called directly without implementation
clan-app: Fix mypy lint

clan-lib: Mark test as with_core
2025-07-10 15:09:51 +07:00
Qubasa
f3873683cc clan_lib: Add test for check_valid_clan function 2025-07-10 14:20:02 +07:00
Qubasa
b1c3acb008 clan-app: Implement open_clan_folder api request 2025-07-10 14:19:19 +07:00
a-kenji
80655edf6a pkgs/clan: Fix template listing 2025-07-09 19:29:15 +02:00
hsjobeki
73c74cb967 Merge pull request 'openapi: add strict top-level checking' (#4280) from api-cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4280
2025-07-09 15:24:45 +00:00
Johannes Kirschbauer
e4de5fe035 openapi: add strict top-level checking 2025-07-09 16:57:06 +02:00
Johannes Kirschbauer
474a0a3f9d api: rename {list_system_services_mdns, list_system_storage_devices} 2025-07-09 16:51:42 +02:00
Jörg Thalheim
f646890bb3 sandbox_exec: refactor to use context manager for cleanup
Changed sandbox_exec_cmd to return a context manager that automatically
handles profile file cleanup. This ensures the temporary profile is
always removed, even if exceptions occur.
2025-07-09 16:27:04 +02:00
lassulus
194647dc71 clan-cli: implement macOS sandboxing for vars generation using sandbox-exec
Adds macOS sandboxing support similar to Linux bubblewrap implementation:
- Created clan_lib/sandbox_exec module with sandbox profile creation
- Implemented file system isolation allowing only tmpdir and nix store access
- Added network restrictions (deny outbound except localhost)
- Integrated sandbox-exec command into vars generation on macOS
- Added comprehensive test suite for macOS sandbox functionality
- Fixed working directory handling for generators writing to CWD
2025-07-09 13:51:18 +02:00
Mic92
6ced2eac05 Merge pull request 'generate_test_vars: fix it' (#4289) from generate_test_vars-fix-it into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4289
2025-07-09 11:49:06 +00:00
kenji
4cb4a1b81c Merge pull request 'pkgs/clan: Fix state list and add regression tests' (#4284) from kenji/ke-test-state-list into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4284
2025-07-09 11:33:59 +00:00
a-kenji
83c3abc225 pkgs/clan: Fix state list and add regression tests
Fix the `clan state list` subcommands, it now correctly propagates the
flake argument.
Also adds regression tests.
2025-07-09 13:22:21 +02:00
Mic92
e12311ff3b Merge pull request 'fix build host with sudo' (#4267) from fix-sudo into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4267
2025-07-09 10:03:01 +00:00
DavHau
8ed2adbc5b generate_test_vars: fix it 2025-07-09 16:20:37 +07:00
kenji
db0f01a20a Merge pull request 'pkgs/clan: Add test for clan flash list' (#4281) from kenji/ke-test-flash into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4281
2025-07-09 09:08:34 +00:00
a-kenji
7ea0c6d2d1 pkgs/clan: Add test for clan flash list
Add a test for `clan flash list`.
This tests the basic functionality, as well as that listing actually
works.
2025-07-09 11:02:24 +02:00
a-kenji
6b4c8fa222 pkgs/clan: Add test for clan templates list
Add a test for clan templates list.
This tests the basic functionality, as well as that listing actually
works.
2025-07-09 10:29:29 +02:00
Johannes Kirschbauer
186ce03e6d api: rename run_blocking_task into run_task_blocking 2025-07-09 09:43:56 +02:00
Johannes Kirschbauer
dcc54185f3 openapi: improve spec compat with swagger.io 2025-07-09 09:40:06 +02:00
hsjobeki
7096ed8959 Merge pull request 'API Improvements' (#4276) from api-cleanup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4276
2025-07-08 21:17:12 +00:00
Johannes Kirschbauer
da04ab63b2 api/docs: sort resources into tree order 2025-07-08 23:06:20 +02:00
kenji
07f30928e6 Merge pull request 'refactor: decouple vars stores from machine instances' (#4269) from davhau/vars-new into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4269
2025-07-08 18:11:03 +00:00
Johannes Kirschbauer
4beff2e023 api: rename 'run_machine_deploy' into 'run_machine_update' 2025-07-08 17:21:18 +02:00
Johannes Kirschbauer
dbafd01482 api/disk_schema: make getter consistent 2025-07-08 17:20:59 +02:00
Johannes Kirschbauer
3e295869cc api/disk_schema: make getter consistent 2025-07-08 16:31:51 +02:00
a-kenji
5c960cfdab pkgs/cli: Add regression test for clan show 2025-07-08 15:55:01 +02:00
hsjobeki
e10b2fd954 Merge pull request 'Templates/default: move clan configuration into its own file' (#4262) from templates into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4262
2025-07-08 13:46:19 +00:00
Johannes Kirschbauer
43cda7d13a Tests: dont expect a hardware-configuration.nix file 2025-07-08 15:34:16 +02:00
Johannes Kirschbauer
1a861cd889 tests: dont expect .clan-flake file, it is not strictly required 2025-07-08 14:58:24 +02:00
Jörg Thalheim
a1ff5e3e5e fix build host with sudo 2025-07-08 14:25:44 +02:00
DavHau
0aa6288edb refactor: decouple vars stores from machine instances
Stores now get machine context from generator objects instead of storing
it internally. This enables future machine-independent generators and
reduces coupling.

- StoreBase.__init__ only takes flake parameter
- Store methods receive machine as explicit parameter
- Fixed all callers to pass machine context
2025-07-08 18:30:16 +07:00
Qubasa
0c54a0f6de clan-app: Fix delete tasks
clan-app: Fix delete tasks
2025-07-08 18:11:59 +07:00
Qubasa
60263bac8a clan-cli: Add verb 'cancel' to openapi 2025-07-08 17:43:14 +07:00
Qubasa
d8251dce2b clan-app: Generalize architecture for API requests 2025-07-08 17:32:59 +07:00
Qubasa
389e726521 clan-app: Add plug and play middleware interface 2025-07-08 17:32:59 +07:00