Commit Graph

1955 Commits

Author SHA1 Message Date
hsjobeki
2c8b457fd5 Merge pull request 'Clan_lib: add filtering by tag to list API' (#4197) from cli-fixup into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4197
2025-07-04 11:53:43 +00:00
Johannes Kirschbauer
41cafe828f Clan_lib: add filtering by tag to list API 2025-07-04 09:48:21 +02:00
Johannes Kirschbauer
b0c24edd48 cli: move some references to duplicate list machines 2025-07-04 09:32:43 +02:00
DavHau
67a37a9d2c reverting b1f71fe4fb 2025-07-04 10:35:30 +07:00
lassulus
c760561dbd refactor: remove _serialized field and implement efficient vars selection
- Remove _serialized field from vars interface to prevent serialization
  errors with throwing passBackend field
- Implement direct selection of generator fields using multi-select syntax
- Refactor vars_generators() to use new Generator.from_flake() method that
  selects only safe fields (avoiding non-serializable values)
- Remove unused legacy methods: Generator.from_json(), Var.from_json(),
  Prompt.from_json()
- Update precaching to match new selection approach

This fixes the serialization errors that were preventing vars from working
with the new password-store implementation by avoiding the problematic
_serialized field entirely.
2025-07-03 18:53:36 +02:00
lassulus
a055b4d1eb 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
9932f170ca machines/update: queue update only for machines_to_update 2025-07-02 19:05:37 +02:00
Johannes Kirschbauer
b1f71fe4fb clan.deployment: unify deprecated option 2025-07-02 18:37:29 +02:00
Mic92
fb3685d721 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
12730428bb 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
41862ef3d3 vars: make debug logging less verbose 2025-07-01 15:04:03 +02:00
Johannes Kirschbauer
667cee0f6e buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
lassulus
cc923d5638 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
863aa9029c Revert "Cleanup templates"
This reverts commit 77d8f76eb8.
2025-06-28 22:42:39 +07:00
Qubasa
2b5f20c4f4 Revert "templates/minimal: consistent input names"
This reverts commit 8ab9556a12.
2025-06-28 22:42:20 +07:00
Qubasa
1be70856d5 Revert "tests/create_clan: bring back read,write checks"
This reverts commit f6cad7c4a4.
2025-06-28 22:42:11 +07:00
Qubasa
9f1482e539 Revert "templates: fix tests"
This reverts commit df598275f9.
2025-06-28 22:41:31 +07:00
Qubasa
ab872711c8 Revert "templates: remove .clan-flake"
This reverts commit 14eb541256.
2025-06-28 22:40:55 +07:00
Mic92
a73f91c162 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
581dfeffeb fix unlocked flake.lock in tests 2025-06-28 08:50:41 +02:00
Johannes Kirschbauer
181d44e83c machines/create: fix handle defaults 2025-06-27 20:28:11 +02:00
hsjobeki
b88e55364a 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
14eb541256 templates: remove .clan-flake 2025-06-27 19:14:21 +02:00
Johannes Kirschbauer
df598275f9 templates: fix tests 2025-06-27 19:14:21 +02:00
Mic92
baf9f4722a 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
73db293ec7 pkgs/clan: Fix clan ssh subcommand 2025-06-27 15:39:38 +02:00
kenji
2467039fe2 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
5a81adfc68 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
f6cad7c4a4 tests/create_clan: bring back read,write checks 2025-06-27 11:04:31 +02:00
Johannes Kirschbauer
8ab9556a12 templates/minimal: consistent input names 2025-06-27 11:04:31 +02:00
pinpox
77d8f76eb8 Cleanup templates 2025-06-27 10:39:59 +02:00
a-kenji
aaac5b5b7c 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
7c9600b427 pkgs/clan-cli: Fix typo in sshd test 2025-06-25 10:13:06 +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
6e4dc03b1d clan-cli: Move update.py to clan_lib/machines 2025-06-24 12:17:21 +02:00
Qubasa
2bfc33bc31 clan-cli: Move delete.py to clan_lib/machines 2025-06-24 12:16:38 +02:00
Qubasa
21b0c00c05 clan-cli: Move list.py to clan_lib/machines 2025-06-24 12:16:38 +02:00
Qubasa
d65bdb30eb clan-cli: Move morph.py to clan_lib/machines 2025-06-24 12:16:38 +02:00
kenji
2e403425f9 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
feb47ffe33 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
168e1d8c96 clan-cli: Move hardware.py to clan_lib/machines 2025-06-24 11:07:37 +02:00
Qubasa
78fdd21610 clan-cli: Add missining propagation of host-key-check in machines.update 2025-06-24 10:35:53 +02:00
a-kenji
fc0e8fa1bd pkgs/clan: Add --tags support to clan machines update 2025-06-23 23:51:43 +02:00
hsjobeki
1afc3a8d8e 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
071151f300 clan-lib: Rename parse_deployment_address to parse_ssh_uri 2025-06-23 15:32:35 +02:00
Qubasa
255f2da358 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
054ea67fb7 clan-cli: Simplify HostKeyCheck to a Literal instead of an Enum 2025-06-23 15:08:44 +02:00
a-kenji
eaa2eaff84 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
274c552365 clan-lib: machines.py: Remove host_key attribute 2025-06-19 17:55:56 +02:00