Jörg Thalheim
ce9b1f923f
vms/run: don't use deprecated clanCore option
2024-10-08 17:51:55 +00:00
Jörg Thalheim
1833724124
introduce better vm management abstraction and use it in tests
2024-10-08 17:51:55 +00:00
Jörg Thalheim
8101996c16
pass in flakeid to vm_state_dir
2024-10-08 17:51:55 +00:00
Qubasa
7bd50b03b3
clan-cli: Add --host-key-check to machine update
2024-10-05 23:33:44 +02:00
Jörg Thalheim
76aa8d2d82
Revert "Merge pull request 'Revert "Merge pull request 'clan-cli: secrets: Add support for PGP keys with sops-nix' ( #2186 ) from lopter/clan-core:lo-sops-nix-pgp-support into main"' ( #2202 ) from revert into main"
...
This reverts commit 23f5abee0d , reversing
changes made to 66a94c91ae .
2024-10-04 16:36:35 +00:00
Jörg Thalheim
d134d94a1e
Revert "Merge pull request 'clan-cli: secrets: Add support for PGP keys with sops-nix' ( #2186 ) from lopter/clan-core:lo-sops-nix-pgp-support into main"
...
This reverts commit b956b94039 , reversing
changes made to b1af3d5d6d .
Reverting for now as Dave's recent change conflicts with this change.
2024-10-04 17:54:29 +02:00
Louis Opter
dbe8927a77
Update tests for clan secrets
2024-10-04 15:36:30 +00:00
Jörg Thalheim
be5f10e241
secrets/show: pretty print json
2024-10-04 15:36:30 +00:00
Jörg Thalheim
db065ea06b
error if we cannot load a dataclass from file
2024-10-04 15:36:30 +00:00
DavHau
a257769abd
vars/keygen: fix + cleanup tests
...
- generate keys in ./sops instead of ./sops/vars for now
- don't initialize all flakes with sops keys, only generate when needed
- use the new 'clan vars keygen' in tests
2024-10-04 17:25:17 +02:00
DavHau
3357a0082e
vars: add 'clan vars keygen'
2024-10-04 16:13:49 +02:00
Jörg Thalheim
eb8d99116c
test superflous test_vm_qmp
...
we already have other tests covering this and VMs + NixOS are slow
2024-10-01 20:57:07 +02:00
Jörg Thalheim
16fefb27bb
add temp_dir fixture
2024-10-01 20:54:19 +02:00
Jörg Thalheim
082c3c1416
fix resource leaks in qmp tests
2024-10-01 20:54:19 +02:00
Jörg Thalheim
237327ead3
start to name temporary directories in more places
2024-10-01 18:57:59 +02:00
Qubasa
d4e8f88185
clan-cli: Move clan machines import to clan machines create
2024-09-23 17:11:48 +02:00
DavHau
0324f4d4b8
vars/sops: improve shared secrets, switching backend
...
When a second machine checks for a shared secret, now the exists() call returns negative and only when updating the secrets for that machine, the machine is added to the sops receivers.
Also throw proper errors when the user switches backends without cleaning the files first.
2024-09-20 15:06:54 +02:00
DavHau
501ade7de7
vars: implement migration
...
Migrating generated files from the facts subsystem to the vars subsystem is now possible.
HowTo:
1. declare `clan.core.vars.generators.<generator>.migrateFact = my_service` where `my_service` refers to a service from `clan.core.facts.services`
2. run `clan vers generate your_machine` or `clan machines update your_machine`
Vars will only be migrated for a generator if:
1. The facts service specified via `migrateFact` does exist
2. None of the vars to generate exist yet
3. All public var names exist in the public facts store
4. All secret var names exist in the secret fact store
If the migration is deemed possible, the generator script will not be executed. Instead the files from the public or secret facts store are read and stored into the corresponding vars store
2024-09-19 17:57:03 +02:00
DavHau
89d39186ee
vars/generate: improve output when vars are updated
...
fixes #2076
- print old and new value if possible
- also inform the user if something hasn't changed
2024-09-18 16:57:01 +02:00
DavHau
1c56ef5725
vars: allow setting a default for values
2024-09-17 21:11:38 +02:00
DavHau
cf47c1d51a
vars: generate proper commit messages
...
fixes #2126
2024-09-17 20:22:18 +02:00
DavHau
9ffc3da52b
vars/tests: fix nix eval triggering git concurrent access
...
Prevents this error: Another git process seems to be running in this repository
2024-09-16 18:58:22 +02:00
Qubasa
0f0a8825e1
clan-cli: Init clan machines import
2024-09-16 18:15:55 +02:00
Johannes Kirschbauer
b4e3dff23b
CLI: api.register type preservation
2024-09-16 12:52:28 +00:00
Johannes Kirschbauer
91a9fb23be
API: rename set_inventory
2024-09-13 16:11:10 +02:00
DavHau
a1dd10f502
vars/sops/shared: add machines key on demand
2024-09-12 20:17:05 +02:00
clan-bot
2fc5572ff7
Merge pull request 'API: remove all python dataclasses for clanModules (services)' ( #2080 ) from hsjobeki/clan-core:hsjobeki-main into main
2024-09-12 16:37:51 +00:00
DavHau
067d287398
vars/list: display '<not set>' also for secrets
2024-09-12 17:24:29 +02:00
Johannes Kirschbauer
f2a2b8e893
API: type all services with dict[str,Any] in python to reduce complexity.
2024-09-12 16:19:51 +02:00
a-kenji
4d2ad709ad
vars: use correct paths for value accesses
...
Use correct paths for value accesses of vars under:
- `per-machine`
- `shared`
2024-09-11 19:02:43 +02:00
DavHau
6fafafa064
vars/password-store: use standard paths; fix share flag
2024-09-09 21:20:03 +02:00
DavHau
b3dd36bdb6
vars: improve generator pipeline
...
Compute the whole closure of to-be-executed generators upfront before executing anything
Properly compute closures for the 4 different scenarios:
1. full_closure: run all generators for a selected machine in topological order
2. all_missing_closure: run just the missing generators including their dependents
3. requested_closure: run only a selected list of generators including their missing dependencies and their dependents
4. minimal_closure: Run just enough to ensure that the list of selected generators are in a consistent state. Don't execute anything if nothing is missing.
2024-09-06 21:32:17 +02:00
Qubasa
2b5cdd66f9
clan-cli: Make run_vm_in_thread fail fast. Fix generate_flake to support machine_id
2024-09-06 18:53:02 +02:00
Qubasa
b16a53f510
clanCore: init machine_id.nix with clan.core.machine.{id,diskId}
2024-09-06 18:05:40 +02:00
DavHau
f161c7ca58
vars: improve generator execution pipeline
...
- ensure all dependents are re-generated as well
- refactor: separate out computation of generator update closure
2024-09-06 14:30:49 +02:00
DavHau
1254b80a52
vars: add api endpoint set_prompts
2024-09-04 18:06:11 +02:00
DavHau
112982a7fb
vars: add get_prompts api endpoint
...
vars: add test for api endpoint get_prompts
2024-09-04 17:36:50 +02:00
DavHau
bd554ca392
vars: new option prompts.<name>.createFile
2024-09-04 15:48:10 +02:00
Jörg Thalheim
f18771364c
get rid of ValueError
2024-09-03 18:14:31 +02:00
Jörg Thalheim
403b9cf2cc
apply TRY lint
2024-09-03 18:13:46 +02:00
Johannes Kirschbauer
5defa9d49d
serde/fix: round trip string sanitizing
2024-09-03 18:03:13 +02:00
Jörg Thalheim
659e5b37dd
use pathlib everywhere
2024-09-02 18:26:13 +02:00
Jörg Thalheim
357b619068
add SIM lint
2024-09-02 16:39:30 +02:00
Jörg Thalheim
ad3daa3ce4
add RET, Q, RSE lint
2024-09-02 15:58:49 +02:00
Jörg Thalheim
ddab0a66c8
add PT
2024-09-02 15:52:17 +02:00
Jörg Thalheim
078cab47bf
add FA, ICN, ISC, LOG, PIE and PYI linting
2024-09-02 15:41:56 +02:00
Jörg Thalheim
15ff74f7c2
enable ASYNC, DTZ, YTT and EM lints
2024-09-02 14:07:06 +02:00
Jörg Thalheim
e9a266001c
enable comprehensions linting rules
2024-09-02 13:35:52 +02:00
Jörg Thalheim
35839ef701
enable bug-bear linting rules
2024-09-02 13:26:07 +02:00
Jörg Thalheim
f3a2b4d80e
fix all typing error in tests
2024-09-02 12:23:13 +02:00