DavHau
03fe06285b
inventory interface: add description for module.name
2025-06-24 10:09:05 +00:00
Johannes Kirschbauer
c37651f2fe
Feat(inventory): simplify instance module spec, by applying a default
2025-06-23 15:46:52 +02:00
Johannes Kirschbauer
8bb28b7ba7
Fix(clan-services): allMachines might not contain the machineName
2025-06-20 14:41:17 +02:00
Johannes Kirschbauer
aabe253bf9
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
e14fbb66b1
chore(clan-service): remove and unify unecessary bindings
2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
ca0a56292e
feat(clan-service): add module context for better error messages
2025-06-14 20:03:53 +02:00
Johannes Kirschbauer
e322c92b2e
Chore(clanInternals): remove unused attributes
2025-06-10 18:27:16 +02:00
Johannes Kirschbauer
e4e39f4b86
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
c9398fab12
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
04106b24d2
docs(service-modules): add description and docs for options
2025-06-04 12:40:37 +02:00
Johannes Kirschbauer
e5c0c1e69c
Fix(inventory/extraModules): use more narrow type for better persistence
2025-06-03 18:57:34 +02:00
Johannes Kirschbauer
bbbc13c973
Fix(tests/inventory): fix test assertions due to change in the exported structure
2025-06-03 18:30:04 +02:00
Johannes Kirschbauer
682da0e396
feat(inventory/instances): add option for extraModules to roles
2025-06-03 18:17:16 +02:00
Johannes Kirschbauer
5601423ed5
chore(inventory/instances): add forward all role attributes to the service
2025-06-03 17:38:02 +02:00
Johannes Kirschbauer
9c2bf0bbfe
feat(inventory/instances): map over all machines and return lazy attributes
2025-06-03 17:37:04 +02:00
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