DavHau
01737d2bf7
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
27791477b1
inventory: Add buildHost argument
2025-06-02 14:52:13 +02:00
Johannes Kirschbauer
8eb2ad6c6d
feat(nix_models): replace inventory model by holistic clan model
2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
8576016b32
fix(clanLib): propagate clanLib into module apply
2025-05-21 20:44:56 +02:00
Johannes Kirschbauer
9f298ecb86
Feat(settings): use uniqueDeferredSerializableModule for settings
2025-05-21 18:41:20 +02:00
hsjobeki
38159d85f7
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
d8cb43ae8d
feat(clanServices): add 'readme' to module manifest
2025-05-20 17:00:53 +02:00
Johannes Kirschbauer
40e34d9307
feat(docs,api): expose inventory.instances interface"
2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
6863ce136f
chore(inventory/tags): remove unsupported settings from tags interface
2025-05-20 16:10:32 +02:00
Jörg Thalheim
72073494a1
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
88f7b3410e
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
hsjobeki
1bcf5a82a6
Merge pull request 'refactor: move clan_cli.error to clan_lib.error' ( #3677 ) from hsjobeki/clan-core:chores-1 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3677
2025-05-16 15:17:41 +00:00
hsjobeki
fa270cf74c
Merge pull request 'Docs: init migration guide for clanServices' ( #3679 ) from service-docs into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3679
2025-05-16 14:39:22 +00:00
Johannes Kirschbauer
9221231e89
docs: move authoring guides into guides subfolder
2025-05-16 16:33:39 +02:00
Johannes Kirschbauer
f210b2f9a6
refactor: move clan_cli.error to clan_lib.error
2025-05-16 16:14:39 +02:00
Johannes Kirschbauer
9edc3fb881
feat(clanModules): add deprecation feature that generates a warning if the module is used
2025-05-14 17:06:58 +02:00
ginkogruen
70b152b548
fix: Documentation for inventory.tags.nixos option
...
Corrected documentation referencing machines with the machineClass = "darwin" set, when it should be: machineClass = "nixos"
2025-05-12 22:12:43 +00:00
Johannes Kirschbauer
ca17b64237
Feat: print better error if module was migrated
2025-05-12 16:12:43 +02:00
Johannes Kirschbauer
77ec1e9e48
Feat(inventory/manifest): vendor {description, categories} from 'clanModules'
2025-05-12 14:19:04 +02:00
Johannes Kirschbauer
bbed94d6de
Refactor(inventory/manifest): move into seperate file
2025-05-10 13:58:21 +02:00
Johannes Kirschbauer
23a5c845b0
Refactor(inventory/constraints): use explizit dependency injections instead of specialArgs
2025-05-10 13:42:47 +02:00
Johannes Kirschbauer
0af36d0a4d
Refactor(inventory/modules): add support for local clan.modules and migrate all checks
2025-05-08 17:17:46 +02:00
Johannes Kirschbauer
1e379f6fa7
chore: deprecate usage of inventory.modules in favor of clan.modules
2025-05-07 19:12:07 +02:00
Johannes Kirschbauer
7d55511d6f
fix(services): features.API set to true and readOnly
2025-05-06 18:58:40 +02:00
Johannes Kirschbauer
cbd7157cfc
feat(modules): derive module list from inputs and local modules
2025-05-06 18:57:54 +02:00
hsjobeki
89fbf723ca
Merge pull request 'API(cli): add method to Flake class to allow calling nix functions' ( #3502 ) from hsjobeki/clan-core:improvements-2 into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3502
2025-05-05 20:16:28 +00:00
Johannes Kirschbauer
e44d34ef99
feat(clanLib): init evalServiceSchema
2025-05-05 21:55:29 +02:00
Johannes Kirschbauer
9fbd943f44
API(clanInternals): add 'evalServiceSchema' endpoint
2025-05-05 21:46:20 +02:00
Johannes Kirschbauer
d42d9ad943
tests: add error prefix for json schema in checks
2025-05-05 21:46:16 +02:00
hsjobeki
7b4b700c33
Merge pull request 'Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api' ( #3440 ) from hsjobeki/clan-core:ui-fixups into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3440
2025-04-30 10:24:34 +00:00
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
3d09c98ed3
Checks: add json-compat check wrapper to ensure all clan.modules stay json-compatible
2025-04-29 15:31:02 +02:00
Johannes Kirschbauer
a4a1363195
refactor(clan.service): make evalClanService a standalone function to interact with standalone modules
2025-04-29 15:12:44 +02:00
Johannes Kirschbauer
9b5f100ac6
Feat(clan.service): require roles.interface to be json serializable
2025-04-29 14:42:47 +02:00
Johannes Kirschbauer
6dfc324661
Feat(clan.service): init automatic assertions for api schema checks
2025-04-27 11:49:56 +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