Commit Graph

1112 Commits

Author SHA1 Message Date
Jörg Thalheim
7ea26b1716 flake/create: fix "directory does not exist" error 2024-07-21 16:00:35 +02:00
Jörg Thalheim
5033421c52 only set git author / email when no one is set globally 2024-07-21 16:00:35 +02:00
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