Johannes Kirschbauer
f82d18d649
API: rename util file to 'type_to_jsonschema'
2025-08-18 19:30:43 +02:00
Johannes Kirschbauer
287a303484
API/schema: make type conversion more strict in terms of undefined fields
2025-08-18 19:29:54 +02:00
Johannes Kirschbauer
1213608f30
API: init support for narrowing union types
...
This allows to relax constraints on functions using overloaded interfaces
I.e. for unifying logic this allows passing 'callable | dict'
Conretely useful for prompt values that are asked on demand in the cli, vs upfront in the ui
2025-08-18 19:28:47 +02:00
Johannes Kirschbauer
2f27b3941e
lib/inventory: limit access to defined keys
2025-08-16 12:56:30 +02:00
Johannes Kirschbauer
9fe457ebd5
lib/clanModules: update nix_models
2025-08-16 11:59:16 +02:00
Johannes Kirschbauer
4a51aa9316
clanModules: remove unused test code
2025-08-16 11:58:55 +02:00
Luis Hebendanz
cc41185f98
Merge pull request 'flake.py: Error messages are now always ClanSelectErrors. Improved error messages' ( #4773 ) from Qubasa/clan-core:improve_select_error into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4773
2025-08-15 06:50:46 +00:00
Qubasa
606aae7212
flake.py: Error messages are now always ClanSelectErrors. Improved error messages
...
flake.py: Fix unbound variable
flake.py: Fix test_create.py test
2025-08-15 13:46:12 +07:00
Jörg Thalheim
fbb28afb2f
clan-cli/flash: make tests runnable in sandbox
2025-08-14 16:23:22 +02:00
hsjobeki
7fdbd2e3eb
Merge pull request 'dirs: remove unused conditional import' ( #4736 ) from import-cleanup-dirs into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4736
2025-08-13 17:46:19 +00:00
hsjobeki
7daebd5ee0
Merge pull request 'networking: remove unused conditional import' ( #4737 ) from networking-import into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4737
2025-08-13 17:46:04 +00:00
hsjobeki
cc8dd0564b
Merge pull request 'askpass: use protocol as interface' ( #4739 ) from interface-askpass into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4739
2025-08-13 17:43:01 +00:00
Johannes Kirschbauer
6fa2a977df
askpass: use protocol as interface
...
Avoids a cyclic dependency on the Remote class
Strips down the dependency closure by explizitly declaring what functions it needs
2025-08-13 19:21:18 +02:00
Johannes Kirschbauer
65dba2508f
dirs: remove unused conditional import
2025-08-13 19:04:32 +02:00
Johannes Kirschbauer
9884643070
networking: remove unused conditional import
2025-08-13 19:03:35 +02:00
Johannes Kirschbauer
5083992f7b
lib: remove unused TYPE_CHECKING
2025-08-13 18:26:57 +02:00
Johannes Kirschbauer
6bd8839128
lib/Remote: Unify class method _parse_ssh_uri with class file
2025-08-13 18:26:28 +02:00
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