lassulus
4dc90b3d39
clan_lib flake: fix handling of maybes and empty sets
2025-08-22 23:44:14 +02:00
Qubasa
84bf9f3bc5
clan_lib: Fix run_machine_install incorrect pesist_state path
2025-08-22 11:21:44 +02:00
Luis Hebendanz
9aa9ba500e
Merge pull request 'clan-lib: Make Flake throw more concrete errors if the flake path is invalid or non existend' ( #4870 ) from Qubasa/clan-core:fix_ui_stuff2 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4870
2025-08-21 22:08:28 +00:00
Qubasa
2934269279
clan-lib: Make Flake throw more concrete errors if the flake path is invalid or non existend
...
treefmt
2025-08-21 23:53:26 +02:00
hsjobeki
9a0ad4182f
Merge pull request 'api/modules: unify frontmatter with module manifest' ( #4847 ) from api-modules-unify into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4847
Reviewed-by: lassulus <clanlol@lassul.us >
2025-08-21 12:56:19 +00:00
Johannes Kirschbauer
1f2f71ab03
lib/modules: make categories class method
2025-08-21 14:41:03 +02:00
Luis Hebendanz
aa840d9758
Merge pull request 'working check_machine_up_to_date' ( #4754 ) from Qubasa/clan-core:build_is_installed_api into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4754
2025-08-20 19:12:53 +00:00
hsjobeki
d1e6da0779
Merge pull request 'api/install: set install date after install' ( #4838 ) from install-done into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4838
Reviewed-by: brianmcgee <brian@bmcgee.ie >
2025-08-20 19:02:13 +00:00
Johannes Kirschbauer
e6981ddd72
cli/install: add --no-persist-state
...
Skip persisting the current date after successful install
This is a workaround due to incomplete test setup - installing a clan machine without having a clan
2025-08-20 20:46:44 +02:00
Qubasa
101c52f7c2
clan_lib: Add 'address' field to LocalHost
2025-08-20 20:28:21 +02:00
Qubasa
ea1e470502
clan_lib: add 'get_metrics' API endpoint
2025-08-20 20:17:14 +02:00
Johannes Kirschbauer
f4d6edc501
api/modules: unify frontmatter with module manifest
2025-08-20 20:15:41 +02:00
Johannes Kirschbauer
cbbc235570
api/modules: rename Frontmatter -> ModulesFrontmatter to make room for other disk templates metadata
2025-08-20 19:46:28 +02:00
Johannes Kirschbauer
05951ffdb9
api/install: set install date after install
2025-08-20 13:39:32 +02:00
DavHau
de0b1b2d70
vars: fix regenerating a specific generator
...
This was broken after re-designing the API -> added a test
2025-08-20 14:49:27 +07:00
DavHau
7b61a668e9
vars: refactor: use Machine objects instead of base_dir strings
...
Replace base_dir string parameters with Machine objects throughout the vars
module for better type safety and consistency.
2025-08-20 11:59:18 +07:00
Brian McGee
d2b94ced5a
feat(api): define list machine options as data class
2025-08-19 16:51:30 +01:00
Brian McGee
9aebf02f05
feat(ui): display machine install state and install button
2025-08-19 15:09:34 +01:00
DavHau
815c6c9438
vars: move generation functions to clan_lib
2025-08-19 18:05:53 +07:00
DavHau
ab274ce932
vars: refactor - remove generate_vars() in favor of run_generators()
...
The motivation is to have one shared entry point for the CLI as well as API/GUI
2025-08-19 16:26:53 +07:00
DavHau
ee87f20471
vars: refactor - remove create_machine_vars_interactive in favor of run_generators
...
The motivation is to create one powerful entrypoint shared by the GUI as well as the CLI in order to not having to maintain too much separate code paths.
As a next step, generate_vars can probably also be removed.
2025-08-19 13:26:38 +07:00
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