Commit Graph

560 Commits

Author SHA1 Message Date
Louis Opter
c99296aae8 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 7466445653.

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
1694f8b3a8 pkgs/clan: Fix typos 2025-02-02 23:20:39 +07:00
lassulus
c746b84a6f test_api_dataclass_compat: exlcude flake.py 2025-02-02 11:52:36 +00:00
lassulus
fe2cfd3b37 clan-cli: add a Flake class with caching 2025-02-02 11:52:36 +00:00
Qubasa
0f4cdd31cd clan-cli: Make clan machines create use templating.py 2025-01-31 18:07:48 +07:00
Qubasa
d770830c03 clan-cli: Add test_clan_nix_attrset.py and minor fixups 2025-01-31 16:36:20 +07:00
Qubasa
e36654daa1 clan: Add autoloaded clanModules from flake inputs. Rename 'directory' to 'self' in buildClan 2025-01-24 12:32:04 +07:00
Johannes Kirschbauer
906126f91f Vars/tests: secrets dont raise backend error depending on the previous backend 2025-01-22 09:02:55 +00:00
Pablo Ovelleiro Corral
7a17a04698 Migrate borgbackup module to vars 2025-01-16 13:14:24 +01:00
Johannes Kirschbauer
4000571550 Fix: remove password from facts store tests 2025-01-14 17:19:51 +01:00
Johannes Kirschbauer
a53367bd11 Fix: secret facts store test 2025-01-14 17:19:50 +01:00
Jörg Thalheim
e2aa66d86f reformat after update 2025-01-14 15:30:29 +01:00
DavHau
bbe37a998f vars: rename createFile -> persist 2025-01-11 04:19:46 +00:00
Johannes Kirschbauer
c6fe4f2625 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
6b209f1008 API/vars: simplify get/set prompts 2025-01-07 11:09:58 +01:00
Johannes Kirschbauer
08f6cdc43f Serde: fix enum type conversion, ensure roundtrip stability 2025-01-03 16:31:25 +01:00
Jörg Thalheim
7466445653 updating groups/machines/users keys now also update vars secrets 2024-12-17 19:24:30 +01:00
Jörg Thalheim
9d9e5bdd26 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
1255c3108e merge three prompt type tests into one 2024-12-17 17:39:19 +01:00
Jörg Thalheim
5ebbb3ee98 vars: remove duplicate test 2024-12-17 17:21:10 +01:00
Jörg Thalheim
ab1626d0eb var: merge migration tests into one 2024-12-17 17:21:10 +01:00
Jörg Thalheim
0ab3ec5e16 vars: delete duplicate shared flag test 2024-12-17 17:21:01 +01:00
Jörg Thalheim
8cc41f543a clan_cli: merge four var tests into one 2024-12-17 17:21:01 +01:00
DavHau
7b3b1018aa vars: commit files for clan vars set
fixes #2601
2024-12-17 15:56:08 +07:00
DavHau
5d47622a78 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
0ce51a4e5c cli test_vars: make output check less sensible to nix output 2024-12-14 13:42:31 +01:00
Qubasa
e490207d12 clan-cli: Rework 'clan ssh' command, improve Tor support. 2024-12-13 00:11:18 +01:00
Jörg Thalheim
7d7e0c0714 fix clan vars for public vars 2024-12-11 16:39:54 +01:00
Jörg Thalheim
7c76b52a8d run clang-format 2024-12-11 14:38:36 +00:00
DavHau
98ec56b9ee vars: add test to ensure shared secrets access after --regenerate
Ensure that a shared secret can still be accessed by all machines that share it, after a 'clan vars generate --regenerate' has been issued
2024-12-11 15:44:30 +07:00
DavHau
d925f4330d vars: add test for shared secret not being regenerated
see https://git.clan.lol/clan/clan-core/issues/2393
2024-12-11 15:14:44 +07:00
Johannes Kirschbauer
2669d6a2cc Inventory: init delete patial data 2024-12-10 21:19:04 +01:00
Johannes Kirschbauer
f65e92191a Inventory: fix persistence 2024-12-10 16:41:40 +01:00
lassulus
3337d7bce6 vars: move ensure_consistent_state into health_check, move into store classes 2024-12-10 11:54:52 +00:00
Qubasa
3cc7511764 clan-cli: Replace HostGroup and MachineGroup with generic AsyncRuntime class. Propagate cmd prefix over thread local. Close threads on CTRL+C 2024-12-09 18:07:23 +01:00
Johannes Kirschbauer
b1ba74a27b inventory.{cli,api}: use only dictionaries 2024-12-06 18:51:20 +01:00
Jörg Thalheim
9da6036958 tests/sshd: also log what platform we received in the assert 2024-12-06 15:39:35 +00:00
Johannes Kirschbauer
c84515efd2 inventory/api: init smart update for inventory 2024-12-06 11:07:52 +01:00
Johannes Kirschbauer
2d807c69e2 inventory/api: prepare list merging 2024-12-06 11:07:52 +01:00
Johannes Kirschbauer
6a2e331861 inventory/eval: init determine writeability for single inventory options 2024-12-05 16:18:46 +01:00
Johannes Kirschbauer
b72344085a clan.cli.inventory: init partial write 2024-12-04 17:43:20 +01:00
clan-bot
8da4fceb24 Merge pull request 'Better install instructions for macos' (#2550) from arm64 into main 2024-12-04 16:32:02 +00:00
Jörg Thalheim
d5eb60d904 test_vars: set hostPlatform 2024-12-04 17:25:20 +01:00
lassulus
8b12578c13 test_vars_deployment: fix race condition with multiple VMs on error case 2024-12-04 17:07:36 +01:00
lassulus
acb78d4fb8 test_vars_deployment: pass stdin as DEVNULL to vm 2024-12-04 17:07:36 +01:00
Jörg Thalheim
77d05a6bd6 test_vms_cli: set hostPlatform x86_64-linux 2024-12-04 17:04:12 +01:00
Jörg Thalheim
e80a6c2139 test_flake_with_core: set system explicit 2024-12-04 15:54:00 +01:00
Jörg Thalheim
e499aa0903 getpwnam-preload.c: no longer log shell 2024-12-04 14:57:00 +01:00
Jörg Thalheim
6b8a9ff0dc skip writing the empty inventory json 2024-12-04 12:14:32 +01:00
DavHau
37ad4eaad5 vars: print() -> log.info() 2024-12-04 14:08:50 +07:00