Commit Graph

582 Commits

Author SHA1 Message Date
Louis Opter
51a7a86817 clan-cli: add unit tests for test_parse_deployment_address
Follow-up to #2899, more thorough than #2909.
2025-02-25 05:31:49 +00:00
lassulus
300aaa48e7 clan-cli: use new flake caching for machines 2025-02-23 15:58:03 +01:00
Qubasa
0a41c85871 clan-cli: Re-add test_copy_from_nixstore_symlink test but mark it impure 2025-02-17 14:21:50 +07:00
Qubasa
52fd912b45 clan-cli: Fix clan flakes create inside an already existing git repo 2025-02-17 13:23:31 +07:00
Qubasa
892bd25a3a clan-cli: Add CLAN_TEST_STORE env var to clan-pytest-without-core 2025-02-17 13:19:45 +07:00
lassulus
14f49512ed clan-cli flake caching: fix selectors not merging 2025-02-15 09:59:41 +00:00
Johannes Kirschbauer
2c0567ca27 Cli: delete machines bugfix. Dont modify the inventory in other places 2025-02-15 09:03:54 +07:00
Johannes Kirschbauer
d8e27b9abf Inventory: init delete api 2025-02-15 09:03:46 +07:00
Jörg Thalheim
e27605d3a0 fix system.stateVersion 2025-02-14 12:22:26 +07:00
Qubasa
64231e45f2 clan-cli: Fix symlink issue with copy_from_nixstore, add test for it. Also add more comprehensive clan template tests 2025-02-13 15:34:21 +07:00
Louis Opter
0c1244ecb6 clan-cli: secrets machines remove: update secrets after removing the key
Quick follow up to PR #2781, this commit does the same kind of logic but
for machines instead of users and groups.

Note that this only affects the `clan secrets machines remove`
sub-command, and that `clan machines delete` still leaves unusable
secrets & vars behind. This can be addressed in a different change.
2025-02-13 03:53:23 +00:00
Qubasa
f4b9177226 clan-cli: Mark new test as impure 2025-02-10 20:36:55 +07:00
Qubasa
db1127a9b3 clan-cli: Add one more test for checking Flake with git+file: 2025-02-10 20:36:55 +07:00
lassulus
2dbdb61438 clan-cli: add persistant flake caching 2025-02-10 13:29:01 +00:00
Johannes Kirschbauer
048bd37e3b Inventory: automatically create emtpy file on write 2025-02-10 09:02:23 +00:00
Johannes Kirschbauer
f380046050 CLI: machine create use patch inventory for partial updates 2025-02-10 09:02:23 +00:00
lassulus
7d8c72f9bc clan_cli flake caching: support outPath 2025-02-10 04:33:37 +00:00
lassulus
2a8f40e91a clan_cli machines: use Flake instead of FlakeId 2025-02-07 06:26:09 +01:00
a-kenji
cf1a4f805c pkgs/cli: Rename create_file -> persist 2025-02-06 14:59:59 +00:00
lassulus
9195fe4ca2 clan-cli: test_flake_caching: add actual flake caching test 2025-02-05 10:17:37 +00:00
a-kenji
da0f792d9e vars/interface: Change prompt.persist default to false
Change `prompt.persist` default to false.
We want a consistent default that is not conditionally dependent on
other values.
This makes communication on how the functionality is used more
consistent and easier understood.
2025-02-04 07:47:22 +00:00
Louis Opter
48268f7960 clan-cli: do not skip secrets.update_secrets when a group is removed
We need to remove all keys that were in the group from affected secrets.

With this change we now take `group_name` as an argument in
`{add,remove}_member`, which is a little bit more readable than
`group_folder.parent.name`, and helps DRY the code a bit.
2025-02-04 03:13:20 +00:00
Louis Opter
36a54ead12 clan-cli: improve tests on clan secrets …
When users or groups are updated :

- Check that keys are properly updated on sops secrets;
- Check that no dangling symlinks are left behind in sops secrets.

And when an user is removed from the clan, check that it is removed from
the groups it belonged to.

