Commit Graph

1850 Commits

Author SHA1 Message Date
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
Mic92
d7dcb55001 Merge pull request 'vars: make debug logging less verbose' (#4171) from merge-when-green-joerg into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4171
2025-07-02 11:48:59 +00:00
Johannes Kirschbauer
b6f00ed1f6 test: enable unsafe teardown of tempDir
aarch64 libc or kernel might be stricter in keeping files locked while they're open.
This causes failed teardown of the tmpdir
2025-07-02 09:27:05 +02:00
Jörg Thalheim
83b2fbc276 vars: make debug logging less verbose 2025-07-01 15:04:03 +02:00
Johannes Kirschbauer
ae274d6b82 buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
lassulus
286c75a142 refactor: replace eval_nix/build_nix with machine.select()
- Remove nix(), eval_nix(), and build_nix() methods from Machine class
- Add select() method that handles machine-specific attribute prefixes
- Update all usages to use machine.select() directly
- Handle Path conversion and tmp_store logic at call sites
- This simplifies the Machine API and prepares for deployment.json removal
2025-06-29 17:00:27 +02:00
Qubasa
3a772a5f56 Revert "Cleanup templates"
This reverts commit a3a81a959a.
2025-06-28 22:42:39 +07:00
Qubasa
277ef4f946 Revert "templates/minimal: consistent input names"
This reverts commit c847766f9e.
2025-06-28 22:42:20 +07:00
Qubasa
99d3e4ec11 Revert "tests/create_clan: bring back read,write checks"
This reverts commit 7f6684998b.
2025-06-28 22:42:11 +07:00
Qubasa
b14357a4e0 Revert "templates: fix tests"
This reverts commit 7ce29938e9.
2025-06-28 22:41:31 +07:00
Qubasa
ba19aa8810 Revert "templates: remove .clan-flake"
This reverts commit bf377bd4e0.
2025-06-28 22:40:55 +07:00
Mic92
24fcc9a647 Merge pull request 'don't keep appending --impure to nix_options when running tests' (#4128) from speed-up-flake-select into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4128
2025-06-28 07:26:16 +00:00
Jörg Thalheim
43df2c9a14 fix unlocked flake.lock in tests 2025-06-28 08:50:41 +02:00
Johannes Kirschbauer
2b0d7e345f machines/create: fix handle defaults 2025-06-27 20:28:11 +02:00
hsjobeki
8a7daddad4 Merge pull request 'Update clan templates' (#4099) from update-templates-services into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4099
2025-06-27 17:25:22 +00:00
Johannes Kirschbauer
bf377bd4e0 templates: remove .clan-flake 2025-06-27 19:14:21 +02:00
Johannes Kirschbauer
7ce29938e9 templates: fix tests 2025-06-27 19:14:21 +02:00
Mic92
7d6f12fb57 Merge pull request 'pkgs/clan: Fix clan ssh subcommand' (#4124) from mic92/kenji/ke-fix-ssh-deploy into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4124
2025-06-27 16:57:07 +00:00
a-kenji
6a911c97a3 pkgs/clan: Fix clan ssh subcommand 2025-06-27 15:39:38 +02:00
kenji
a624cb34ee Merge pull request 'pkgs/clan: Add machine validator with suggestion logic' (#4112) from ke-machines-update into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4112
2025-06-27 11:09:05 +00: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
Johannes Kirschbauer
7f6684998b tests/create_clan: bring back read,write checks 2025-06-27 11:04:31 +02:00
Johannes Kirschbauer
c847766f9e templates/minimal: consistent input names 2025-06-27 11:04:31 +02:00
pinpox
a3a81a959a Cleanup templates 2025-06-27 10:39:59 +02:00
a-kenji
6188583885 pkgs/clan: Improve error message on clan secrets users add
Improve error message on `clan secrets users add [user] --age-key
`AGE-PLUGIN-YUBIKEY`

Since there is no way to get the recipient through the AGE-PLUGIN-YUBIKEY,
we should fail fast and give an actionable error to the user.
2025-06-25 17:30:59 +02:00
a-kenji
b14a15407c pkgs/clan-cli: Fix typo in sshd test 2025-06-25 10:13:06 +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
hsjobeki
afc001cc54 Merge pull request 'pkgs/clan-cli: Remove confusing note from the CLI help' (#4045) from kenji/pkgs/clan-cli: Remove confusing note from the CLI help into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4045
2025-06-23 14:22:28 +00:00
Qubasa
046d13bd50 clan-lib: Rename parse_deployment_address to parse_ssh_uri 2025-06-23 15:32:35 +02:00
Qubasa
c3a631de7e clan-lib: Remove override args from parse_deployment_address, instead use the Remote.override method where necessary 2025-06-23 15:28:22 +02:00
Qubasa
217f55adec clan-cli: Simplify HostKeyCheck to a Literal instead of an Enum 2025-06-23 15:08:44 +02:00
a-kenji
6ff64f7e0a pkgs/clan-cli: Remove confusing note from the CLI help
Remove a now obsolete and thus confusing note from the help output
of `clan show`.
2025-06-23 08:57:43 +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