Commit Graph

55 Commits

Author SHA1 Message Date
Johannes Kirschbauer
e1cb17db35 build-clan: export default.nix that injects clanLib
This should be the single entry point, that includes clanLib
instead of importApply propagation
2025-06-25 12:07:59 +02:00
Johannes Kirschbauer
582841ba05 feat(inventory/instances): map over all machines and return lazy attributes 2025-06-03 17:37:04 +02:00
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
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
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
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
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
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
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
Jörg Thalheim
9cdd55acf4 drop "system" argument from inventory 2024-10-09 12:07:58 +02:00
Johannes Kirschbauer
534e217020 Inventory/enabled: add eval test 2024-10-08 12:24:57 +02:00
Johannes Kirschbauer
3d88c79fec Inventory/enable: dont include disabled services 2024-10-08 12:24:57 +02:00
Johannes Kirschbauer
52b26f6cda Inventory/tests: add more eval smoke tests 2024-10-08 12:06:03 +02:00
Johannes Kirschbauer
1237071081 Fix: update tests and error message 2024-10-07 23:04:30 +02:00
Johannes Kirschbauer
cc0aa3d2a2 Fix: modules wrong path coercion 2024-10-07 22:47:49 +02:00
Johannes Kirschbauer
978c3c21d4 Inventory/modules: use explicit roles only 2024-10-02 10:01:44 +02:00
Johannes Kirschbauer
40f0e98b26 Inventory: improve role imports 2024-10-02 10:01:44 +02:00
Johannes Kirschbauer
9bee82d21e Inventory: fixup imports to extraModules 2024-09-18 08:27:39 +02:00
Johannes Kirschbauer
d4123a14d2 Inventory: fix eval tests 2024-09-16 22:52:40 +02:00
Johannes Kirschbauer
72f79dee37 Inventory: docs improvements 2024-09-16 22:52:40 +02:00
Johannes Kirschbauer
bc56ce3f4c Inventory: allow arbitrary imports from nix 2024-09-15 16:41:33 +00:00
Johannes Kirschbauer
8d5463587e Inventory: set {name,meta.name} automatically 2024-09-15 15:20:35 +02:00
Johannes Kirschbauer
cfdba6c731 Inventory: only declare the module namespace if any config is defined 2024-09-15 13:35:53 +02:00
Johannes Kirschbauer
e889528ca0 ClanModules: make all module available to inventory 2024-09-13 17:18:20 +02:00
Johannes Kirschbauer
f0f870cf56 Inventory: add assertions, allow external references 2024-08-13 19:22:29 +02:00
Johannes Kirschbauer
bc520df9ff Inventory: fix options 2024-07-17 10:55:46 +02:00
Johannes Kirschbauer
baa9dc1d1a Inventory: extend model by deployment info 2024-07-17 10:09:58 +02:00
Johannes Kirschbauer
9e6f2743e0 Inventory: init: deployment info for machines 2024-07-17 10:07:57 +02:00
Johannes Kirschbauer
5ec952d29d Inventory: migrate failure test message 2024-07-16 10:33:24 +02:00
Jörg Thalheim
d9932b3b81 wip: debug 2024-07-15 20:41:27 +02:00
Jörg Thalheim
ef4ef00d0f inventory: better error message if tags are not found 2024-07-15 20:41:27 +02:00
Johannes Kirschbauer
ec5fb47b32 Inventory: fix tests 2024-07-15 20:41:27 +02:00
Johannes Kirschbauer
d99dfbcedd Inventory: add global imports 2024-07-15 20:41:27 +02:00