This doesn't check this works for vars explicitly, since they share the
same logic, see `secret_paths.extend(list_vars_secrets(flake_dir))` in
commit f2856cb773.

Those improvements allow us to validate that #2659 is indeed fixed, and
tell us that we need to make the same kind of fixes for machines and
groups. For groups this is straightforward, and for machines, when one
is deleted, I wanna discuss first whether we want to delete all its
secrets as well.
2025-02-04 03:13:20 +00:00
a-kenji
94362c1ff5 pkgs/clan: Fix typos 2025-02-02 23:20:39 +07:00
lassulus
18d7167fb3 test_api_dataclass_compat: exlcude flake.py 2025-02-02 11:52:36 +00:00
lassulus
02d450b905 clan-cli: add a Flake class with caching 2025-02-02 11:52:36 +00:00
Qubasa
825b4abd37 clan-cli: Make clan machines create use templating.py 2025-01-31 18:07:48 +07:00
Qubasa
caaafdf5f9 clan-cli: Add test_clan_nix_attrset.py and minor fixups 2025-01-31 16:36:20 +07:00
Qubasa
ed6aaf5f0c clan: Add autoloaded clanModules from flake inputs. Rename 'directory' to 'self' in buildClan 2025-01-24 12:32:04 +07:00
Johannes Kirschbauer
f0d5cad992 Vars/tests: secrets dont raise backend error depending on the previous backend 2025-01-22 09:02:55 +00:00
Pablo Ovelleiro Corral
038083bece Migrate borgbackup module to vars 2025-01-16 13:14:24 +01:00
Johannes Kirschbauer
f16f68c77b Fix: remove password from facts store tests 2025-01-14 17:19:51 +01:00
Johannes Kirschbauer
14261b8a8c Fix: secret facts store test 2025-01-14 17:19:50 +01:00
Jörg Thalheim
3bcbc8fa3d reformat after update 2025-01-14 15:30:29 +01:00
DavHau
4a9ae3a45f vars: rename createFile -> persist 2025-01-11 04:19:46 +00:00
Johannes Kirschbauer
06869a4d27 API/vars: use string based interfaces to get and set vars to avoid state mutations 2025-01-10 12:06:01 +00:00
Johannes Kirschbauer
ecf37e02f8 API/vars: simplify get/set prompts 2025-01-07 11:09:58 +01:00
Johannes Kirschbauer
a42c758ab5 Serde: fix enum type conversion, ensure roundtrip stability 2025-01-03 16:31:25 +01:00
Jörg Thalheim
f2856cb773 updating groups/machines/users keys now also update vars secrets 2024-12-17 19:24:30 +01:00
Jörg Thalheim
e978bfdf9a vars/tests: merge test_build_scripts_for_correct_system into test_generate_secret_for_multiple_machines 2024-12-17 17:39:27 +01:00
Jörg Thalheim
792aa8033b merge three prompt type tests into one 2024-12-17 17:39:19 +01:00
Jörg Thalheim
33aa638338 vars: remove duplicate test 2024-12-17 17:21:10 +01:00
Jörg Thalheim
e6addcc879 var: merge migration tests into one 2024-12-17 17:21:10 +01:00
Jörg Thalheim
4f7bd8e485 vars: delete duplicate shared flag test 2024-12-17 17:21:01 +01:00
Jörg Thalheim
047a6722eb clan_cli: merge four var tests into one 2024-12-17 17:21:01 +01:00
DavHau
b64422679e vars: commit files for clan vars set
fixes #2601
2024-12-17 15:56:08 +07:00
DavHau
1cbba05055 build-clan: fix bug where vars generator scripts are built for target system instead of local system 2024-12-16 19:20:17 +07:00
lassulus
f184128433 cli test_vars: make output check less sensible to nix output 2024-12-14 13:42:31 +01:00
Qubasa
6b784f8623 clan-cli: Rework 'clan ssh' command, improve Tor support. 2024-12-13 00:11:18 +01:00
Jörg Thalheim
9ad4e4d041 fix clan vars for public vars 2024-12-11 16:39:54 +01:00