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