Jörg Thalheim
0ec2c32ff8
ruff: apply automatic unsafe fixes
2025-08-25 11:34:41 +02:00
Jörg Thalheim
ea2d6aab65
ruff: apply automatic fixes
2025-08-25 11:34:41 +02: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
DavHau
068b5d4c1e
install: fix error message when target host not specified
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
Qubasa
62a3503987
clan-lib: Always set a static private key for nixos-anywhere, to make --phases work properly
2025-07-31 17:06:00 +07:00
Kenji Berthold
6e904de655
Merge pull request 'pkgs/cli: machines install handle invalid character' ( #4488 ) from kenji/ke-clan-machines-install-prompt into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4488
2025-07-26 13:29:10 +00:00
lassulus
1a5b77d47a
refactor: generalize Tor support to SOCKS5 proxy in network module
...
- Replace Tor-specific implementation with generic SOCKS5 proxy support
- Change `tor_socks` boolean to `socks_port` and `socks_wrapper` parameters
- Move Tor functionality to clan_lib.network.tor submodule
- Add connection context managers to NetworkTechnologyBase
- Improve network abstraction with proper remote() and connection() methods
- Update all callers to use new SOCKS5 proxy interface
- Fix network ping command to properly handle connection contexts
This allows for more flexible proxy configurations beyond just Tor,
while maintaining backward compatibility for Tor usage.
2025-07-24 22:26:44 +02:00
a-kenji
6cea3e6c60
pkgs/cli: machines install handle invalid character
...
Re-request prompt, if invalid character is specified.
None is still treated as no as per CLI hint [y/N].
We now also accept Y/N.
Closes : #4475
2025-07-24 22:00:31 +02:00
Qubasa
cfba97eee5
clan-cli: Reference HostKeyCheck literal instead of duplicating the list everywhere
2025-07-16 13:12:48 +07:00
Qubasa
fb4ccd1f63
clan-lib: Remove duplicate fields from installOptions and instead use them from Remote
2025-07-16 13:05:05 +07:00
Qubasa
2c4e688b0a
clan-lib: Change BuildOn enum to Literal type. Literals can be translated better to typescript
2025-07-16 12:48:04 +07:00
a-kenji
6347bb7f3a
pkgs/clan: Further unify clan flake validation
...
Further unify clan flake validation and improve test coverage.
2025-07-15 13:03:49 +02:00
Qubasa
e8b5e2c2c5
clan-cli: Fixup clan install which depends on ssh_parseargs.
...
clan-cli: Remove --ssh-option for now, as it can't work in current state
clan-cli: Remove nix_config from test as its impure
2025-07-14 20:47:49 +07:00
Johannes Kirschbauer
3a237796d9
api/tasks: prefix impure actions with run
2025-07-07 12:09:43 +02:00
lassulus
045b250f9a
Revert "make host key check an enum instead of an literal type"
...
This reverts commit 3d83017acd .
2025-07-06 14:51:19 +02:00
Jörg Thalheim
3d83017acd
make host key check an enum instead of an literal type
...
this is more typesafe at runtime.
2025-07-04 14:36:05 +02:00
Qubasa
cb2097c1e5
clan-cli: Remove unecessary nix_options args from functions
2025-06-24 19:07:41 +02:00
Qubasa
cd1d49b603
clan-lib: Move nix_options from Machine class to Flake class
2025-06-24 19:03:20 +02:00
Qubasa
168e1d8c96
clan-cli: Move hardware.py to clan_lib/machines
2025-06-24 11:07:37 +02:00
Qubasa
071151f300
clan-lib: Rename parse_deployment_address to parse_ssh_uri
2025-06-23 15:32:35 +02:00
Qubasa
054ea67fb7
clan-cli: Simplify HostKeyCheck to a Literal instead of an Enum
2025-06-23 15:08:44 +02:00
Qubasa
274c552365
clan-lib: machines.py: Remove host_key attribute
2025-06-19 17:55:56 +02:00
Qubasa
aac07ddd25
clan-lib: machines.py: Remove private_key attribute
2025-06-19 17:28:50 +02:00
Qubasa
86536bae42
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
d29bba48e7
clan-lib: Make Remote overridable over function arguments
2025-06-17 13:53:43 +02:00
Jörg Thalheim
28a0f09514
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
Qubasa
68b7c22faf
clan-cli: init machine from inventory
2025-06-12 16:36:55 +02:00
Qubasa
ee802ad723
clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser
2025-06-09 19:27:01 +02:00
lassulus
8ce860f0d3
Revert "clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser"
...
This reverts commit b1ef5f00bf .
2025-06-09 11:28:15 +02:00
Qubasa
b1ef5f00bf
clan-cli: Use Remote class in DeployInfo, add tests for qrcode parser and json parser
2025-06-07 00:51:24 +02:00
Qubasa
8b1968cca6
clan-cli: Move Machine object to clan_lib
2025-05-22 19:11:19 +02:00
Qubasa
e14f30bdc0
clan-cli: Rename Host -> Remote move to clan_lib and mark as frozen
2025-05-22 14:08:27 +02:00
lassulus
9a0c6f55bd
clan-cli: clan_cli.cmd -> clan_lib.cmd
2025-05-19 19:07:24 +02:00
lassulus
cb74273da4
clan-cli: move clan_cli.nix to clan_lib.nix
2025-05-19 18:40:36 +02:00
hsjobeki
dce0ea4008
Merge pull request 'refactor: move clan_cli.error to clan_lib.error' ( #3677 ) from hsjobeki/clan-core:chores-1 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3677
2025-05-16 15:17:41 +00:00
Jörg Thalheim
13c6543a88
installation: put use_tor option in right place
...
we would always disable tor, even if enabled.
2025-05-16 16:18:25 +02:00
Johannes Kirschbauer
fe0507b47c
refactor: move clan_cli.error to clan_lib.error
2025-05-16 16:14:39 +02:00
Qubasa
01f9bb358e
clan-cli: Use machine object everywhere instead of name + flake
2025-05-09 13:13:14 +02:00
Qubasa
89decdaf7e
clan-cli: Refactor the API to use the Flake object
2025-05-07 16:43:50 +00:00
Jörg Thalheim
1037bd115b
Revert "Merge pull request 'clan-cli: Refactor the API to use the Flake object' ( #3531 ) from Qubasa/clan-core:replace_machine_name_with_machine_obj into main"
...
This reverts commit c09618b323 , reversing
changes made to 45b2539455 .
2025-05-07 15:24:57 +02:00
Qubasa
a6a69bb09b
clan-cli: Refactor the API to use the Flake object
2025-05-07 13:12:48 +02:00
Johannes Kirschbauer
79a54616e5
Refactor(machine/install): don't mutate the machine class during installation
2025-05-06 17:09:37 +02:00
Jörg Thalheim
be79d75c08
bind ssh controlmaster to live time of CLI
2025-05-04 16:28:14 +02:00
Johannes Kirschbauer
f6628ec1a9
Refactor(clan_lib): move clan_cli.api into clan_lib.api
2025-04-26 19:51:35 +02:00
Michael Hoang
d663744f40
cli/machines: don't allow installing on macOS
2025-04-23 03:13:39 +10:00
Jörg Thalheim
723d72255c
Reapply "remove nix_shell_legacy"
...
This reverts commit c5001f19fc .
2025-04-21 13:23:50 +02:00
Johannes Kirschbauer
c5001f19fc
Revert "remove nix_shell_legacy"
...
This reverts commit f3512b853a .
2025-04-18 14:49:54 +02:00
Jörg Thalheim
f3512b853a
remove nix_shell_legacy
2025-04-16 21:03:58 +02:00