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
Johannes Kirschbauer
3ed3cdddc9
Feat(inventory): remove legacy action functions
...
Inventory should only and always be accessed through the inventory store.
Manually reading and writing to the json file is highly insecure
2025-05-27 17:20:04 +02:00
Johannes Kirschbauer
349968c631
Refactor(lib/inventory): move machine actions into clan_lib/machines/actions.py
2025-05-26 17:51:12 +02:00
Johannes Kirschbauer
8aed51c63e
fix(morph/test): temporary workaround for morph test
2025-05-26 16:06:12 +02:00
Johannes Kirschbauer
73d72298cc
chore: add todo comments for template logic in create machine
2025-05-26 16:05:20 +02:00
Johannes Kirschbauer
eadc7997cd
Fix(machines/create): check if machine is already created
2025-05-23 22:31:06 +02:00
Johannes Kirschbauer
43be58c433
Fix(machines/create): always add 'deploy.targetHost'
...
Rationale: not passing the value, is equivalent to deleting a value from the inventory store
See: 'delete_by_path'
deploy.targetHost has a default of null (None)
2025-05-23 22:07:09 +02:00
Qubasa
0ca7600439
clan-cli: Move Machine object to clan_lib
2025-05-22 19:11:19 +02:00
Qubasa
cff5d61f26
clan-cli: Rename Host -> Remote move to clan_lib and mark as frozen
2025-05-22 14:08:27 +02:00
Jörg Thalheim
0a22218026
fix build_host not beeing applied
2025-05-22 00:22:04 +02:00
lassulus
80229c5e77
clan-cli: clan_cli.inventory -> clan_lib.inventory
2025-05-21 12:06:38 +02:00
Johannes Kirschbauer
53dcc4e332
docs: replace outdates reference links to 'guides' in the cli
2025-05-20 18:49:35 +02:00
lassulus
3457542871
clan-cli: clan_cli.templates -> clan_lib.templates
2025-05-20 16:08:02 +02:00
lassulus
00a439999b
clan-cli: clan_cli.async_run -> clan_lib.async_run
2025-05-20 15:05:11 +02:00
lassulus
c55bffa5a5
clan-cli: clan_cli.git -> clan_lib.git
2025-05-20 14:35:14 +02:00
lassulus
33f3f01e56
clan-cli: clan_cli.colors -> clan_lib.colors
2025-05-20 12:52:12 +02:00
lassulus
af69a0d5c3
Merge pull request 'clan-cli: clan_cli.dirs -> clan_lib.dirs' ( #3706 ) from clan_lib_dirs into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3706
2025-05-20 10:34:40 +00:00
lassulus
f5e9f305d0
clan-cli: clan_cli.dirs -> clan_lib.dirs
2025-05-20 12:08:30 +02:00
Jörg Thalheim
56cc7977f3
use absolute path to darwin-rebuild to workaround missing login shells used on macOS
2025-05-20 10:56:44 +02:00
Jörg Thalheim
5195a049a1
add workaround for nix-copy on darwin
2025-05-20 10:56:44 +02:00
Jörg Thalheim
494ea192e7
drop deploy_as_root check
...
We haven't documented macOS support yet, so I don't expect many people
using it yet. Now that the pull request is merged probably most people
starting with darwin-nix will be on that commit anyway, so it's not
worth the check, given that the sudo version doesn't work very well.
2025-05-20 10:38:54 +02:00
lassulus
dc4aae643a
Merge pull request 'clan-cli: clan_cli.cmd -> clan_lib.cmd' ( #3705 ) from clan_lib_cmd into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3705
2025-05-19 17:19:55 +00:00
lassulus
1df5dfe6d3
clan-cli: clan_cli.cmd -> clan_lib.cmd
2025-05-19 19:07:24 +02:00