Commit Graph

582 Commits

Author SHA1 Message Date
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
DavHau
f5226ec7ff vars: Improve logging for migration 2024-12-04 12:42:03 +07:00
Jörg Thalheim
51526aedbb rename run_no_output to run_no_stdout
we want stderr for some nix commands.
2024-12-03 17:15:28 +01:00
Qubasa
164c621dc0 clan-cli: Fix ignored debug flag in clan vms run, refactor Host.run to use RunOpts 2024-12-03 16:01:51 +01:00
DavHau
66ce80c096 vars: rename: invalidation -> validation 2024-11-29 17:23:31 +07:00
Qubasa
ff8d82c3c6 clan-vm-manager: Fix regression part2 2024-11-28 19:01:46 +01:00
Qubasa
95cb239206 clan-cli: refactor HostGroup._run_local to work with RunOpts 2024-11-28 16:05:51 +01:00
Qubasa
d2719f3179 clan-cli: cmd.run now has its options extracted to a dataclass 2024-11-28 15:26:37 +01:00
Johannes Kirschbauer
126874e62e CLI/tests: use correct fixture paths 2024-11-28 11:56:12 +01:00
Qubasa
d29f9bf86c clan-cli: SSH now completely refactored to use dataclasses everywhere 2024-11-28 10:52:14 +01:00
DavHau
61576649ff vars: make all python tests work in nix sandbox
- generate a flake.lock file for each template by copying the clan-core flake.lock and modifying it

- call nix build with --store for tests inside the sandbox
2024-11-27 14:32:02 +07:00
Jörg Thalheim
45dfbf54db vars: make interface more type-safe 2024-11-26 17:08:26 +01:00
Jörg Thalheim
8eb37903e0 test_vars: mock ask function instead of sys.stdin 2024-11-26 11:56:38 +00:00
Johannes Kirschbauer
446b2592ec API/serde: add handling for serializing enum classes 2024-11-26 10:44:06 +00:00
DavHau
173436632d vars: fix migration - secrets end up in public store 2024-11-26 17:02:11 +07:00
Qubasa
27b40849d1 clan-cli: Refactor ssh classes to dataclasses 2024-11-25 19:47:17 +01:00
Qubasa
8866a85765 clan-cli: Refactor ssh part 2, Refactor custom_logger 2024-11-22 22:08:50 +01:00
Qubasa
4104374b76 clan-cli: Refactor ssh folder part 1 2024-11-21 13:02:22 +01:00
DavHau
3f62e143ec vars: implement invalidation mechanism
This adds options `invalidationData` to generators.

`invalidationData` can be used by an author of a generator to signal if a re-generation is required after updating the logic.

Whenever a generator with invalidation data is executed, a hash of that data is stored by the respective public and/or secret backends.

The stored hashes will be checked on future deployments, and a re-generation is triggered whenever a hash doesn't match what's defined in nix.
2024-11-20 16:27:22 +07:00
Jörg Thalheim
b3b72e54cd remove ssh.id_ed25519 from facts test
we have moved this to vars now.
2024-11-19 09:46:14 +00:00
DavHau
64a6f380a6 vars: add test for 'clan vars get' 2024-11-19 13:32:27 +07:00
DavHau
6a373f92d1 tests: improve performance, keep flake.lock between tests
- deprecate fixture generate_flake in favor of class ClanFlake
- allow creating flake templates that can be copied, including their state, like git and lock files, in order to avoid expensive re-initialization
2024-11-18 17:01:58 +07:00
Qubasa
250eed0798 clan-cli: upload.py -> Replace rsync with native ssh command 2024-11-15 22:03:47 +07:00
a-kenji
6bb26746f1 pkgs/cli: Fix typo in test fixtures 2024-11-14 15:00:44 +01:00
DavHau
820427b949 cleanup: remove legacy flake fixture test_flake_minimal and test_flake_with_core_and_pass 2024-11-14 14:03:29 +07:00
DavHau
54b8f5904e vars: allow re-encrypting secrets when recipient keys were added.
When the users of a secret change, when for example a new admin user is added, an error will be thrown when generating vars, prompting the user to pass --fix to re-encrypt the secrets
2024-11-13 18:49:30 +07:00
Johannes Kirschbauer
c7da3e165f Chore: remove unused clanImports module 2024-11-12 14:46:25 +01:00
Qubasa
2df1179666 clan-cli: Improved --debug output by indenting commands, add TRACE_DEPTH environment variable 2024-11-11 21:23:53 +07:00
Jörg Thalheim
cd13bfe6ed HistoryEntry: add cleaner typesafe json deserialization 2024-11-11 11:36:17 +01:00