Commit graph

20 commits

Author SHA1 Message Date
cd097a7afd
resolve resource mapping input discrepancy according to actual implementation, adjusting the type accordingly 2025-07-22 19:12:58 +02:00
4f024c8030
fix application resource type 2025-07-22 19:12:58 +02:00
7ec11ebde8
fix application-requirements 2025-07-22 19:12:58 +02:00
a6fc12709d
resolve rebase 2025-07-22 19:12:58 +02:00
cce6a06bf3
untangle applications from function type, as they seem to not need the introspection (and may type-check input without it) 2025-07-22 19:12:58 +02:00
1b3dc70466
fix environment deployment 2025-07-22 19:12:51 +02:00
eba4be2b1e
model: add classes
remove _class for application requirements to allow iterating over values

rm function class

re-add nix-unit class
2025-07-22 19:12:50 +02:00
1cc6a31c9c
use submodule to turn module into type for functionTo 2025-07-22 19:12:48 +02:00
c94d575392
use mapAttrs right
`mapAttrs'` takes two args rather than a set, whereas if only the val
changes `mapAttrs (_: v: ...)` should do
2025-07-22 19:12:47 +02:00
307ff1d6ac
fix typos, lint, format 2025-07-19 18:38:46 +02:00
71446a891f
WIP: (broken) implement test 2025-07-19 18:38:36 +02:00
37df0f370d
WIP: implement mappings 2025-07-19 18:34:18 +02:00
5b1993c800
WIP: start writing an evaluation test
turns out we also need a collection of configurations, obviously
next: figure out where to wire everything up to obtain a deployment
2025-07-19 18:31:26 +02:00
17647b194b
WIP: add missing types 2025-07-19 18:31:07 +02:00
dd0aff13d7
WIP: implement data model as in diagram
this doesn't update the tests yet because we don't have all the data
types in place anyway yet, and I still need to come up with testable examples.
2025-07-19 18:30:26 +02:00
e3e2a3359c
data model: migration 2025-07-19 18:29:09 +02:00
9230ea540c
data model: deployment 2025-07-19 18:29:02 +02:00
5345860006 data model: add run-time configuration (#437)
based on @fricklerhandwerk's work at https://git.fediversity.eu/fricklerhandwerk/Fediversity/compare/main...data-model-as-diagram part of #103.
supersedes #402.

on the application model, feedback on a [sample implementation](#2) welcome as well.

Reviewed-on: Fediversity/Fediversity#437
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-06 21:42:25 +02:00
9a25a04bfa specify _class module attributes to explicitly declare module types (#398)
closes #93.

note that this includes classes:

- `nixos`
- `nixosTest`
- `nixops4Resource`
- `nixops4Deployment`

.. and my (made-up, as per the [docs](https://ryantm.github.io/nixpkgs/module-system/module-system/#module-system-lib-evalModules-param-class)):

- `nix-unit`
- `package`

.. while i did not manage to cover:

- service tests, given `pkgs.nixosTest` seemed to not actually like `_class = "nixosTest"` (?!)

... nor #93's mentioned destructured arguments for that matter, as per Fediversity/Fediversity#93 (comment) - let me know if that is still desired as well.

Reviewed-on: Fediversity/Fediversity#398
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-06-23 17:24:54 +02:00
939f9d961d add data model entity: application (#387)
part of #103.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Reviewed-on: Fediversity/Fediversity#387
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-06-17 17:11:52 +02:00