Commit Graph

622 Commits

Author SHA1 Message Date
DavHau
72d3ad09a4 vars: refactor - pass Machine objects to run_generators 2025-08-13 12:45:47 +00:00
DavHau
a535450ec0 vars: refactor - unify get_generators and _get_closure 2025-08-13 12:45:47 +00:00
Mic92
d3b423328f Merge pull request 'Add wireguard service module' (#3354) from init-wireguard-service into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3354
2025-08-13 10:55:48 +00:00
DavHau
adccef4757 install: fix torify package not available 2025-08-13 12:04:14 +07:00
lassulus
a50b25eea2 clan-cli network: refactor, use new networking in ssh and install commands 2025-08-13 12:04:14 +07:00
lassulus
017989841d refactor: remove DeployInfo class and use Network/Remote directly
- Remove DeployInfo class entirely, replacing with direct Remote usage
- Update parse_qr_json_to_networks to return dict with network and remote
- Refactor all code to work with Remote lists instead of DeployInfo
- Add get_remote_for_machine context manager for network connections
- Update tests to use new Network/Remote structure
2025-08-13 12:04:14 +07:00
lassulus
c14a5fcc69 refactor: move ssh/upload.py from cli to lib
Move the upload module to clan_lib to better organize SSH-related
utilities. Updated all imports across the codebase.
2025-08-13 12:04:14 +07:00
Jörg Thalheim
88871bea69 clan_lib/flash: remove trailing whitespace 2025-08-12 17:14:52 +02:00
Johannes Kirschbauer
9880847d43 install: add progress to ui 2025-08-12 16:35:34 +02:00
a-kenji
8aa88b22ab pkgs/clan/lib(install): implement separate nixos-anywhere install phases
Split the `nixos-anywhere` phases into it's components,
so we provide the user with better feedback.

Closes: #4682
2025-08-12 16:35:34 +02:00
hsjobeki
2adf65482d Merge pull request 'feat(api): add list_inventory_tags' (#4692) from feat/machine-tags-writeability into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4692
2025-08-12 11:33:49 +00:00
Johannes Kirschbauer
f74e444120 api/tags: add docs 2025-08-12 13:19:11 +02:00
Johannes Kirschbauer
0ef57bfc8e api/tags: add init.py for pytest 2025-08-12 13:07:36 +02:00
Johannes Kirschbauer
a9d1ff83f2 api/tags: split list into options and non-configurable tags 2025-08-12 12:41:15 +02:00
DavHau
89cb22147c Revert "machines update: support --target-host localhost"
This reverts commit a2818d4946cc66a08b9dd7a1ab95dc48ea708fe3.

Setting `--target-host localhost` breaks with:
sudo: no askpass program specified, try setting SUDO_ASKPASS
2025-08-12 17:39:40 +07:00
Johannes Kirschbauer
cbd3b08296 api/tags: add from all possible sources 2025-08-12 11:05:10 +01:00
Brian McGee
2608bee30a feat(api): add list_inventory_tags 2025-08-12 11:05:10 +01:00
Luis Hebendanz
9737ce51b1 Merge pull request 'Fix clan select hiding error messages' (#4704) from Qubasa/clan-core:clan_select_error_msg into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4704
2025-08-12 07:46:35 +00:00
Qubasa
3c1c6c1942 flake.py: Add a custom error message for missing clan export
test_clan_create_api: Fix check for SelectCmdError
2025-08-12 14:41:26 +07:00
Qubasa
0904c9da60 flake.py: Don't hide error messages 2025-08-12 14:18:19 +07:00
Luis Hebendanz
73e03c21f7 Merge pull request 'templates: Fix missing export of clan = clan.config;' (#4703) from Qubasa/clan-core:fix_templates2 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4703
2025-08-12 07:05:07 +00:00
Qubasa
743f05a1b5 templates: Fix missing export of clan = clan.config; 2025-08-12 13:50:09 +07:00
DavHau
26559ff88b Merge pull request 'machines update: support --target-host localhost' (#4623) from jfly/clan-core:localhost-as-target-host-without-ssh into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4623
2025-08-12 05:10:53 +00:00
DavHau
df90fb20a0 clan-lib/hosts: reintroduce test for localhost 2025-08-12 10:18:55 +07:00
Johannes Kirschbauer
4f29f2e2ca api/machines: add tests for tags readOnly 2025-08-11 18:07:02 +02:00
Johannes Kirschbauer
1009c61c9f api/machines: use get_value_by_path utility for nested dict access 2025-08-11 17:49:25 +02:00
Johannes Kirschbauer
9f48b7a2fa inventory: rename 'unmerge-lists' to 'list_difference' 2025-08-11 17:35:31 +02:00
Johannes Kirschbauer
b17466c84b api/machines: expose readonly tags 2025-08-11 17:30:35 +02:00
Johannes Kirschbauer
54797dd5f5 ui/install: hook up notification bus 2025-08-11 15:30:55 +02:00
Johannes Kirschbauer
bb6fab1168 api: init notification queue 2025-08-11 15:24:41 +02:00
Jörg Thalheim
5ab3a164c8 install: precache vars 2025-08-11 11:51:06 +02:00
hsjobeki
469c6ba42d Merge pull request 'UI: Resolve some more install blockers' (#4657) from feat-ui into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4657
2025-08-09 18:12:35 +00:00
Johannes Kirschbauer
034982bff2 API/modules: init create_service_instance endpoint 2025-08-09 19:56:04 +02:00
a-kenji
e5bea3d49a pkgs/clan/lib(directory): Add API function to query the configured directory
Similar to the implementation in #4526
Co-authored-by: Mayeu <m@mayeu.me>
2025-08-09 15:39:43 +02:00
Kenji Berthold
29ec9dbe26 Merge pull request 'pkgs/clan/lib: Handle basecase of directory functionality' (#4654) from kenji/ke-add-directory into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4654
2025-08-09 11:12:23 +00:00
a-kenji
a1874c940e pkgs/cli/lib: Fix api test 2025-08-09 12:48:13 +02:00
a-kenji
d115705cb4 pkgs/clan/lib/directory: Improve error message formatting 2025-08-09 12:32:18 +02:00
a-kenji
eceb6eb999 pkgs/clan/lib: Handle basecase of directory functionality 2025-08-09 12:30:28 +02:00
Johannes Kirschbauer
628e45293e Update: avoid mutating and shadowing arguments 2025-08-09 11:18:50 +02:00
Johannes Kirschbauer
1df9b6e97d Remote: set default for commance_prefix 2025-08-08 22:48:19 +02:00
Johannes Kirschbauer
58fa7ac32b Host: convert to proctocol to avoid forced inheritance 2025-08-08 22:33:05 +02:00
Johannes Kirschbauer
3cf8f605d5 flash: default keymap and lang 2025-08-08 20:56:45 +02:00
Johannes Kirschbauer
cc07e0ea44 update hw config: add nixos-facter as default 2025-08-08 20:56:15 +02:00
Johannes Kirschbauer
ccb9340478 Host: add None as default to command_prefix 2025-08-08 20:55:54 +02:00
Jeremy Fleischman
1129862293 machines update: support --target-host localhost
This is basically
<af7ce9b8ed>,
but with support for deploying locally.

This failed to install secrets to `/var/lib/sops-nix`. That's because
our `LocalHost` didn't have support for sudo yet. I fixed that.
2025-08-08 12:42:26 +00:00
hsjobeki
c0f2bcf751 Merge pull request 'API/Machine: refactor api returns readonly' (#4627) from readonly into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4627
2025-08-08 08:54:49 +00:00
Johannes Kirschbauer
20c23fa64b API/Machine: refactor api returns readonly 2025-08-08 10:44:32 +02:00
hsjobeki
d0ebc75135 Merge pull request 'ui/install: hook up stepper store and api' (#4626) from install-ui into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4626
2025-08-07 14:21:21 +00:00
Johannes Kirschbauer
40503306d1 cli/flash: fixup types 2025-08-07 16:09:36 +02:00
Johannes Kirschbauer
915178765b Vars: rename classmethod to get_machine_generators 2025-08-07 15:31:17 +02:00