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