DavHau
7cf065ae8c
buildClan function: export all machines via nixosModules/darwinModules
...
We want each machine not only to be exposed via nixosConfigurations but also as a module.
This allows re-importing the machine in tests and override the architecture for example.
2025-06-09 12:51:22 +00:00
DavHau
ae611e8fde
lib: mkOfflineFlakeLock init
...
copied from the clan-core-flake module
I plan to re-use this function to improve the clan test framework to allow cli execution
2025-06-09 15:23:09 +07:00
DavHau
4616545cba
build-clan: refactor: don't only use imports
2025-06-09 13:24:27 +07:00
hsjobeki
22db6ace21
Merge pull request 'Feat(jsonschema): simplify isRequired, look into default and defaultText' ( #3861 ) from json-schema into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3861
2025-06-04 18:34:40 +00:00
Johannes Kirschbauer
e8608f5af3
feat(jsonschema): filter out $exportedModuleInfo by default
2025-06-04 20:22:54 +02:00
Johannes Kirschbauer
cdaa35ca5f
feat(jsonschema): remove 'default' if 'defaultText' is present
...
default is likely to contain an error thunk if defaultText is set
including it into $exportedModuleInfo makes it non-serializable
2025-06-04 20:22:32 +02:00
Johannes Kirschbauer
f99ddab70f
Feat(jsonschema): simplify isRequired, look into default and defaultText
2025-06-04 19:57:39 +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
pinpox
11fd796d44
Fix test runner for tests without vars
2025-06-03 22:35:10 +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
DavHau
a0cbc815e8
makeTestClan: simplify - move parameters into module
...
... in preparation of removing the makeTestClan wrapper and make this a module instead that can be imported into any test.
2025-06-03 19:38:02 +07:00
Qubasa
27791477b1
inventory: Add buildHost argument
2025-06-02 14:52:13 +02:00
DavHau
65d9ef02dc
generate-test-vars: fake prompt inputs
...
Use fake prompt inputs when generating vars for testing
2025-05-31 17:14:26 +07:00
DavHau
d27834b565
tests: actually execute vars checks in CI
2025-05-31 16:16:09 +07:00
DavHau
e81771a724
tests: test vars generation for all clan service tests
2025-05-31 12:17:52 +07:00
Mic92
1523ac18c9
Merge pull request 'Add inputs to specialArgs and make templates use it' ( #3798 ) from templates into main
...
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/3798
2025-05-30 18:33:33 +00:00
Jörg Thalheim
646a3d56ce
add inputs to specialArgs and make templates use it.
2025-05-30 19:53:12 +02:00
Jörg Thalheim
1a1898b5f1
container-test: better error message for nsenter
2025-05-30 12:27:51 +02:00
Jörg Thalheim
795ace408a
container-test: disable UsePam for ssh
...
doesn't work without setuid, which we currently do not support.
2025-05-30 11:53:20 +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
e2e4344d83
fix(clan/interface): minor fixes
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
2510b2bb77
Tests(deferred custom module): add more tests, dissallow nested imports
2025-05-21 18:54:07 +02:00
Johannes Kirschbauer
9f298ecb86
Feat(settings): use uniqueDeferredSerializableModule for settings
2025-05-21 18:41:20 +02:00
Johannes Kirschbauer
df0b8cfd45
Feat(clanLib): init types {uniqueDeferredSerializableModule}
2025-05-21 18:41:14 +02:00
Johannes Kirschbauer
b628b12b3e
Fix(introspection): 'lazyAttrsOf' needs to get the same handling as 'attrsOf'
2025-05-21 16:45:19 +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
Johannes Kirschbauer
f6544d1cda
Feat(jsonschema): convert deferredModule to unknown
2025-05-20 15:48:28 +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
Qubasa
d765f1078b
clan-cli: Unify list_machines and use flake caching
2025-05-16 10:47:49 +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
Jörg Thalheim
84c0c7e678
lib.filter: allow to name inputs
2025-05-13 13:31:12 +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