Commit Graph

559 Commits

Author SHA1 Message Date
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
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
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
Jörg Thalheim
9778444706 Revert "clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking}"
This reverts commit afbd4a984d.

The old configuration cannot be updated like this:

eve] error:
[eve]        … while calling the 'head' builtin
[eve]          at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/attrsets.nix:1575:11:
[eve]          1574|         || pred here (elemAt values 1) (head values) then
[eve]          1575|           head values
[eve]              |           ^
[eve]          1576|         else
[eve]
[eve]        … while evaluating the attribute 'value'
[eve]          at /nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/lib/modules.nix:809:9:
[eve]           808|     in warnDeprecation opt //
[eve]           809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
[eve]              |         ^
[eve]           810|         inherit (res.defsFinal') highestPrio;
[eve]
[eve]        … while evaluating the option `system.build.toplevel':
[eve]
[eve]        … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/activation/top-level.nix':
[eve]
[eve]        … while evaluating the option `assertions':
[eve]
[eve]        … while evaluating definitions from `/nix/store/5b0hl2dnvr1sawqlkwmsnaiyqz00d34h-source/nixos/modules/system/boot/systemd.nix':
[eve]
[eve]        … while evaluating the option `systemd.services':
[eve]
[eve]        … while evaluating definitions from `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/zerotier':
[eve]
[eve]        … while evaluating the option `clan.core.networking.zerotier.networkId':
[eve]
[eve]        (stack trace truncated; use '--show-trace' to show the full, detailed trace)
[eve]
[eve]        error: A definition for option `clan.core.networking.zerotier.networkId' is not of type `null or string'. Definition values:
[eve]        - In `/nix/store/kpzcdgndym0qm1w490mjvk9c2qmz03h5-source/nixosModules/clanCore/networking.nix':
[eve]            {
[eve]              _type = "override";
[eve]              content = "267efd4a15b69623";
[eve]              priorit
2024-07-05 11:16:05 +02:00
DavHau
f37379908c fixtures_flakes.py: remove dead code 2024-07-05 15:55:52 +07:00
DavHau
afbd4a984d clan.core: rename clan.{deployment,networking} -> clan.core.{deployment,networking} 2024-07-04 17:05:37 +07:00
Jörg Thalheim
5b606c035f move FlakeId to flake id
move FlakeId to flake id
2024-07-03 18:28:55 +02:00
clan-bot
044cf3923e Merge pull request 'refactor-machine' (#1691) from refactor-machine into main 2024-07-03 10:48:09 +00:00
Jörg Thalheim
b4698528ef make machine class now a dataclass 2024-07-03 12:34:43 +02:00
Johannes Kirschbauer
d6493ed64d API: tests for module instance update 2024-07-02 16:09:13 +02:00
Jörg Thalheim
cc583dd79e simplify clan uri further 2024-07-02 12:52:10 +02:00
clan-bot
6b70792cae Merge pull request 'remove unused multi machine clan urls' (#1687) from Mic92-main into main 2024-07-02 10:26:14 +00:00
Jörg Thalheim
e637394370 remove unused multi machine clan urls 2024-07-02 12:20:30 +02:00
Johannes Kirschbauer
d93deacb4b API: remove performance constraints 2024-07-02 12:15:37 +02:00
Johannes Kirschbauer
16c9aa99a9 API: add performance constraints 2024-07-02 12:07:45 +02:00
clan-bot
1448e593e9 Merge pull request 'machines/machines: drop unused qmp wrapper' (#1683) from Mic92-main into main 2024-07-02 10:01:43 +00:00
Jörg Thalheim
815bb336be remove unused MachineParams 2024-07-02 11:57:39 +02:00
Johannes Kirschbauer
5ab22d043d api: clan Modules add readme content 2024-07-02 11:45:48 +02:00
clan-bot
f37d0c746d Merge pull request 'API: migrate add machine to inventory' (#1676) from hsjobeki/clan-core:hsjobeki-main into main 2024-07-02 09:25:01 +00:00
Johannes Kirschbauer
1b7369cf0d Fix test 2024-07-02 11:21:52 +02:00
Jörg Thalheim
d27e474b66 drop duplicate empty template 2024-07-02 10:41:55 +02:00
Johannes Kirschbauer
df934334a2 API: migrate add machine to inventory 2024-07-01 21:55:42 +02:00
DavHau
ea87166e44 api: add endpoint machine_schema 2024-06-27 16:58:37 +07:00
Johannes Kirschbauer
fe21d2edb9 API: add clanModules list and details test 2024-06-25 21:31:44 +02:00
Johannes Kirschbauer
241cca5b70 Docs: rename clanName to just name 2024-06-25 14:21:53 +02:00
Qubasa
62839b6fa0 clan-cli: Better env jailing in temporary_home 2024-06-25 12:03:44 +02:00
Qubasa
70ca824e88 clan-cli: Acutally test SecretStore for age and password-store. 2024-06-24 21:41:16 +02:00