Commit Graph

519 Commits

Author SHA1 Message Date
Johannes Kirschbauer
2ebeb2e205 clanLib: remove select 2025-06-30 16:14:01 +02:00
DavHau
ee5fa8fe74 checks: rename attributes for better discoverability
- all eval checks prefixed with `eval-`
- all service checks prefixed with `service-`
2025-06-30 19:04:21 +07:00
DavHau
8de7a9f040 services: improve error when module not found 2025-06-30 11:44:30 +00:00
DavHau
e0b2d15361 tests: explicitly specify services to be sourced from self
See previous commit
2025-06-30 10:13:46 +00:00
DavHau
50cce90527 clan services: use service modules from clan-core by default
Users will use clan-core services first before making their own. Therefore this is a better default. Also it allow us to simplify rendering of our docs
2025-06-30 10:13:46 +00:00
Jörg Thalheim
f1fd710dd1 add regression test for macOS evaluation 2025-06-29 23:58:19 +02:00
Jörg Thalheim
622597e70f overridePkgs: drop unneeded parantheses 2025-06-29 23:58:19 +02:00
Jörg Thalheim
43b205624d no longer fallback to "nixos" machineClass
we should always have a value defined.
2025-06-29 23:58:19 +02:00
Jörg Thalheim
43df2c9a14 fix unlocked flake.lock in tests 2025-06-28 08:50:41 +02:00
Jörg Thalheim
e152740017 container-test-driver: implement wait_for_open_port 2025-06-27 18:35:55 +02:00
kenji
89e8673e82 Merge pull request 'lib/test/sops: Fix secret deployment for test machines' (#4120) from kenji/ke-fix-sops-test-integration into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4120
2025-06-27 10:45:41 +00:00
a-kenji
0a56f60005 lib/test/sops: Fix secret deployment for test machines
Fix secret deployment for test machines in our NixOS vm and container
tests.

We filter now if we really need to deploy a certain set of files as a
deployment script, which alleviates us running into these edgecases:
```
error: The option `nodes.server.system.activationScripts.setupSecrets.text'
was accessed but has no value defined. Try setting the option.
```
2025-06-27 12:19:46 +02:00
Johannes Kirschbauer
d011b1ab02 docs: rename all references from 'buildClan' to 'lib.clan' 2025-06-27 09:54:23 +02:00
Johannes Kirschbauer
b34e5b30e5 modules: add explizit class to clan module 2025-06-27 09:53:40 +02:00
Johannes Kirschbauer
79ec0f07eb modules: fix consistent nixpkgs and nix-darwin injection 2025-06-27 09:21:19 +02:00
Johannes Kirschbauer
7833a56723 modules.nixosVmTest: rename to nixosTest to match the target module _class 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
50f6b4a095 modules.clan.default: move specialArgs into common place 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
e195a77476 buildClan: deprecate in favor of 'clan'
clan.lib.clan { <your definition> } returns an eval result
In contrast to buildClan which returns the .config
This allows for better introspection
2025-06-26 17:08:47 +02:00
Johannes Kirschbauer
0271af0dcb modules: move clan module to flake.modules.clan.default 2025-06-26 17:08:47 +02:00
Johannes Kirschbauer
7d755d04b5 chore: clean up logic around clanInternals 2025-06-26 16:12:35 +02:00
Johannes Kirschbauer
a95d39923e chore: buildClan warn access without .config prefix
Makes behavior consistent with nixosSystem, nixpkgs.
Alows access to options and other eval modules results
Needed for error tracking and better devx
2025-06-26 15:21:49 +02:00
Johannes Kirschbauer
acaf44e2c5 chore: remove spurious class 2025-06-26 15:20:18 +02:00
Johannes Kirschbauer
e77769bd20 refactor: clanLib buildClan 2025-06-26 15:20:05 +02:00
Johannes Kirschbauer
11a94893fb refactor: unify evalClanService with evalService 2025-06-26 14:50:35 +02:00
Johannes Kirschbauer
1568950410 refactor: simplify buildClan remove any filtering 2025-06-26 13:56:14 +02:00
Johannes Kirschbauer
6c460db016 schema: update clan option source 2025-06-26 13:24:34 +02:00
Johannes Kirschbauer
a01ece8742 Refactor(build-inventory): remove build-inventory in favor of simple and expressive evalModules 2025-06-26 11:11:50 +02:00
Johannes Kirschbauer
0bb5ed923e build-inventory: fix tests temporarily 2025-06-25 18:15:47 +02:00
Johannes Kirschbauer
c91b5fb3db build-inventory: move inventory and inventoryClass into explizitly different folders 2025-06-25 17:55:45 +02:00
Johannes Kirschbauer
68ed393c87 build-inventory: replace by equivalent submodule 2025-06-25 17:23:46 +02:00
Johannes Kirschbauer
16392622c5 Chore: add _file for internals error tracing 2025-06-25 15:47:18 +02:00
Johannes Kirschbauer
1819243123 inventory/interface: reduce apply arguments chain by adding it to _module.args 2025-06-25 15:15:22 +02:00
Johannes Kirschbauer
d0ae75e5cc build-clan: export default.nix that injects clanLib
This should be the single entry point, that includes clanLib
instead of importApply propagation
2025-06-25 12:07:59 +02:00
Johannes Kirschbauer
aa96a11369 build-clan: move clan attribute relates modules into subfolder 2025-06-25 10:55:37 +02:00
hsjobeki
3e030a5199 Merge pull request 'build-clan: move clan attribute relates modules into subfolder' (#4063) from clan-unify into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4063
2025-06-25 08:46:18 +00:00
DavHau
9299c83822 bring back services rendering for docs
Setting services to visible = false breaks stuff
2025-06-25 13:48:50 +07:00
DavHau
4421ce006e docs: add clan options search page
This provides a simpler and more intuitive search over a flat list of possible options.

Styling still to be improved
2025-06-25 12:55:25 +07:00
Johannes Kirschbauer
9fcbb6d688 build-clan: move clan attribute relates modules into subfolder 2025-06-24 13:13:59 +02:00
pinpox
b53975684e Merge branch 'main' into machine-id-option 2025-06-24 11:12:24 +00:00
DavHau
03fe06285b inventory interface: add description for module.name 2025-06-24 10:09:05 +00:00
pinpox
cb69eea68f Make machine ID a option 2025-06-24 10:42:03 +02:00
hsjobeki
a6f94987f9 Merge pull request 'Feat(inventory): simplify instance module spec, by applying a default' (#4054) from hsjobeki/module-default into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4054
2025-06-23 14:21:55 +00:00
Johannes Kirschbauer
247eb46b5e Refactor(build-clan): rename to lib/modules
This is a preparation for moving everything into clan, to make it all one module evaluation
2025-06-23 16:06:49 +02:00
Johannes Kirschbauer
c37651f2fe Feat(inventory): simplify instance module spec, by applying a default 2025-06-23 15:46:52 +02:00
hsjobeki
1e0860df22 Merge pull request 'feat(clan-services): enable recursive services' (#3972) from hsjobeki/nested-services into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3972
2025-06-20 12:51:27 +00:00
Johannes Kirschbauer
8bb28b7ba7 Fix(clan-services): allMachines might not contain the machineName 2025-06-20 14:41:17 +02:00
Jörg Thalheim
a260083919 fix(vars-check): include generator scripts in test closure
The vars-check test was failing because it only included the
runtimeInputs of generators but not the actual generator scripts
themselves. This caused the test to fail when trying to execute
generators that reference local files (like generate.py).

Added allGeneratorScripts to the closureInfo to ensure all generator
scripts and their dependencies are available in the test environment.
2025-06-17 21:09:59 +02:00
Jörg Thalheim
80a0f66809 no longer make test derivation depends on vars-check
this triggers more builds than necessary.
2025-06-17 21:09:59 +02:00
Jörg Thalheim
268a95f2e4 clan-nixos-test: pass clan-core to test nodes via module args
This allows tests that need access to clan-core (e.g. for clan-cli or
dependencies) to use it within their node configurations.
2025-06-17 19:04:47 +02:00
Jörg Thalheim
29b2c51391 clan-nixos-test: add individual vars-checks back
The consolidated vars-check was too slow to eval. Individual vars-checks allow for better parallelization.
2025-06-17 18:49:16 +02:00