Commit Graph

95 Commits

Author SHA1 Message Date
Johannes Kirschbauer
b71e5378d6 Refactor(inventory/modules): add support for local clan.modules and migrate all checks 2025-05-08 17:17:46 +02:00
Johannes Kirschbauer
c78b736dd5 chore: deprecate usage of inventory.modules in favor of clan.modules 2025-05-07 19:12:07 +02:00
Johannes Kirschbauer
cb8be5015b feat(modules): derive module list from inputs and local modules 2025-05-06 18:57:54 +02:00
hsjobeki
f6b0b5ada5 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
2d5e337f81 tests: add error prefix for json schema in checks 2025-05-05 21:46:16 +02:00
Johannes Kirschbauer
0d003f5424 Refactor(inventory): move prio 'introspection' into inventoryClass to minimize the 'clanInternals' api 2025-04-30 11:02:58 +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
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
Jörg Thalheim
6154b4cb3a Revert "Merge pull request 'chore(buildClan): move machineClass option into inventory.machines submodule' (#3259) from hsjobeki/clan-core:buildclan-cleanup into main"
This reverts commit 325a794d12, reversing
changes made to afbae04aa6.
2025-04-09 16:08:39 +02:00
Johannes Kirschbauer
c49dd6c462 chore(buildClan): move machineClass option into inventory.machines submodule 2025-04-09 12:50:43 +00: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
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
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
Brian McGee
b31cf42d2d fix(docs): tighten up validation for meta.name and improved description 2025-04-08 10:44:35 +01:00
Michael Hoang
b5a57a72a0 build-clan: support constructing darwinConfigurations 2025-04-08 08:53:29 +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
2190dffad0 feat(inventory/instances): add wip warning 2025-03-30 15:29:05 +02: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
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
Johannes Kirschbauer
fdf936c423 Inventory: add new module class: class='clan' 2025-02-05 09:56:08 +07:00
Johannes Kirschbauer
2d9bf1e3cc inventory: migrate tests 2025-02-04 13:20:15 +07:00
Johannes Kirschbauer
46dd52332a Inventory: refactor build-inventory in more independent parts 2025-02-04 13:20:15 +07:00
Jörg Thalheim
522156efc8 Do not deprecate directory argument 2025-02-02 10:30:26 +00:00
Qubasa
ed6aaf5f0c clan: Add autoloaded clanModules from flake inputs. Rename 'directory' to 'self' in buildClan 2025-01-24 12:32:04 +07:00
Johannes Kirschbauer
f0d8349575 Fix: add values prios eval tests 2025-01-10 12:06:01 +00:00
Johannes Kirschbauer
85d03f106b Inventory: warning on undefined tags, instead of error. 2025-01-10 12:06:01 +00:00
Johannes Kirschbauer
db5f934869 Docs: fix all broken anchor references 2024-12-31 15:43:20 +01:00
a-kenji
2a29b8904c lib/*/interface.nix: Fix typos 2024-12-17 11:58:28 +01:00
Johannes Kirschbauer
e5dc7c2f9d docs: fix typo in inventory 2024-12-06 11:07:52 +01:00
Johannes Kirschbauer
7ac8b70ebd clanInternals.inventory: expose used priorities 2024-12-04 17:41:41 +01:00
Johannes Kirschbauer
0d555df9ac Docs/inventory: ad-hoc loading of user modules 2024-11-21 15:38:17 +00:00
Johannes Kirschbauer
cb0eb5f888 Inventory: improve check service message 2024-11-21 15:38:17 +00:00
Johannes Kirschbauer
b3bcecd61c Inventory: init external modules support 2024-11-21 15:38:17 +00:00
Johannes Kirschbauer
9028027220 modules/frontmatter: init module interface as source of frontmatter 2024-11-15 20:04:06 +01:00
Johannes Kirschbauer
0a59803616 Inventory/constraints: add id's to inventory constraints to make them more observable 2024-11-13 13:58:43 +01:00
Johannes Kirschbauer
722012ed55 Modules/constraints: init constraints checking for inventory compatible modules 2024-11-12 18:36:38 +01:00
Johannes Kirschbauer
4994b5acb5 Inventory: init inventory.tags for globally defined static and dynamic tags 2024-11-08 12:48:03 +01:00
Jörg Thalheim
05ea59d38a inventory: make sure we always define all roles, even if we don't have machines
this makes write writing modules easier

add missing roles assertions
2024-11-04 12:57:07 +01:00
danjujan
7a1e952c54 lib: fix typos 2024-10-29 12:37:34 +00:00