Johannes Kirschbauer
d6714355b5
refactor(clan.service): make evalClanService a standalone function to interact with standalone modules
2025-04-29 15:12:44 +02:00
Johannes Kirschbauer
12709227ee
Feat(clan.service): require roles.interface to be json serializable
2025-04-29 14:42:47 +02:00
Johannes Kirschbauer
be165c1462
Feat(clan.service): init automatic assertions for api schema checks
2025-04-27 11:49:56 +02:00
Johannes Kirschbauer
5253c155c0
feat(services): init feature flags in the module manifest: 'manifest.features.API'
2025-04-27 11:07:45 +02:00
Michael Hoang
d3e474bb4b
docs: always evaluate with class of nixos
2025-04-22 23:39:47 +10:00
Johannes Kirschbauer
1bad82b5c0
Fix: manually define empty tags for testing
2025-04-21 17:17:56 +02:00
Johannes Kirschbauer
fc27c87e2b
Inventory/tags: init {nixos,darwin} tags
2025-04-21 16:43:15 +02:00
Johannes Kirschbauer
cd11835ec4
Reapply "Merge pull request 'chore(buildClan): move machineClass option into inventory.machines submodule' ( #3259 ) from hsjobeki/clan-core:buildclan-cleanup into main"
...
This reverts commit 6154b4cb3a .
2025-04-09 18:16:35 +02:00
Johannes Kirschbauer
b0fb0752e9
fix(checks/data-mesher): format, dont pass a duplicate data-mesher module
2025-04-09 18:03:04 +02:00
Johannes Kirschbauer
3ccfcdc0c1
fix(eval/inventory): fix some test arguments to buildInventory
2025-04-09 17:38:06 +02:00
Johannes Kirschbauer
9f159084cd
feat(buildInventory): move instance resolution into buildInventory
...
Such that buildClan doesn't have to compose the results
buildInventory should be more self contained. But it is NOT meant a
public API! use buildClan argument 'inventory' instead
2025-04-09 17:31:35 +02:00
Johannes Kirschbauer
e37f16f47a
treewide(clanLib): rename all occurences of {clan-core,self}.lib to 'clanLib'
2025-04-09 11:32:46 +02:00
Johannes Kirschbauer
7c955f2820
chore(lib/getModuleClass): remove unused library function
2025-04-08 22:09:10 +02:00
hsjobeki
5879bcd6d9
Merge pull request 'docs(authoring): restructure authoring guides' ( #3248 ) from hsjobeki/clan-core:docs-authoring into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3248
2025-04-08 19:58:59 +00:00
hsjobeki
0e26bfc228
Merge pull request 'chore(inventory/services): dont check _class in our logics. Let the error eccour in the final evaluation.' ( #3236 ) from hsjobeki/clan-core:role-settings into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3236
2025-04-08 19:49:46 +00:00
Johannes Kirschbauer
485b6ae5c4
docs(authoring): restructure authoring guides
...
Mainly because we have two module specs now and they will remain
valid for a while. We need to keep the older format documented for a while
2025-04-08 21:32:19 +02:00
Sam Lehman
4fe822b340
devshells: name shells for clarity
2025-04-08 19:31:30 +00:00
Johannes Kirschbauer
8c970dc04a
chore(inventory/instances): don't eagerly test the service modules _class
2025-04-08 20:30:35 +02:00
Johannes Kirschbauer
dd62b6c97a
chore(inventory/services): dont check _class of legacy clanModules.
...
Let the module system handle the error. Once we shift to deferred
modules, things get more complicated and we cannot check the module
class eagerly
2025-04-08 20:30:33 +02:00
Johannes Kirschbauer
be8b86153c
fix(getModulesSchema): forward argument to evalClanModules
2025-04-08 19:53:20 +02:00
Johannes Kirschbauer
29fbf361a7
chore(lib/modulesDocs): move dependency on clan-core and pkgs into function args
...
This is a good idea, to make lib agnostic from clan-core
The next step could be to rename the clan-core argument name
Or to explizitly pass the actual dependencies, instead of everything in
clan-core
2025-04-08 15:30:49 +02:00
hsjobeki
6df1b4a085
Merge pull request 'feat(inventory/instances): add extendSettings as argument to perInstance, perMachine' ( #3233 ) from hsjobeki/clan-core:role-settings into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3233
2025-04-08 12:46:44 +00:00
Johannes Kirschbauer
375b18fd32
feat(inventory/instances): dont set module location to allow underlying error location to bubble up
2025-04-08 14:36:29 +02:00
Johannes Kirschbauer
5db084e011
feat(inventory/instances): add extendSettings as argument to perInstance, perMachine
2025-04-08 13:15:06 +02:00
Brian McGee
b31cf42d2d
fix(docs): tighten up validation for meta.name and improved description
2025-04-08 10:44:35 +01:00
Michael Hoang
ce85aebc17
tests: add --show-trace to nix-unit tests
2025-04-08 08:53:29 +02:00
Michael Hoang
b5a57a72a0
build-clan: support constructing darwinConfigurations
2025-04-08 08:53:29 +02:00
hsjobeki
d15ac22d41
Merge pull request 'chore(lib/select): move into subfolder with a test file' ( #3175 ) from hsjobeki/clan-core:lib-cleanup into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3175
2025-04-04 12:32:32 +00:00
Johannes Kirschbauer
bc2e353dff
feat(lib/inventory): fix arguments discrepancy on perInstance and perMachine
2025-04-04 14:22:36 +02:00
Johannes Kirschbauer
3358eb1bfa
chore(lib/select): init simple test
2025-04-04 14:06:05 +02:00
DavHau
e435bc2f72
workaround bug in docs rendering if machine.name is not set
2025-04-03 17:29:07 +07:00
Johannes Kirschbauer
11f213f8e2
feat(inventory/instances): prevent modules without explizit class from beeing used
2025-04-02 14:57:21 +02:00
Johannes Kirschbauer
f6f0c1b356
fix(inventory/interface): use explizit file dependency, until dependency injection works properly
2025-04-02 11:12:16 +02:00
Johannes Kirschbauer
6e16d1345e
chore(lib/treewide): cleanup directory struture of lib. See lib/readme.md for details
2025-04-02 11:11:21 +02:00
Johannes Kirschbauer
208cd12328
feat(inventory/instances): only warn if instances is populated
2025-03-30 17:07:11 +02:00
Johannes Kirschbauer
d9741be51a
feat(lib/inventory): use clanLib instead of clan-core as internal specialArg. This has the benefit of beeing more narrow scoped.
2025-03-30 17:07:09 +02:00
Johannes Kirschbauer
a3b636aab3
fix(tests): include 'lib' always as a whole
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
2190dffad0
feat(inventory/instances): add wip warning
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
9a5b3597ee
test(inventory/legacy): don't need to support clanModules
2025-03-29 16:35:43 +01:00
Johannes Kirschbauer
330a4b2449
feat(inventory/instances): preserve settings modifiers close at source
2025-03-29 15:39:02 +01:00
Johannes Kirschbauer
ca1777fddc
fix(inventory/instances): fix jsonschema compatibility
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
922a8510e4
feat(inventory/instances): init instances as new attribute for adding distributed services
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
c71d5e9d48
feat(inventory/modules): allow inline modules
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
fb883e54a6
Inventory: rename internal inventory toplevel attribute to 'inventoryClass'
2025-03-07 12:30:29 +00:00
Johannes Kirschbauer
9faf221b3e
inventory: refactor role resolution into submodule
2025-02-08 10:43:54 +07:00
Johannes Kirschbauer
85c432b4b1
Inventory: test include missing dependency folder
2025-02-08 10:43:53 +07:00
Johannes Kirschbauer
e4af2225c7
Inventory: migrate import and config resolution into a module
2025-02-05 16:23:30 +07:00
Johannes Kirschbauer
005f44c964
Inventory: move build inventory into a module
2025-02-05 11:06:43 +07:00
Johannes Kirschbauer
6a5332ec8c
inventory: use special args to split build inventory into modules
2025-02-05 09:56:08 +07:00
Johannes Kirschbauer
a29b16d6a8
inventory: fix test: supported roles beeing to lazy
2025-02-05 09:56:08 +07:00