Jörg Thalheim
aec45d3a1a
test_history_cli: clear capsys before reading from program
2024-08-15 17:59:11 +02:00
Jörg Thalheim
65d44c644a
try to log content of flake substitutes
2024-08-15 17:43:57 +02:00
Johannes Kirschbauer
4940767fcc
Serde: extend deserializer to accept anything
2024-08-15 15:08:15 +02:00
Jörg Thalheim
8e1b96aea5
fixtures_flake: avoid fileinput
...
it seems that the inplace argument in some cases picks up output from
unrelated functions. Since the file is relativly small, we can just
replace the content in one go.
2024-08-14 16:56:44 +02:00
Johannes Kirschbauer
c86b14d34d
Clan-app: generate hw spec via ssh
2024-08-14 16:28:43 +02:00
Johannes Kirschbauer
dfbe03bf6b
Serializer: filter None fields, to avoid conflicts with nix module system
2024-08-13 19:27:59 +02:00
DavHau
75328beb06
vars: add test for deployment
2024-08-13 15:29:51 +02:00
DavHau
9381d78feb
clan-cli/vms: add option --publish to forward ports from host to guest
2024-08-04 15:28:51 +07:00
DavHau
b2646aa0fe
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
d3542cf1c8
vars: simplify tests
2024-08-03 15:47:35 +07:00
DavHau
8086f70b79
clan-cli/tests: improve test helpers for VMs
2024-08-03 15:26:53 +07:00
DavHau
cc9c828598
vars: introduce share flag
2024-08-03 15:26:53 +07:00
Qubasa
58a36a5c12
formatter.nix: Add prettier
2024-08-02 18:56:53 +02:00
Qubasa
f1d124dabd
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
a465ad8638
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
6c5f9ca6db
Deserializer: add Literal; Annotated fields
2024-07-31 13:00:28 +02:00
Johannes Kirschbauer
4b2d1b7923
Deserializer: add Nullable fields
2024-07-30 14:26:13 +02:00
Johannes Kirschbauer
e21bfbc257
Deserializer: replace pydantic
2024-07-30 12:26:16 +02:00
Qubasa
0dcc9f903b
clan-vm-manager: Fix regression
2024-07-29 17:33:46 +02:00
Johannes Kirschbauer
d11e725a80
Clan-app: example disk view
2024-07-29 11:49:55 +02:00
Johannes Kirschbauer
3e5ceb0eeb
Serializer: use alias, make it configurable for different use cases
2024-07-29 09:01:06 +02:00
Johannes Kirschbauer
c648e647bf
Serde: add unit tests for all serialization and deserialization logic
2024-07-26 14:23:41 +02:00
DavHau
9996f5596c
vars/sops: store secrets in /sops/vars
2024-07-24 18:42:50 +07:00
clan-bot
8020010fcf
Merge pull request 'Inventory improvements' ( #1795 ) from hsjobeki/clan-core:hsjobeki-main into main
2024-07-24 11:23:16 +00:00
Johannes Kirschbauer
1d51ae5c85
Fix unit tests
2024-07-24 13:15:08 +02:00
DavHau
bf5cc8c215
tests/generate_flake: support inventory argument
2024-07-24 17:06:42 +07:00
Johannes Kirschbauer
679fd914e0
Inventory: add load_eval method
2024-07-24 10:34:10 +02:00
DavHau
5bd20fcf2c
vars: add support for password-store
2024-07-23 14:54:18 +07:00
DavHau
9ff076aec1
vars: implement prompts
2024-07-22 20:40:12 +07:00
Jörg Thalheim
a1a36606e4
cleanup deprecated facts options
2024-07-21 18:11:30 +02:00
Jörg Thalheim
3d12aabf0c
test_flake_with_core_and_pass: don't use deprecated options
2024-07-21 18:03:51 +02:00
Johannes Kirschbauer
3435db68c8
Classgen: add error reporting and combine common classes
2024-07-19 13:03:38 +02:00
Johannes Kirschbauer
07965598f5
Classgen: add mapped keys and more stuff
2024-07-18 21:58:36 +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
DavHau
d700f651b4
vars: add test for multiple machines
2024-07-16 18:35:13 +07: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
Johannes Kirschbauer
b324e1a4f4
Fix some type issues
2024-07-11 17:05:57 +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
DavHau
e7908c2af5
clan-cli: simplify cli helper
2024-07-10 18:14:06 +07: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
Jörg Thalheim
e1b7805aef
fix new linter issues
2024-07-08 16:30:15 +02:00
Johannes Kirschbauer
04ef8d824e
Inventory spec: make system optional
2024-07-06 17:56:22 +02:00