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