Commit Graph

652 Commits

Author SHA1 Message Date
pinpox
aeb555a320 Fix tests 2025-07-15 13:40:54 +02:00
pinpox
8caaaa5b8b wip 2025-07-15 13:17:34 +02:00
pinpox
0e53499f40 Remove clanModules 2025-07-15 11:53:32 +02:00
Johannes Kirschbauer
e7c9d1e6d0 services: add modules schema to inventoryClass 2025-07-13 14:17:57 +02:00
Johannes Kirschbauer
5f19e76cd0 api/modules: remove redundant localModules 2025-07-13 11:52:19 +02:00
Johannes Kirschbauer
bb20e3926f modules: add explicit class constraints 2025-07-11 14:38:59 +02:00
Johannes Kirschbauer
5c234ac643 Docs: fix rendering clan source code url 2025-07-09 17:24:20 +02:00
Jörg Thalheim
0e97efbbef refactor: move docs transformOptions to clanLib to reduce rebuilds
- Add clanLib.docs.stripStorePathsFromDeclarations to deduplicate code
- Update all documentation generation to use the shared function
- This strips store paths from option declarations to prevent options.json
  from rebuilding when only store paths change but content remains the same
- Reduces unnecessary documentation rebuilds when making unrelated changes
2025-07-09 16:59:58 +02:00
Jörg Thalheim
3c6771ecae override-inputs: filter out self 2025-07-07 21:25:33 +02:00
Jörg Thalheim
462974b85c checks/inventory: optimize eval tests to use filtered sources
Replace full flake source (self) with minimal filtered filesets to prevent
unnecessary rebuilds when unrelated files change. All three inventory eval
tests now use the same unified fileset containing only necessary files.

This follows the same optimization pattern applied to other eval tests,
significantly reducing rebuild frequency during development.
2025-07-07 20:41:20 +02:00
Jörg Thalheim
833e872ccf don't rebuild eval tests on each ci run 2025-07-07 20:05:45 +02:00
Jörg Thalheim
b692f6fcfe put flake input overrides into a helper function 2025-07-07 15:59:09 +00:00
Johannes Kirschbauer
adb726c318 Templates/list: display templates via exposed nix value 2025-07-06 14:37:03 +02:00
Jörg Thalheim
cb89457731 migrate all projects to python 3.13 linting 2025-07-04 18:39:01 +02:00
Johannes Kirschbauer
f40ceccdc0 inventory: fix missing default for instances.*.module 2025-07-03 12:06:29 +02:00
hsjobeki
6a411250b7 Merge pull request 'clanServices: add flake level exports' (#4172) from flake-exports into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4172
2025-07-02 08:42:07 +00:00
Johannes Kirschbauer
2afc653877 clan/exportsModule: add missing default 2025-07-02 10:32:56 +02:00
Johannes Kirschbauer
416d789188 flake-exports: add options documentation 2025-07-02 10:22:09 +02:00
Johannes Kirschbauer
af06dec6f4 clanServices: add test to ensure nixosModule is imported 2025-07-01 17:35:04 +02:00
Johannes Kirschbauer
8d15a7ed62 clanServices: remove recursive services
Initially added in #3972 we've decided to remove them, because they are to complex to use correctly
2025-07-01 17:03:58 +02:00
Johannes Kirschbauer
a89502e47f clanServices: add flake level exports 2025-07-01 16:54:19 +02:00
hsjobeki
a052f30b10 Merge pull request 'clanServices: clean up, add tests' (#4157) from default-modules into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4157
2025-07-01 12:09:28 +00:00
hsjobeki
69f070ac70 Merge pull request 'Lib/flakes: remove self references' (#4165) from fix-lib into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4165
2025-07-01 12:03:52 +00:00
Johannes Kirschbauer
d785169fbf lib.clan: properly merge self attrs 2025-07-01 14:02:02 +02:00
Johannes Kirschbauer
20e17b0e56 Lib/flakes: remove self references 2025-07-01 13:57:49 +02:00
Johannes Kirschbauer
42d1cd2a83 modules/clan: inject .clan into self.inputs if self is an attribute set 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
afd1ba6306 checks: mock self.inputs.self by default 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
e260168a6b clanServices: add tests for resolve modules 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
1e94fd18f8 clanServices: remove unnecessary localModules 2025-07-01 13:19:37 +02:00
Johannes Kirschbauer
65f01c72bd clanServices: remove unneeded self reference in lib 2025-07-01 13:19:37 +02:00
Mic92
b766d290cd Merge pull request 'vars-check: replace slow python implementation with pure nix' (#4144) from machine-class into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4144
2025-07-01 10:53:27 +00:00
Jörg Thalheim
a780dbe60c vars-check: replace slow python implementation with pure nix 2025-07-01 12:46:50 +02:00
Johannes Kirschbauer
667cee0f6e buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
Johannes Kirschbauer
4f496a84f9 clanLib: remove select 2025-06-30 16:14:01 +02:00
DavHau
73b298d0b2 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
6f2672addd services: improve error when module not found 2025-06-30 11:44:30 +00:00
DavHau
2a3e786cfe tests: explicitly specify services to be sourced from self
See previous commit
2025-06-30 10:13:46 +00:00
DavHau
f966f5b745 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
14226d222e add regression test for macOS evaluation 2025-06-29 23:58:19 +02:00
Jörg Thalheim
37611d2477 overridePkgs: drop unneeded parantheses 2025-06-29 23:58:19 +02:00
Jörg Thalheim
fd689a25f5 no longer fallback to "nixos" machineClass
we should always have a value defined.
2025-06-29 23:58:19 +02:00
Jörg Thalheim
581dfeffeb fix unlocked flake.lock in tests 2025-06-28 08:50:41 +02:00
Jörg Thalheim
044edc9d06 container-test-driver: implement wait_for_open_port 2025-06-27 18:35:55 +02:00
kenji
e6a8f507dd 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
465548db26 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
731de62876 docs: rename all references from 'buildClan' to 'lib.clan' 2025-06-27 09:54:23 +02:00
Johannes Kirschbauer
35d50489bb modules: add explizit class to clan module 2025-06-27 09:53:40 +02:00
Johannes Kirschbauer
04a31bea67 modules: fix consistent nixpkgs and nix-darwin injection 2025-06-27 09:21:19 +02:00
Johannes Kirschbauer
5dc8865da1 modules.nixosVmTest: rename to nixosTest to match the target module _class 2025-06-26 17:37:42 +02:00
Johannes Kirschbauer
e9600a19c1 modules.clan.default: move specialArgs into common place 2025-06-26 17:37:42 +02:00