Johannes Kirschbauer
6d85cc0ff2
Clan_lib: add filtering by tag to list API
2025-07-04 09:48:21 +02:00
Johannes Kirschbauer
10fbae0c15
cli: move some references to duplicate list machines
2025-07-04 09:32:43 +02:00
lassulus
40065c7a00
refactor: remove deployment.json and use direct selectors
...
- Remove deployment.json file generation from outputs.nix
- Add throw for deprecated deployment.file usage with upgrade instructions
- Remove vars data from deployment.data
- Update Machine class to use direct select() calls instead of deployment property
- Update all deployment property accesses to use direct selectors
- Add precaching for frequently accessed values in update.py:
- Module paths for facts and vars
- Deployment settings (requireExplicitUpdate, nixosMobileWorkaround)
- Services and generators data
- Secret upload locations
- This removes unnecessary JSON serialization and makes the code more composable
2025-07-02 20:56:23 +02:00
Johannes Kirschbauer
9aa7be3aba
machines/update: queue update only for machines_to_update
2025-07-02 19:05:37 +02:00
Johannes Kirschbauer
4c2bb0791d
clan.deployment: unify deprecated option
2025-07-02 18:37:29 +02:00
Johannes Kirschbauer
2b0d7e345f
machines/create: fix handle defaults
2025-06-27 20:28:11 +02:00
a-kenji
3e70e30b6b
pkgs/clan: Add machine validator with suggestion logic
...
Add machine validator with suggestion logic to:
- `clan machines update`
- `clan machines delete`
- `clan machines update-hardware-config`
2025-06-27 12:32:36 +02:00
Qubasa
60d2837ddd
clan-cli: Remove unecessary nix_options args from functions
2025-06-24 19:07:41 +02:00
Qubasa
d14a5d34fd
clan-lib: Move nix_options from Machine class to Flake class
2025-06-24 19:03:20 +02:00
Qubasa
e79b926566
clan-cli: Move update.py to clan_lib/machines
2025-06-24 12:17:21 +02:00
Qubasa
29a5fbed53
clan-cli: Move delete.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
e53a490edc
clan-cli: Move list.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
48ea1c757f
clan-cli: Move morph.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
kenji
f288b8c1ef
Merge pull request 'pkgs/clan: Add --tags support to clan machines update' ( #4061 ) from kenji/pkgs/clan: Add --tags support to clan machines update into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4061
2025-06-24 09:43:35 +00:00
Luis Hebendanz
1b6a3ba335
Merge pull request 'clan-cli: Move hardware.py to clan_lib/machines part2' ( #4066 ) from Qubasa/clan-core:move_to_clan_lib2 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4066
2025-06-24 09:19:41 +00:00
Qubasa
b26aad3619
clan-cli: Move hardware.py to clan_lib/machines
2025-06-24 11:07:37 +02:00
Qubasa
7eb90acfc4
clan-cli: Add missining propagation of host-key-check in machines.update
2025-06-24 10:35:53 +02:00
a-kenji
5b04cfc06a
pkgs/clan: Add --tags support to clan machines update
2025-06-23 23:51:43 +02:00
Qubasa
046d13bd50
clan-lib: Rename parse_deployment_address to parse_ssh_uri
2025-06-23 15:32:35 +02:00
Qubasa
217f55adec
clan-cli: Simplify HostKeyCheck to a Literal instead of an Enum
2025-06-23 15:08:44 +02:00
Qubasa
fae4d39a10
clan-lib: machines.py: Remove host_key attribute
2025-06-19 17:55:56 +02:00
Qubasa
cce4d561e4
clan-lib: machines.py: Remove private_key attribute
2025-06-19 17:28:50 +02:00
a-kenji
c83d3a595e
pkgs/clan: Improve machines list tests
...
Extend and Improve `clan machines list` testing as well as the `--tags`
subcommand.
2025-06-18 16:03:02 +02:00
Michael Hoang
84e280e32d
cli: fix machines update failing with protocol mismatch on macOS
2025-06-18 16:30:11 +07:00
Jörg Thalheim
5dbe44bb43
machines: fix remote-program for darwin nix copy
...
MacOS doesn't come with a proper login shell for ssh and therefore
doesn't have nix in $PATH as it doesn't source /etc/profile.
This restores the remote-program parameter that was accidentally
removed in commit cff5d61f26 .
2025-06-17 16:30:04 +02:00
Qubasa
2c57c35517
clan-lib: Refactor remote host handling to function parameters
...
This refactoring improves the separation of concerns by moving remote host creation logic from the Machine class to the calling functions, making the code more flexible and testable.
2025-06-17 14:04:22 +02:00
Qubasa
fa4160dda1
clan-lib: Make Remote overridable over function arguments
2025-06-17 13:53:43 +02:00
Jörg Thalheim
7ce65f429c
install: correctly pass nix options to nixos-anywhere
...
The nix_options were collected but never passed to the nixos-anywhere command.
This fix adds the options to the command before the target host argument.
2025-06-17 12:43:20 +02:00
hsjobeki
f0e3b753dc
Merge pull request 'Feat(machine/templates): simplify template args for machines command' ( #3937 ) from hsjobeki/template-ux into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3937
2025-06-14 08:25:28 +00:00
Qubasa
2540215f2e
clan-cli: init machine from inventory
2025-06-12 16:36:55 +02:00
Johannes Kirschbauer
0b6c30e8ad
Fix(morph): ensure machine dir exists
2025-06-11 20:38:15 +02:00
Johannes Kirschbauer
acc41be9b3
doc(cli/templates): improve help description
2025-06-11 17:00:10 +02:00
Johannes Kirschbauer
e80a3fd2fc
fix(tess/morph): skip creating existing machine
2025-06-11 17:00:10 +02:00
Johannes Kirschbauer
b6a0c6cb38
Docs(cli/machines): improve description of '--template'
2025-06-11 17:00:10 +02:00
Johannes Kirschbauer
b80395af44
Chore(machine/templates): simplify template args for machines command
2025-06-11 17:00:08 +02:00
Johannes Kirschbauer
8ca3dc36d7
Chore(templates): move helper functions into a util file
2025-06-10 19:38:10 +02:00
Qubasa
65a0843de7
clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser
2025-06-09 19:27:01 +02:00
hsjobeki
1af826e0df
Merge pull request 'Refactor(api/update_machine): rename to set_machine; use name, flake' ( #3899 ) from api-narrowing into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3899
2025-06-09 11:55:28 +00:00
Johannes Kirschbauer
665b2095b2
Refactor(cli/list_machines): rename to list_full_machines
...
This makes it clear that this should be used with care
It is potentially more expensive to create the full object, therefore it should be discouraged by its longer name
This listing is implemented based on the basic listing, where each item is turned into the bigger machine class
2025-06-09 13:40:57 +02:00
Johannes Kirschbauer
0b6bc81efe
Refactor(api/list_machines): rename from list_inv_machines
2025-06-09 13:33:25 +02:00
lassulus
2460ac970f
Revert "clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser"
...
This reverts commit 2ca3b5d698 .
2025-06-09 11:28:15 +02:00
hsjobeki
2a576a604b
Merge pull request 'Chore(api): narrow down get_machine' ( #3863 ) from api-narrowing into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3863
2025-06-09 08:59:36 +00:00
Qubasa
2ca3b5d698
clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser
2025-06-07 00:51:24 +02:00
Jörg Thalheim
9fecd0cc47
cli: fix buildHost source upload destination
...
Sources were being uploaded to target host instead of build host,
causing nixos-rebuild to fail with "no such file or directory".
2025-06-06 14:51:12 +02:00
Johannes Kirschbauer
8261ff09cc
Chore(api): narrow down get_machine
...
Dont require the user to pass the machine into the same getter function
The workflow contradicts itself here
2025-06-04 20:38:45 +02:00
Jörg Thalheim
e0ebea7eb8
update/upload_sources remove ssh_control_master again from upload_sources
2025-05-28 16:21:30 +02:00
Jörg Thalheim
f06313d5b2
add sudo_askpass_proxy
2025-05-28 16:21:30 +02:00
Johannes Kirschbauer
19dbc0ff73
chore(nix_models): migrate import to use exported clan models
2025-05-28 14:03:22 +02:00
Johannes Kirschbauer
dac30c4dd7
refactor(persist/utils): rename apply_patch to 'set_value_by_path'
2025-05-28 10:16:48 +02:00
Johannes Kirschbauer
ec6fddce03
Fix(test): migrate machine cli command tests to use the new functions
2025-05-27 17:57:08 +02:00