216 Commits

Author SHA1 Message Date
Johannes Kirschbauer
da98ca0f1c clanLib: remove unused mapInstances 2025-10-30 13:54:05 +01:00
Johannes Kirschbauer
1953540d08 tests: update inventory tests to use whole clan modules 2025-10-30 13:54:05 +01:00
Johannes Kirschbauer
2e55028a1b services: move into clan submodule 2025-10-30 13:53:49 +01:00
Johannes Kirschbauer
affb926450 services: remove duplicate module args 2025-10-30 10:10:55 +01:00
Johannes Kirschbauer
c7f65e929f inventoryAdapter: replace importedModulesEvaluated by equivalent config 2025-10-30 10:10:31 +01:00
hsjobeki
eb08803e2a revert bfb30251e6
revert lib: replace uniqueStrings after upstreamed

TODO: Reapply after 25.11 release
2025-10-30 08:29:43 +00:00
Johannes Kirschbauer
b3323007b2 test: update test filesets 2025-10-28 09:04:50 +01:00
hsjobeki
fb25ab028b Merge pull request 'services: add role settings with explicit warning' (#5676) from role-settings into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5676
2025-10-27 15:33:39 +00:00
Johannes Kirschbauer
bfb30251e6 lib: replace uniqueStrings after upstreamed 2025-10-27 14:00:46 +01:00
Johannes Kirschbauer
33115f76b7 services: add role settings with explicit warning 2025-10-27 13:31:44 +01:00
hsjobeki
6b3fd57174 Merge pull request 'extraModules: soft deprecation for string extraModules' (#5656) from inline into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5656
2025-10-27 12:12:17 +00:00
Johannes Kirschbauer
24b94965d8 docs: add experimental note to 'exports' 2025-10-24 17:05:47 +02:00
Johannes Kirschbauer
6ee4657da3 extraModules: soft deprecation for string extraModules 2025-10-24 12:54:17 +02:00
Johannes Kirschbauer
f50475fcfd services: allow inline modules 2025-10-23 18:43:07 +02:00
pinpox
dc0b7fc3bf Add library function to read public vars 2025-10-22 19:56:10 +02:00
Johannes Kirschbauer
c838e08d77 lib/modules: fixup paths 2025-10-21 20:41:28 +02:00
Johannes Kirschbauer
346e3d816a lib/modules: move modules out of lib 2025-10-21 19:35:50 +02:00
Johannes Kirschbauer
345aa12e99 build-inventory: move inventory and inventoryClass into explizitly different folders 2025-06-25 17:55:45 +02:00
Johannes Kirschbauer
ae4e18c152 build-inventory: replace by equivalent submodule 2025-06-25 17:23:46 +02:00
Johannes Kirschbauer
0c8f23ed3e Chore: add _file for internals error tracing 2025-06-25 15:47:18 +02:00
Johannes Kirschbauer
0bb621f0f7 inventory/interface: reduce apply arguments chain by adding it to _module.args 2025-06-25 15:15:22 +02:00
Johannes Kirschbauer
e1cb17db35 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
DavHau
e70afa9511 bring back services rendering for docs
Setting services to visible = false breaks stuff
2025-06-25 13:48:50 +07:00
DavHau
12682b608c 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
DavHau
7745e9eec6 inventory interface: add description for module.name 2025-06-24 10:09:05 +00:00
Johannes Kirschbauer
18af41cc19 Feat(inventory): simplify instance module spec, by applying a default 2025-06-23 15:46:52 +02:00
Johannes Kirschbauer
39d0347c22 Fix(clan-services): allMachines might not contain the machineName 2025-06-20 14:41:17 +02:00
Johannes Kirschbauer
aa26d2ebf2 feat(clan-services): enable recursive services
Using recursive services is potentially complex and requires carefully
designed services. Nested Services create nixos modules which must be
mergable as always.
2025-06-15 20:06:02 +02:00
Johannes Kirschbauer
aa65e8e533 chore(clan-service): remove and unify unecessary bindings 2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
216494c3db feat(clan-service): add module context for better error messages 2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
01a3151968 Chore(clanInternals): remove unused attributes 2025-06-10 18:27:16 +02:00
Johannes Kirschbauer
b3321d5482 Fix(tests/inventory): fix test by adding passtrhough
Since nixosModule is not inspectable during unit test
2025-06-04 14:30:12 +02:00
Johannes Kirschbauer
4883b11bb6 Feat(clanServices): expose all other instance options than nixosModule
This is usefull for augmenting the perInstance module
2025-06-04 14:29:36 +02:00
Johannes Kirschbauer
0180013e68 docs(service-modules): add description and docs for options 2025-06-04 12:40:37 +02:00
Johannes Kirschbauer
ac0477e710 Fix(inventory/extraModules): use more narrow type for better persistence 2025-06-03 18:57:34 +02:00
Johannes Kirschbauer
9214559d38 Fix(tests/inventory): fix test assertions due to change in the exported structure 2025-06-03 18:30:04 +02:00
Johannes Kirschbauer
c6947a8fab feat(inventory/instances): add option for extraModules to roles 2025-06-03 18:17:16 +02:00
Johannes Kirschbauer
97d7c38ba7 chore(inventory/instances): add forward all role attributes to the service 2025-06-03 17:38:02 +02:00
Johannes Kirschbauer
582841ba05 feat(inventory/instances): map over all machines and return lazy attributes 2025-06-03 17:37:04 +02:00
DavHau
1add6a6314 clan tests: convert makeTestClan to a module
Let's not put yet another wrapper around runTest, instead expose our logic as a module that can be imported into any nixos-vm-test
2025-06-03 19:38:02 +07:00
Qubasa
ae41bfad8c inventory: Add buildHost argument 2025-06-02 14:52:13 +02:00
Johannes Kirschbauer
1ef2e13c85 feat(nix_models): replace inventory model by holistic clan model 2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
c4980d3990 fix(clanLib): propagate clanLib into module apply 2025-05-21 20:44:56 +02:00
Johannes Kirschbauer
3951889b74 Feat(settings): use uniqueDeferredSerializableModule for settings 2025-05-21 18:41:20 +02:00
hsjobeki
3edd6487cc Merge pull request 'feat(docs,api): expose inventory.instances interface' (#3721) from hsjobeki/clan-core:inventory-services-1 into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3721
2025-05-20 15:29:14 +00:00
Johannes Kirschbauer
4f79c3e47d feat(clanServices): add 'readme' to module manifest 2025-05-20 17:00:53 +02:00
Johannes Kirschbauer
6e822a2811 feat(docs,api): expose inventory.instances interface" 2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
935d39abb3 chore(inventory/tags): remove unsupported settings from tags interface 2025-05-20 16:10:32 +02:00
Jörg Thalheim
09c62b8b2d Stop warning about inventory.instances
we now marked inventory.modules as deprecated, so this new api can be no
longer under development
2025-05-20 10:12:34 +02:00
Johannes Kirschbauer
af58c32238 Docs: unify 'manual' with 'guides' folder
This is one of the final steps towards strictly following
https://diataxis.fr/
2025-05-18 20:40:40 +02:00