Commit Graph

1160 Commits

Author SHA1 Message Date
Qubasa
131299694b clan-vm-manager: Restore to known good version 2024-07-19 22:07:34 +02:00
Johannes Kirschbauer
bfaaa2e038 Classgen: make type order predictable 2024-07-19 18:49:16 +02:00
Johannes Kirschbauer
243aa17d55 Classgen: refactor functions 2024-07-19 18:20:22 +02:00
Johannes Kirschbauer
33261ab4b6 Classgen: add error reporting and combine common classes 2024-07-19 13:03:38 +02:00
Johannes Kirschbauer
a4b1a0eb47 Commit generated code otherwise CI cannot check types 2024-07-19 09:52:14 +02:00
Johannes Kirschbauer
fbe27bfa0a Classgen: add mapped keys and more stuff 2024-07-18 21:58:36 +02:00
Johannes Kirschbauer
b752d2eb67 Init: Autogenerate classes from nix interfaces 2024-07-18 19:14:12 +02:00
Qubasa
274701b381 clan: Fix treefmt not applying mypy lints on clan_cli and clan_app 2024-07-17 21:50:52 +02:00
Jörg Thalheim
64956a7a0a Revert "clan-cli: deprecate nix_shell() in favor of run_cmd()"
This reverts commit a598b878a5.
2024-07-17 14:04:49 +02:00
clan-bot
483425d6a3 Merge pull request 'Inventory: init: deployment info for machines' (#1767) from hsjobeki/clan-core:hsjobeki-main into main 2024-07-17 10:18:50 +00:00
Johannes Kirschbauer
ad70ee72e5 Unit tests: fix template test - override the input in the flake template 2024-07-17 12:06:23 +02:00
DavHau
566c1403c0 vars: implement dependencies 2024-07-17 16:42:16 +07:00
Johannes Kirschbauer
fdd19b8ddd Inventory: fix dataclasses discrepancy once more 2024-07-17 11:39:18 +02:00
Johannes Kirschbauer
bc520df9ff Inventory: fix options 2024-07-17 10:55:46 +02:00
Johannes Kirschbauer
e236dba1c9 Inventory: extend python dataclasses by schema changes 2024-07-17 10:09:58 +02:00
Johannes Kirschbauer
baa9dc1d1a Inventory: extend model by deployment info 2024-07-17 10:09:58 +02:00
Qubasa
d9fa19ad3b clan-app: WebExecutor now mirrors jsonschema api types generically 2024-07-16 16:34:59 +02:00
clan-bot
e57ac53506 Merge pull request 'cli: add programms to allowed list' (#1765) from hsjobeki/clan-core:hsjobeki-main into main 2024-07-16 11:52:56 +00:00
Johannes Kirschbauer
d7bf84e3be cli: add programms to allowed list 2024-07-16 13:49:16 +02:00
DavHau
c618cd744b vars: add test for multiple machines 2024-07-16 18:35:13 +07:00
clan-bot
f17b9d4aa6 Merge pull request 'API: async signal integration migration' (#1762) from hsjobeki/clan-core:hsjobeki-main into main 2024-07-16 09:37:25 +00:00
Johannes Kirschbauer
dae5d01999 API: async signal integration migration 2024-07-16 11:28:20 +02:00
DavHau
a598b878a5 clan-cli: deprecate nix_shell() in favor of run_cmd() 2024-07-16 14:03:17 +07:00
DavHau
e7d5a6f854 impure-checks: improve performance by disabling dynamic deps 2024-07-16 12:42:45 +07:00
Qubasa
77dc90d3b4 clan-app: Fix mypy lints and add GenericFnRuntime 2024-07-15 19:48:20 +02:00
Qubasa
660ac92c29 clan-app: Add Webview to python async backend 2024-07-15 19:24:38 +02:00
Johannes Kirschbauer
c43c4ef067 Fix schema test 2024-07-14 15:02:32 +02:00
Johannes Kirschbauer
96e7d93e01 Fix schema test 2024-07-14 13:38:43 +02:00
Qubasa
a3715280bc clan-cli: Fix missing allowed-programs.json in package 2024-07-14 13:07:24 +02:00
Johannes Kirschbauer
473a21f1d8 Fix some type issues 2024-07-11 17:05:57 +02:00
Johannes Kirschbauer
4c4f55f309 Clan create: migrate to inventory 2024-07-11 16:39:06 +02:00
DavHau
053e61e3f0 vars: implement sops.defaultGroups 2024-07-11 18:39:29 +07:00
DavHau
430adc875a clan-cli: improve runtime dependency management
Many dependencies of clan-cli  are currently dynamically loaded via nix-shell on each execution.
This is nice, as it reduces the initial closure size of clan, but the overhead introduced by nix-shell piles up quickly, as some commands shell out many times during their lifetime. For example, when adding a secret git is called 10+ times.

This reduces the time of a test which adds a secret from around 50 seconds to 15 seconds.

- add run_cmd() as an alternative to nix_shell()
- introduce the concept of static dependencies which do not need to go through nix-shell
- static dependencies are defined at build time and included into the wrapper for clan-cli
- add package: clan-cli-full which statically ships all required dependencies

TODO: deprecate nix_shell() in favor of run_cmd()
2024-07-11 15:34:41 +07:00
DavHau
7dbed61079 vars: implement secret generation 2024-07-11 11:37:17 +07:00
clan-bot
2a245a6111 Merge pull request 'clan-cli: simplify cli helper' (#1726) from DavHau/clan-core:DavHau-dave into main 2024-07-10 11:18:48 +00:00
DavHau
4898706480 clan-cli: simplify cli helper 2024-07-10 18:14:06 +07:00
Johannes Kirschbauer
44d2f58c47 UI: init flash poc 2024-07-10 09:43:18 +02:00
Mic92
a3e2b76517 Merge branch 'main' into DavHau-dave 2024-07-09 09:33:11 +00:00
DavHau
941cf9fb9d vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00
DavHau
759660de16 clan-cli: add vars command 2024-07-09 12:42:29 +07:00
DavHau
cc6370ba1b WIP: vars: copy python code from facts 2024-07-09 12:42:29 +07:00
Jörg Thalheim
4c217f3f1b fix new linter issues 2024-07-08 16:30:15 +02:00
Jörg Thalheim
c694cdf4b4 add shellcheck hints to all envrc files 2024-07-08 16:24:34 +02:00
Johannes Kirschbauer
55c4003a76 Inventory spec: make system optional 2024-07-06 17:56:22 +02:00
Johannes Kirschbauer
edcc1a5cb2 Test: fixup 2024-07-06 17:51:46 +02:00
Johannes Kirschbauer
44ee831d04 Test: ensure type inference runs on all dataclasses 2024-07-06 17:22:47 +02:00
Johannes Kirschbauer
492a776bde API Types: treat '_*' as private fields and dont inspect them 2024-07-06 17:22:47 +02:00
DavHau
79d6f8e893 Reapply "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit 71009f80d8.

workaround upstream bug: https://github.com/NixOS/nixpkgs/issues/324802
2024-07-05 19:29:01 +07:00
Mic92
e81906881b Merge pull request 'Revert "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"' (#1710) from revert-broken-migration into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/1710
2024-07-05 09:48:24 +00:00
DavHau
336e99b2a7 clan-cli tests: remove dynamic inclusion of helpers module
Dynamically extending the python path at runtime is bad for developer experience, as this is not understood by the text editor and therefore jump to definition etc. does not work.

-> Better to remove the dynamic inclusion and force developers to specify the import correctly.
2024-07-05 16:38:22 +07:00