Commit Graph

1110 Commits

Author SHA1 Message Date
Qubasa
728f8f5758 clan-vm-manager: Restore to known good version 2024-07-19 22:07:34 +02:00
Johannes Kirschbauer
6d441a1494 Classgen: make type order predictable 2024-07-19 18:49:16 +02:00
Johannes Kirschbauer
5c18f67fed Classgen: refactor functions 2024-07-19 18:20:22 +02:00
Johannes Kirschbauer
3435db68c8 Classgen: add error reporting and combine common classes 2024-07-19 13:03:38 +02:00
Johannes Kirschbauer
6d49f5c926 Commit generated code otherwise CI cannot check types 2024-07-19 09:52:14 +02:00
Johannes Kirschbauer
07965598f5 Classgen: add mapped keys and more stuff 2024-07-18 21:58:36 +02:00
Johannes Kirschbauer
7e84eaa4b3 Init: Autogenerate classes from nix interfaces 2024-07-18 19:14:12 +02:00
Qubasa
8ad7c2b89a clan: Fix treefmt not applying mypy lints on clan_cli and clan_app 2024-07-17 21:50:52 +02:00
Jörg Thalheim
0d6e2539e3 Revert "clan-cli: deprecate nix_shell() in favor of run_cmd()"
This reverts commit 37e6ca7a30.
2024-07-17 14:04:49 +02:00
clan-bot
f317495e80 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
076a5cad89 Unit tests: fix template test - override the input in the flake template 2024-07-17 12:06:23 +02:00
DavHau
117843021e vars: implement dependencies 2024-07-17 16:42:16 +07:00
Johannes Kirschbauer
24b3674983 Inventory: fix dataclasses discrepancy once more 2024-07-17 11:39:18 +02:00
Johannes Kirschbauer
0bfba72739 Inventory: fix options 2024-07-17 10:55:46 +02:00
Johannes Kirschbauer
ef18d60286 Inventory: extend python dataclasses by schema changes 2024-07-17 10:09:58 +02:00
Johannes Kirschbauer
7e21428548 Inventory: extend model by deployment info 2024-07-17 10:09:58 +02:00
Qubasa
ccece77680 clan-app: WebExecutor now mirrors jsonschema api types generically 2024-07-16 16:34:59 +02:00
clan-bot
be4f90eca1 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
54dcbfae01 cli: add programms to allowed list 2024-07-16 13:49:16 +02:00
DavHau
d700f651b4 vars: add test for multiple machines 2024-07-16 18:35:13 +07:00
clan-bot
8a092cfed4 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
cc238ecc60 API: async signal integration migration 2024-07-16 11:28:20 +02:00
DavHau
37e6ca7a30 clan-cli: deprecate nix_shell() in favor of run_cmd() 2024-07-16 14:03:17 +07:00
DavHau
0e335f7ecc impure-checks: improve performance by disabling dynamic deps 2024-07-16 12:42:45 +07:00
Qubasa
cd48b8df0c clan-app: Fix mypy lints and add GenericFnRuntime 2024-07-15 19:48:20 +02:00
Qubasa
25fea331d0 clan-app: Add Webview to python async backend 2024-07-15 19:24:38 +02:00
Johannes Kirschbauer
ad321976ff Fix schema test 2024-07-14 15:02:32 +02:00
Johannes Kirschbauer
7bbe63a525 Fix schema test 2024-07-14 13:38:43 +02:00
Qubasa
bdbf8a8da0 clan-cli: Fix missing allowed-programs.json in package 2024-07-14 13:07:24 +02:00
Johannes Kirschbauer
b324e1a4f4 Fix some type issues 2024-07-11 17:05:57 +02:00
Johannes Kirschbauer
dfec6afd6b Clan create: migrate to inventory 2024-07-11 16:39:06 +02:00
DavHau
9988fb744c vars: implement sops.defaultGroups 2024-07-11 18:39:29 +07:00
DavHau
75b969b1ad 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
d21926db47 vars: implement secret generation 2024-07-11 11:37:17 +07:00
clan-bot
b066c3633a 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
e7908c2af5 clan-cli: simplify cli helper 2024-07-10 18:14:06 +07:00
Johannes Kirschbauer
10bae7dcb0 UI: init flash poc 2024-07-10 09:43:18 +02:00
Mic92
3e6c41593d Merge branch 'main' into DavHau-dave 2024-07-09 09:33:11 +00:00
DavHau
3447a98bee vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00
DavHau
26ff2beea9 clan-cli: add vars command 2024-07-09 12:42:29 +07:00
DavHau
9ff0045698 WIP: vars: copy python code from facts 2024-07-09 12:42:29 +07:00
Jörg Thalheim
e1b7805aef fix new linter issues 2024-07-08 16:30:15 +02:00
Jörg Thalheim
9e6d5124ad add shellcheck hints to all envrc files 2024-07-08 16:24:34 +02:00
Johannes Kirschbauer
04ef8d824e Inventory spec: make system optional 2024-07-06 17:56:22 +02:00
Johannes Kirschbauer
2ebc0902c1 Test: fixup 2024-07-06 17:51:46 +02:00
Johannes Kirschbauer
a7b7cc888b Test: ensure type inference runs on all dataclasses 2024-07-06 17:22:47 +02:00
Johannes Kirschbauer
cb13ddb464 API Types: treat '_*' as private fields and dont inspect them 2024-07-06 17:22:47 +02:00
DavHau
4cde2d96be Reapply "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit 9778444706.

workaround upstream bug: https://github.com/NixOS/nixpkgs/issues/324802
2024-07-05 19:29:01 +07:00
Mic92
fb38516a86 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
0367fc1e90 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