pinpox
ae9d219dea
Merge branch 'main' into state-version-option-again
2025-07-04 11:56:15 +00:00
hsjobeki
a44740d902
Merge pull request 'Clan_lib: add filtering by tag to list API' ( #4197 ) from cli-fixup into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4197
2025-07-04 11:53:43 +00:00
Luis Hebendanz
79560ac202
Merge pull request 'clan-app: Implement dynamic groups and array based filtering of logs and groups' ( #4190 ) from Qubasa/clan-core:add_clan_group into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4190
2025-07-04 11:06:50 +00:00
Qubasa
52aaad272f
clan-app: Implement dynamic log groups into javascript callApi
...
nix fmt
2025-07-04 17:49:00 +07:00
pinpox
a0a9cef2a6
Add state-version nixos option
...
This reverts commit 695574988e .
2025-07-04 11:54:12 +02:00
Johannes Kirschbauer
91df5c258e
lib/convert_inventory_to_machines: add classmethod for common conversion of Machine and InventoryMachine
2025-07-04 10:18:14 +02:00
Johannes Kirschbauer
fcb38820ec
lib/get_host: improve abstraction, turn missconfiguration into a warning
...
Motivation: A warning should encourage consistent usage of inventory.machines setting targetHost inside the machine should be considered a custom override
Changing the warning strings to avoid the term 'nix'/'json' both inventory and nixos machines are nix features
2025-07-04 10:02:06 +02:00
Johannes Kirschbauer
6d85cc0ff2
Clan_lib: add filtering by tag to list API
2025-07-04 09:48:21 +02:00
Johannes Kirschbauer
10fbae0c15
cli: move some references to duplicate list machines
2025-07-04 09:32:43 +02:00
Qubasa
aef1edf8e3
clan_lib: Move load_in_all_api_functions to clan_lib
2025-07-04 14:22:40 +07:00
Qubasa
18735a150f
clan_lib: Heavily simplified log_manager and test suite to concentrate on actually used features
2025-07-04 14:05:31 +07:00
Qubasa
c354a87765
clan_lib: Add better docstrings to log_manager
2025-07-04 13:35:34 +07:00
Qubasa
70d57cb267
clan_lib: expose log_manager with API.register properly
2025-07-04 13:19:09 +07:00
Qubasa
24b8cb799a
clan-cli: Print function name to raise for unsupported types by API.register
2025-07-04 13:17:01 +07:00
lassulus
a6409f921b
refactor: remove _serialized field and implement efficient vars selection
...
- Remove _serialized field from vars interface to prevent serialization
errors with throwing passBackend field
- Implement direct selection of generator fields using multi-select syntax
- Refactor vars_generators() to use new Generator.from_flake() method that
selects only safe fields (avoiding non-serializable values)
- Remove unused legacy methods: Generator.from_json(), Var.from_json(),
Prompt.from_json()
- Update precaching to match new selection approach
This fixes the serialization errors that were preventing vars from working
with the new password-store implementation by avoiding the problematic
_serialized field entirely.
2025-07-03 18:53:36 +02:00
lassulus
8f9d88a104
flake: prevent outPath in multiselect to avoid serialization issues
...
When using multiselect with outPath like {outPath,?meta}, nix evaluation
collapses the attrset to just the outPath string, breaking further selection.
Add validation during selector parsing to catch this and provide a clear error.
2025-07-03 18:53:36 +02:00
Qubasa
76bba13a7f
clan-app: Implement dynamic groups and array based filtering of logs and groups
2025-07-03 17:49:34 +07:00
lassulus
40065c7a00
refactor: remove deployment.json and use direct selectors
...
- Remove deployment.json file generation from outputs.nix
- Add throw for deprecated deployment.file usage with upgrade instructions
- Remove vars data from deployment.data
- Update Machine class to use direct select() calls instead of deployment property
- Update all deployment property accesses to use direct selectors
- Add precaching for frequently accessed values in update.py:
- Module paths for facts and vars
- Deployment settings (requireExplicitUpdate, nixosMobileWorkaround)
- Services and generators data
- Secret upload locations
- This removes unnecessary JSON serialization and makes the code more composable
2025-07-02 20:56:23 +02:00
Johannes Kirschbauer
97bdf49814
cli: fix listing maschines by their name
2025-07-02 18:18:48 +02:00
Mic92
d7dcb55001
Merge pull request 'vars: make debug logging less verbose' ( #4171 ) from merge-when-green-joerg into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4171
2025-07-02 11:48:59 +00:00
Jörg Thalheim
f70f6d6d80
clan_lib/test_create: fix test when running outside of the sandbox...
2025-07-02 13:04:46 +02:00
Qubasa
db3e8b9984
clan-app: Add logging middleware
2025-07-02 17:59:05 +07:00
Qubasa
5d99d0e1e7
clan-app: simplified task function, moved them to a separate file
2025-07-02 16:18:37 +07:00
Johannes Kirschbauer
695574988e
Revert "Merge pull request 'Make state-version generation an clan option' ( #4056 ) from state-version-option into main"
...
This reverts commit a101ff1f11 , reversing
changes made to f12b62d8b4 .
2025-07-01 18:15:11 +02:00
Johannes Kirschbauer
df3abbad40
clan_lib/tests: add big fat warning comment to save peoples time
2025-07-01 12:30:17 +02:00
pinpox
9e7e0378a8
Remove state-version module from tests
2025-06-30 12:58:05 +02:00
lassulus
286c75a142
refactor: replace eval_nix/build_nix with machine.select()
...
- Remove nix(), eval_nix(), and build_nix() methods from Machine class
- Add select() method that handles machine-specific attribute prefixes
- Update all usages to use machine.select() directly
- Handle Path conversion and tmp_store logic at call sites
- This simplifies the Machine API and prepares for deployment.json removal
2025-06-29 17:00:27 +02:00
Jörg Thalheim
65ee951b72
select: drop unused --impure flag
2025-06-27 19:30:45 +02:00
Jörg Thalheim
b251275063
select: use nix_options copy
2025-06-27 19:30:45 +02:00
Jörg Thalheim
6afe4305b4
select: drop unused nixpkgs fallback
2025-06-27 19:30:45 +02:00
Jörg Thalheim
553d13b05a
don't keep appending --impure to nix_options when running tests
2025-06-27 18:54:13 +02:00
Jörg Thalheim
3035752d00
select: disable remote building and substitution
...
this should make things faster since the derivation itself is trivial.
2025-06-27 13:37:16 +02:00
a-kenji
3e70e30b6b
pkgs/clan: Add machine validator with suggestion logic
...
Add machine validator with suggestion logic to:
- `clan machines update`
- `clan machines delete`
- `clan machines update-hardware-config`
2025-06-27 12:32:36 +02:00
Johannes Kirschbauer
6c460db016
schema: update clan option source
2025-06-26 13:24:34 +02:00
Qubasa
6558a915ad
clan-app: Add a 'group' to log_manager. Move log_manager to own subdirectory
2025-06-24 21:42:18 +02:00
Qubasa
60d2837ddd
clan-cli: Remove unecessary nix_options args from functions
2025-06-24 19:07:41 +02:00
Qubasa
d14a5d34fd
clan-lib: Move nix_options from Machine class to Flake class
2025-06-24 19:03:20 +02:00
Luis Hebendanz
d3d2cb8723
Merge pull request 'Move update.py to clan_lib/machines part 4' ( #4073 ) from Qubasa/clan-core:move_to_clan_lib6 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4073
2025-06-24 14:52:10 +00:00
Luis Hebendanz
e6a7efafcf
Merge pull request 'Move delete.py to clan_lib/machines part 3' ( #4069 ) from Qubasa/clan-core:move_to_clan_lib5 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4069
2025-06-24 14:51:19 +00:00
Luis Hebendanz
ef5a4ab122
Merge pull request 'Move list.py to clan_lib/machines part 2' ( #4068 ) from Qubasa/clan-core:move_to_clan_lib4 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4068
2025-06-24 14:51:06 +00:00
pinpox
b53975684e
Merge branch 'main' into machine-id-option
2025-06-24 11:12:24 +00:00
Qubasa
e79b926566
clan-cli: Move update.py to clan_lib/machines
2025-06-24 12:17:21 +02:00
Qubasa
29a5fbed53
clan-cli: Move delete.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
e53a490edc
clan-cli: Move list.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
Qubasa
48ea1c757f
clan-cli: Move morph.py to clan_lib/machines
2025-06-24 12:16:38 +02:00
DavHau
03fe06285b
inventory interface: add description for module.name
2025-06-24 10:09:05 +00:00
Qubasa
ca17fb0ee8
clan-cli: Move list.py to clan_lib/machines
2025-06-24 11:57:02 +02:00
pinpox
62199e5ec9
Merge branch 'main' into machine-id-option
2025-06-24 09:41:42 +00:00
Qubasa
add15a1a3e
clan-cli: Move delete.py to clan_lib/machines
2025-06-24 11:37:21 +02:00
Qubasa
5a14bd3993
clan-cli: Move list.py to clan_lib/machines
2025-06-24 11:32:42 +02:00