Mic92
a5474bc25f
Merge pull request 'ruff-7-misc' ( #4939 ) from ruff-7-misc into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4939
2025-08-26 10:43:12 +00:00
Luis Hebendanz
78abc36cd3
Merge pull request 'clan-cli: clan machines update-hardware-config now uses kexec, and supports non NixOS targets' ( #4948 ) from Qubasa/clan-core:fix_update_hardware_config into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4948
2025-08-26 10:16:59 +00:00
Jörg Thalheim
c9a709783a
BLE001: fix
2025-08-26 12:01:47 +02:00
Jörg Thalheim
8f8426de52
PGH003: fix
2025-08-26 11:36:38 +02:00
Qubasa
4bce390e64
clan-cli: clan machiens update-hardware-config now uses kexec, and supports non NixOS targets
2025-08-26 11:35:44 +02:00
Mic92
05665b1c7e
Merge pull request 'ruff-3-arg-fixes' ( #4934 ) from ruff-3-arg-fixes into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4934
2025-08-25 12:54:04 +00:00
Jörg Thalheim
4986fe30c3
ARG002/ARG005: fix
2025-08-25 14:36:36 +02:00
Jörg Thalheim
e208c02be7
S311: fix random usage
2025-08-25 14:07:59 +02:00
Jörg Thalheim
dc5485d9f1
ruff: replace asserts outside of tests with Exceptions
2025-08-25 13:06:04 +02:00
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
Qubasa
84bf9f3bc5
clan_lib: Fix run_machine_install incorrect pesist_state path
2025-08-22 11:21:44 +02: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
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
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
Johannes Kirschbauer
5083992f7b
lib: remove unused TYPE_CHECKING
2025-08-13 18:26:57 +02: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
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
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
Jörg Thalheim
5ab3a164c8
install: precache vars
2025-08-11 11:51:06 +02:00
Johannes Kirschbauer
628e45293e
Update: avoid mutating and shadowing arguments
2025-08-09 11:18:50 +02:00
Johannes Kirschbauer
cc07e0ea44
update hw config: add nixos-facter as default
2025-08-08 20:56:15 +02:00
Johannes Kirschbauer
20c23fa64b
API/Machine: refactor api returns readonly
2025-08-08 10:44:32 +02:00
Mic92
273c83ec27
Merge pull request 'update/flake-upload: use ssh-ng:// for nix copy' ( #4597 ) from local-build into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4597
2025-08-05 20:47:23 +00:00
Jörg Thalheim
44dcfa7844
rename --fetch-local to --upload-inputs
2025-08-05 19:31:29 +02:00
Jörg Thalheim
98f685f3ca
update/flake-upload: set correct remote-program for macOS targets
2025-08-05 19:31:29 +02:00
Mic92
3fe65f1f12
Merge pull request 'machines update: support local build' ( #4515 ) from local-build into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4515
2025-08-05 11:28:50 +00:00
Jörg Thalheim
6bb998f9dd
update/flake-upload: use ssh-ng:// for nix copy
...
I had concurrency issues with `nix copy` and the ssh:// protocol when
using a machine both as the build host/target host (for different
machines), where it make the result path partially available to a
different update command thread.
2025-08-05 13:26:34 +02:00
DavHau
af7ce9b8ed
machines update: support local build
...
Now the user can pass `--build-host local`, to select the local machine as a build host, in which case no ssh is used.
This means the admin machine does not necessarily have ssh set up to itself, which was confusing for many users.
Also this makes it easier to re-use a well configured nix remote build setup which is only available on the local machine. Eg if `--build-host local` nix' defaults for remote builds on that machine will be utilized.
2025-08-05 13:16:59 +02:00
DavHau
b74193514d
ssh: refactor callers to use new Host interface
2025-08-05 13:16:59 +02:00
pinpox
f314eb04d6
Reduce targetHost warning level
...
The documentation currently lists setting targetHost in the NixOS
configuration as a slower, but valid option. Especially for dynamic
values, this is the recommended way but it results in a lot of annyoing
warnings.
This lowers the warning level, so it will only get printed on --debug
2025-08-05 11:52:06 +02:00
lassulus
5361261bd5
clan select: better error
2025-08-02 17:59:12 +02:00
Qubasa
0b05b0b1ec
docs: review fixups
...
docs: review fixups
docs: review fixups
docs: fixup links in cli
docs: fixup links in cli
2025-08-01 14:53:31 +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
Mic92
d19ac1b9f5
Merge pull request 'machines update: refactor - simplify' ( #4506 ) from simplify-update into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4506
2025-07-30 18:42:02 +00:00
DavHau
b30686269b
machines update: fix lacks a signature by a trusted key
...
Despite using `root` as the ssh user, `ssh-ng` still fails with:
`error: cannot add path '/nix/store/...' because it lacks a signature by a trusted key
`
This does not happen with `ssh` instead of `ssh-ng`
2025-07-30 15:15:57 +07:00
Jörg Thalheim
1626d179a0
run_machine_update: document missing flag
2025-07-30 09:54:50 +02:00
Jörg Thalheim
de65619442
update: explain why we use sudo rather than --use-remote-sudo
2025-07-30 09:54:50 +02:00
DavHau
85dda9e125
machines update: refactor - simplify
...
This is an attempt to reduce cognitive load when trying to understand the host related logic in run_machine_update.
The change should not affect behavior.
Done:
- make it very clear early on, that build_host == target_host if build_host is not set.
- rename some variables to make relations more clear
- remove `deploy_host` variable. unnecessary complexity
- remove `become_root` variable. After simplifying via boolean algebra, this boils down to `build_host == target_host`.
2025-07-30 09:54:50 +02:00