Commit Graph

8053 Commits

Author SHA1 Message Date
Jörg Thalheim
3e2459fa40 migrate all projects to python 3.13 linting 2025-07-04 18:39:01 +02:00
Jörg Thalheim
e8247533a9 clan-cli: handle None in union types to prevent TypeError
Add comprehensive test coverage for union types with None to prevent
regression of the issubclass() TypeError that was occurring when
checking if None is in a union type.
2025-07-04 18:39:01 +02:00
Jörg Thalheim
cb89457731 migrate all projects to python 3.13 linting 2025-07-04 18:39:01 +02:00
Qubasa
0d1e1d9796 treefmt/ruff: Set python lint version to 3.13. Fix all new lints coming up. 2025-07-04 17:11:31 +02:00
Johannes Kirschbauer
69b9187598 Chore: bump nixpkgs 2025-07-04 17:11:31 +02:00
hsjobeki
5b61c4253a Merge pull request 'clan_lib/openapi: add openapi rendering' (#4200) from lib-openapi into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4200
2025-07-04 11:54:13 +00:00
hsjobeki
2c8b457fd5 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
Johannes Kirschbauer
12a77da0ae api: rename script to openapi.py 2025-07-04 13:40:59 +02:00
Luis Hebendanz
9fb7f12ee3 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
5b21a266fc clan-app: Implement dynamic log groups into javascript callApi
nix fmt
2025-07-04 17:49:00 +07:00
Johannes Kirschbauer
38b8722e2e Docs: init redoc internal rest inspired docs 2025-07-04 12:45:39 +02:00
Johannes Kirschbauer
dc4733d0d0 clan_lib/openapi: add openapi rendering 2025-07-04 12:09:16 +02:00
brianmcgee
1b34aa06a4 Merge pull request 'ui/form-components' (#4118) from ui/form-components into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4118
2025-07-04 08:30:22 +00:00
Johannes Kirschbauer
512f7294e6 lib/convert_inventory_to_machines: add classmethod for common conversion of Machine and InventoryMachine 2025-07-04 10:18:14 +02:00
Johannes Kirschbauer
2e38b314ad 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
41cafe828f Clan_lib: add filtering by tag to list API 2025-07-04 09:48:21 +02:00
Johannes Kirschbauer
b0c24edd48 cli: move some references to duplicate list machines 2025-07-04 09:32:43 +02:00
Qubasa
e982daf9d9 clan_lib: Move load_in_all_api_functions to clan_lib 2025-07-04 14:22:40 +07:00
Qubasa
d4a67eb1a6 clan_lib: Heavily simplified log_manager and test suite to concentrate on actually used features 2025-07-04 14:05:31 +07:00
Qubasa
43e6351a21 clan_lib: Add better docstrings to log_manager 2025-07-04 13:35:34 +07:00
Qubasa
a4964c4c93 clan_lib: expose log_manager with API.register properly 2025-07-04 13:19:09 +07:00
Qubasa
83e4dcf8f7 clan-cli: Print function name to raise for unsupported types by API.register 2025-07-04 13:17:01 +07:00
renovate[bot]
6582a04b54 chore(deps): update sops-nix digest to 3633fc4 2025-07-04 05:30:12 +00:00
DavHau
81238599cc Merge pull request 'reverting b1f71fe4fbd5533985e2a3f9f69ecba2b382b58b' (#4194) from davhau/dave into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4194
2025-07-04 03:51:22 +00:00
DavHau
67a37a9d2c reverting b1f71fe4fb 2025-07-04 10:35:30 +07:00
Mic92
546b963f01 Merge pull request 'actually import state-version' (#4193) from fix-state-version into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4193
2025-07-03 18:32:15 +00:00
Jörg Thalheim
ca3f6bd160 actually import state-version 2025-07-03 20:19:19 +02:00
lassulus
401799b5bc Merge pull request 'refactor: remove _serialized field and implement efficient vars selection' (#4187) from remove_serialized into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4187
2025-07-03 17:18:27 +00:00
lassulus
c760561dbd 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
30bc8cb5d3 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
Brian McGee
98c9414071 fix(ui): disabled storybook derivation
Something about passing orientation in any of the Form stories is causing the browser to crash

`npm run test-storybook-static` works fine in the devshell.

Disabling for now as it's slowing down development.
2025-07-03 17:50:42 +01:00
Brian McGee
dcb7e546ca feat(ui): flatten the Field pattern and introduce Orienter component 2025-07-03 17:50:41 +01:00
Brian McGee
d2a76f4e83 feat(ui): simplify timeout speedup for button stories 2025-07-03 17:50:40 +01:00
Brian McGee
b7792a34c8 feat(ui): Combobox component and style tooltip for label 2025-07-03 17:50:40 +01:00
Brian McGee
3b4fa41840 feat(ui): simplify form components
Better pass through to the underlying Kobalte API without re-defining types.
2025-07-03 17:50:39 +01:00
Brian McGee
9d257c1538 fix(ui): hover and inverted colors for checkbox 2025-07-03 17:50:39 +01:00
Brian McGee
dffbc28723 feat(ui): add fieldset component 2025-07-03 17:50:38 +01:00
Brian McGee
b2a1c8cf6a feat(ui): add form field with text, textarea and checkbox support 2025-07-03 17:50:38 +01:00
hsjobeki
d5a1aba480 Merge pull request 'docs: update vpn setup instructions' (#4192) from docs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4192
2025-07-03 14:32:13 +00:00
Johannes Kirschbauer
0f6f0a6237 docs: add zerotier debugging commands 2025-07-03 16:25:10 +02:00
Qubasa
85670d1dda clan-app: Implement dynamic groups and array based filtering of logs and groups 2025-07-03 17:49:34 +07:00
hsjobeki
0d771ffd10 Merge pull request 'inventory: fix missing default for instances.*.module' (#4189) from fix-inventory into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4189
2025-07-03 10:13:57 +00:00
Johannes Kirschbauer
f40ceccdc0 inventory: fix missing default for instances.*.module 2025-07-03 12:06:29 +02:00
Johannes Kirschbauer
62ada9e1c2 docs: update vpn setup instructions 2025-07-03 12:04:56 +02:00
Johannes Kirschbauer
fe47157a7c docs: fix wrong roles assignment syntax 2025-07-03 11:42:26 +02:00
lassulus
b607e1ac25 Merge pull request 'refactor: remove deployment.json and use direct selectors' (#4142) from lassulus/remove-deployment-json into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4142
2025-07-02 19:13:39 +00:00
lassulus
a055b4d1eb 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
hsjobeki
40cd8672f1 Merge pull request 'machines/update: queue update only for machines_to_update' (#4186) from cli-fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4186
2025-07-02 17:16:12 +00:00
Johannes Kirschbauer
9932f170ca machines/update: queue update only for machines_to_update 2025-07-02 19:05:37 +02:00
hsjobeki
93fc836e6b Merge pull request 'clan.deployment: unify deprecated options' (#4184) from cli-fix into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4184
2025-07-02 16:48:19 +00:00