DavHau
d37c7c4c05
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
828e97775a
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
ae5781c09c
build-clan: refactor: don't only use imports
2025-06-09 13:24:27 +07:00
hsjobeki
9a77e0db43
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
1019911b20
feat(jsonschema): filter out $exportedModuleInfo by default
2025-06-04 20:22:54 +02:00
Johannes Kirschbauer
7a7bcf68c6
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
dad55040ba
Feat(jsonschema): simplify isRequired, look into default and defaultText
2025-06-04 19:57:39 +02:00
Johannes Kirschbauer
b3321d5482
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
4883b11bb6
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
0180013e68
docs(service-modules): add description and docs for options
2025-06-04 12:40:37 +02:00
pinpox
e70cf14e8e
Fix test runner for tests without vars
2025-06-03 22:35:10 +02:00
Johannes Kirschbauer
ac0477e710
Fix(inventory/extraModules): use more narrow type for better persistence
2025-06-03 18:57:34 +02:00
Johannes Kirschbauer
9214559d38
Fix(tests/inventory): fix test assertions due to change in the exported structure
2025-06-03 18:30:04 +02:00
Johannes Kirschbauer
c6947a8fab
feat(inventory/instances): add option for extraModules to roles
2025-06-03 18:17:16 +02:00
Johannes Kirschbauer
97d7c38ba7
chore(inventory/instances): add forward all role attributes to the service
2025-06-03 17:38:02 +02:00
Johannes Kirschbauer
582841ba05
feat(inventory/instances): map over all machines and return lazy attributes
2025-06-03 17:37:04 +02:00
DavHau
1add6a6314
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
9cb6382cec
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
ae41bfad8c
inventory: Add buildHost argument
2025-06-02 14:52:13 +02:00
DavHau
d9f69d7007
generate-test-vars: fake prompt inputs
...
Use fake prompt inputs when generating vars for testing
2025-05-31 17:14:26 +07:00
DavHau
60f07c3472
tests: actually execute vars checks in CI
2025-05-31 16:16:09 +07:00
DavHau
0060424152
tests: test vars generation for all clan service tests
2025-05-31 12:17:52 +07:00
Mic92
8584d15cf8
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
00984ec581
add inputs to specialArgs and make templates use it.
2025-05-30 19:53:12 +02:00
Jörg Thalheim
9bf919ffad
container-test: better error message for nsenter
2025-05-30 12:27:51 +02:00
Jörg Thalheim
f17dc9897d
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
1ef2e13c85
feat(nix_models): replace inventory model by holistic clan model
2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
ad1f3bfa92
fix(clan/interface): minor fixes
2025-05-28 14:02:43 +02:00
Johannes Kirschbauer
c4980d3990
fix(clanLib): propagate clanLib into module apply
2025-05-21 20:44:56 +02:00
Johannes Kirschbauer
f16cfe68b6
Tests(deferred custom module): add more tests, dissallow nested imports
2025-05-21 18:54:07 +02:00
Johannes Kirschbauer
3951889b74
Feat(settings): use uniqueDeferredSerializableModule for settings
2025-05-21 18:41:20 +02:00
Johannes Kirschbauer
7dc03f8eee
Feat(clanLib): init types {uniqueDeferredSerializableModule}
2025-05-21 18:41:14 +02:00
Johannes Kirschbauer
e17327bea8
Fix(introspection): 'lazyAttrsOf' needs to get the same handling as 'attrsOf'
2025-05-21 16:45:19 +02:00
hsjobeki
3edd6487cc
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
4f79c3e47d
feat(clanServices): add 'readme' to module manifest
2025-05-20 17:00:53 +02:00
Johannes Kirschbauer
6e822a2811
feat(docs,api): expose inventory.instances interface"
2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
935d39abb3
chore(inventory/tags): remove unsupported settings from tags interface
2025-05-20 16:10:32 +02:00
Johannes Kirschbauer
7a0665da6d
Feat(jsonschema): convert deferredModule to unknown
2025-05-20 15:48:28 +02:00
Jörg Thalheim
09c62b8b2d
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
af58c32238
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
dce0ea4008
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
aaafde59cf
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
64bef5980f
docs: move authoring guides into guides subfolder
2025-05-16 16:33:39 +02:00
Johannes Kirschbauer
fe0507b47c
refactor: move clan_cli.error to clan_lib.error
2025-05-16 16:14:39 +02:00
Qubasa
2f0114a236
clan-cli: Unify list_machines and use flake caching
2025-05-16 10:47:49 +02:00
Johannes Kirschbauer
f3c81f5095
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
a058e1a6cd
lib.filter: allow to name inputs
2025-05-13 13:31:12 +02:00
ginkogruen
ba6f5e3552
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
b3af5647a8
Feat: print better error if module was migrated
2025-05-12 16:12:43 +02:00
Johannes Kirschbauer
4b36a6c170
Feat(inventory/manifest): vendor {description, categories} from 'clanModules'
2025-05-12 14:19:04 +02:00