Johannes Kirschbauer
e07551cecf
Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api
2025-04-30 11:02:58 +02:00
Johannes Kirschbauer
8495106ec4
feat(services): init feature flags in the module manifest: 'manifest.features.API'
2025-04-27 11:07:45 +02:00
Michael Hoang
f40ab5c379
docs: always evaluate with class of nixos
2025-04-22 23:39:47 +10:00
Johannes Kirschbauer
cd0e8eafce
Fix: manually define empty tags for testing
2025-04-21 17:17:56 +02:00
Johannes Kirschbauer
9d413a7682
Inventory/tags: init {nixos,darwin} tags
2025-04-21 16:43:15 +02:00
Johannes Kirschbauer
35379d3b86
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 62dfb23e41 .
2025-04-09 18:16:35 +02:00
Johannes Kirschbauer
c344d57298
fix(checks/data-mesher): format, dont pass a duplicate data-mesher module
2025-04-09 18:03:04 +02:00
Johannes Kirschbauer
ec2aee3013
fix(eval/inventory): fix some test arguments to buildInventory
2025-04-09 17:38:06 +02:00
Johannes Kirschbauer
05c45371af
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
a6a79e83a0
treewide(clanLib): rename all occurences of {clan-core,self}.lib to 'clanLib'
2025-04-09 11:32:46 +02:00
Johannes Kirschbauer
f399aad06e
chore(lib/getModuleClass): remove unused library function
2025-04-08 22:09:10 +02:00
hsjobeki
f60da91dea
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
aa75cc4777
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
b4f63b8835
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
e0a6ed3d49
devshells: name shells for clarity
2025-04-08 19:31:30 +00:00
Johannes Kirschbauer
9af20ad8b5
chore(inventory/instances): don't eagerly test the service modules _class
2025-04-08 20:30:35 +02:00
Johannes Kirschbauer
f7d5a529aa
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
821264fe2e
fix(getModulesSchema): forward argument to evalClanModules
2025-04-08 19:53:20 +02:00
Johannes Kirschbauer
ce84c4cddb
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
411440ef35
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
07e6df35a5
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
4913d2db87
feat(inventory/instances): add extendSettings as argument to perInstance, perMachine
2025-04-08 13:15:06 +02:00
Brian McGee
0c7cf305e2
fix(docs): tighten up validation for meta.name and improved description
2025-04-08 10:44:35 +01:00
Michael Hoang
67745e1b27
tests: add --show-trace to nix-unit tests
2025-04-08 08:53:29 +02:00
Michael Hoang
6de4735c81
build-clan: support constructing darwinConfigurations
2025-04-08 08:53:29 +02:00
hsjobeki
b0d8d1f195
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
f326c307eb
feat(lib/inventory): fix arguments discrepancy on perInstance and perMachine
2025-04-04 14:22:36 +02:00
Johannes Kirschbauer
6d4bbc3e92
chore(lib/select): init simple test
2025-04-04 14:06:05 +02:00
DavHau
2ed69d7ef8
workaround bug in docs rendering if machine.name is not set
2025-04-03 17:29:07 +07:00
Johannes Kirschbauer
788d9b9670
feat(inventory/instances): prevent modules without explizit class from beeing used
2025-04-02 14:57:21 +02:00
Johannes Kirschbauer
2715c398cc
fix(inventory/interface): use explizit file dependency, until dependency injection works properly
2025-04-02 11:12:16 +02:00
Johannes Kirschbauer
2ab53b05fe
chore(lib/treewide): cleanup directory struture of lib. See lib/readme.md for details
2025-04-02 11:11:21 +02:00
Johannes Kirschbauer
fe5796ba17
feat(inventory/instances): only warn if instances is populated
2025-03-30 17:07:11 +02:00
Johannes Kirschbauer
f2e89d27fe
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
d4d4d77d2d
fix(tests): include 'lib' always as a whole
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
c0ebad1cd9
feat(inventory/instances): add wip warning
2025-03-30 15:29:05 +02:00
Johannes Kirschbauer
40ae510075
test(inventory/legacy): don't need to support clanModules
2025-03-29 16:35:43 +01:00
Johannes Kirschbauer
fa6c3be21e
feat(inventory/instances): preserve settings modifiers close at source
2025-03-29 15:39:02 +01:00
Johannes Kirschbauer
a69b81488b
fix(inventory/instances): fix jsonschema compatibility
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
bec4317709
feat(inventory/instances): init instances as new attribute for adding distributed services
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
fae8ec318d
feat(inventory/modules): allow inline modules
2025-03-29 13:25:19 +01:00
Johannes Kirschbauer
a2b76eb5a2
Inventory: rename internal inventory toplevel attribute to 'inventoryClass'
2025-03-07 12:30:29 +00:00
Johannes Kirschbauer
f9fc6904f0
inventory: refactor role resolution into submodule
2025-02-08 10:43:54 +07:00
Johannes Kirschbauer
6deaab506a
Inventory: test include missing dependency folder
2025-02-08 10:43:53 +07:00
Johannes Kirschbauer
02929e9d42
Inventory: migrate import and config resolution into a module
2025-02-05 16:23:30 +07:00
Johannes Kirschbauer
2018de8d9e
Inventory: move build inventory into a module
2025-02-05 11:06:43 +07:00
Johannes Kirschbauer
ae2990657a
inventory: use special args to split build inventory into modules
2025-02-05 09:56:08 +07:00
Johannes Kirschbauer
3d8bececc3
inventory: fix test: supported roles beeing to lazy
2025-02-05 09:56:08 +07:00
Johannes Kirschbauer
9d06dec7d0
Inventory: add new module class: class='clan'
2025-02-05 09:56:08 +07:00
Johannes Kirschbauer
6755aa2c70
inventory: migrate tests
2025-02-04 13:20:15 +07:00