Commit Graph

584 Commits

Author SHA1 Message Date
Johannes Kirschbauer
3f46d37b67 Clan-app: generate hw spec via ssh 2024-08-14 16:28:43 +02:00
Johannes Kirschbauer
8d1a1ddb17 Serializer: filter None fields, to avoid conflicts with nix module system 2024-08-13 19:27:59 +02:00
DavHau
6892202bf2 vars: add test for deployment 2024-08-13 15:29:51 +02:00
DavHau
a4847915de clan-cli/vms: add option --publish to forward ports from host to guest 2024-08-04 15:28:51 +07:00
DavHau
629861d404 tests: improve testing framework for impure vm tests
Also fix computet sops secret paths for vars
2024-08-04 13:40:12 +07:00
DavHau
0ca3d036f2 vars: simplify tests 2024-08-03 15:47:35 +07:00
DavHau
e22ec9ea5a clan-cli/tests: improve test helpers for VMs 2024-08-03 15:26:53 +07:00
DavHau
d1c2f0b622 vars: introduce share flag 2024-08-03 15:26:53 +07:00
Qubasa
fb4ceebccf formatter.nix: Add prettier 2024-08-02 18:56:53 +02:00
Qubasa
3e9ebbc90f clan-app: Finish flash view. clan-cli: Flash cli now verifies if language and keymap are valid. 2024-08-02 17:51:45 +02:00
a-kenji
0a58adce18 clan: remove config subcommand
This removes the `config` subcommand from the cli and the documentation
to keep the api surface small.

While this functionality was convenient it doesn't need to be surfaced
by the clan cli.

The remaining `config` python module should be ported to the `clan-app`
in a follow up pr. Because the functionality is currently only used by
the `clan-app`.
Ideally together with: #1830.
2024-07-31 16:35:36 +00:00
Johannes Kirschbauer
8ddfaba599 Deserializer: add Literal; Annotated fields 2024-07-31 13:00:28 +02:00
Johannes Kirschbauer
9db6cb8b6f Deserializer: add Nullable fields 2024-07-30 14:26:13 +02:00
Johannes Kirschbauer
5d8fa57f23 Deserializer: replace pydantic 2024-07-30 12:26:16 +02:00
Qubasa
ce1dec774e clan-vm-manager: Fix regression 2024-07-29 17:33:46 +02:00
Johannes Kirschbauer
4be5ed28db Clan-app: example disk view 2024-07-29 11:49:55 +02:00
Johannes Kirschbauer
395a7fc70e Serializer: use alias, make it configurable for different use cases 2024-07-29 09:01:06 +02:00
Johannes Kirschbauer
d7b6fc16a4 Serde: add unit tests for all serialization and deserialization logic 2024-07-26 14:23:41 +02:00
DavHau
1b3dc65b89 vars/sops: store secrets in /sops/vars 2024-07-24 18:42:50 +07:00
clan-bot
49ace8a765 Merge pull request 'Inventory improvements' (#1795) from hsjobeki/clan-core:hsjobeki-main into main 2024-07-24 11:23:16 +00:00
Johannes Kirschbauer
1b52dca96b Fix unit tests 2024-07-24 13:15:08 +02:00
DavHau
2bc716377d tests/generate_flake: support inventory argument 2024-07-24 17:06:42 +07:00
Johannes Kirschbauer
871fa8f1ff Inventory: add load_eval method 2024-07-24 10:34:10 +02:00
DavHau
5105ff14e0 vars: add support for password-store 2024-07-23 14:54:18 +07:00
DavHau
0acf9178c8 vars: implement prompts 2024-07-22 20:40:12 +07:00
Jörg Thalheim
7004d1ea7f cleanup deprecated facts options 2024-07-21 18:11:30 +02:00
Jörg Thalheim
e0640b0a29 test_flake_with_core_and_pass: don't use deprecated options 2024-07-21 18:03:51 +02:00
Johannes Kirschbauer
33261ab4b6 Classgen: add error reporting and combine common classes 2024-07-19 13:03:38 +02:00
Johannes Kirschbauer
fbe27bfa0a Classgen: add mapped keys and more stuff 2024-07-18 21:58:36 +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
DavHau
c618cd744b vars: add test for multiple machines 2024-07-16 18:35:13 +07: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
Johannes Kirschbauer
473a21f1d8 Fix some type issues 2024-07-11 17:05:57 +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
DavHau
4898706480 clan-cli: simplify cli helper 2024-07-10 18:14:06 +07: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
Jörg Thalheim
4c217f3f1b fix new linter issues 2024-07-08 16:30:15 +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
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