Commit Graph

13 Commits

Author SHA1 Message Date
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
DavHau
1b3dc65b89 vars/sops: store secrets in /sops/vars 2024-07-24 18:42:50 +07: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
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
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
DavHau
941cf9fb9d vars: implement generating public variables via in_repo 2024-07-09 14:26:56 +07:00