Commit graph

897 commits

Author SHA1 Message Date
cfd603f192
remove unused JSON-serialized args (sources) 2025-09-03 13:07:27 +02:00
5f909a2638
factor out to nixos.nix 2025-09-03 13:07:27 +02:00
c0d5e13aa6
rm users 2025-09-03 13:07:27 +02:00
9b87c5b89d
simplify grub 2025-09-03 13:07:27 +02:00
193d55b48b
rm users 2025-09-03 13:07:27 +02:00
2bf2fe32a7
reenable ipv6 2025-09-03 13:07:27 +02:00
ac5f01a66a
reenable firewall 2025-09-03 13:07:27 +02:00
5b4b674773
rm comments 2025-09-03 13:07:27 +02:00
f2d386e4d3
rm getty 2025-09-03 13:07:27 +02:00
efa11adfdb
mv attempts 2025-09-03 13:07:27 +02:00
3e9cf8a879
download-attempts: settle for just targetNode 2025-09-03 13:07:27 +02:00
ee393e8610
rm comment 2025-09-03 13:07:27 +02:00
db732a6344
restore imports 2025-09-03 13:07:27 +02:00
bd3b1c2e32
dedupe nixosTest.nix 2025-09-03 13:07:27 +02:00
8dd39f05d0
qemu guest 2025-09-03 13:07:27 +02:00
b5496b2be1
grub 2025-09-03 13:07:27 +02:00
15a7fe0c67
auto login 2025-09-03 13:07:27 +02:00
989dd1db51
networking 2025-09-03 13:07:27 +02:00
05bb9ce9fc
users 2025-09-03 13:07:27 +02:00
d9d8fe3025
handle test outcome 2025-09-03 13:07:27 +02:00
567b2fd0b7
specialArgs: sources 2025-09-03 13:07:27 +02:00
dc6478844a
nix in tests: download-attempts = 1 2025-09-03 13:07:27 +02:00
a16615e4e3
ensure inputs 2025-09-03 13:07:27 +02:00
9dc5069c9d
rm paste 2025-09-03 13:07:27 +02:00
8dfb10520e
move stuff not needed in test out 2025-09-03 13:07:27 +02:00
52b9d730b8
ensure availability of needed inputs 2025-09-03 13:07:27 +02:00
a0c1a86129
reduce download attempts in test 2025-09-03 13:07:27 +02:00
431966aede
settle for hello, ditching cowsay 2025-09-03 13:07:27 +02:00
d8cd1f9473
move imports from paste to targetNode to increase parity between paste and nixosTest 2025-09-03 13:07:27 +02:00
fdadbcc9c3
ditch superfluous substituters 2025-09-03 13:07:27 +02:00
8d17c84867
pasteable command for trying without rebuilding vm 2025-09-03 13:07:27 +02:00
fb2b79da88
add keys 2025-09-03 13:07:27 +02:00
d8fcae0ee9
wip: use ssh in test 2025-09-03 13:07:27 +02:00
ae958ce407
add deployment method: ssh 2025-09-03 13:07:27 +02:00
f429ed3656
un-nixops 2025-09-03 13:07:27 +02:00
843f4fe4ec
scaffold deployment/check/data-model from ./basic
modelify
2025-09-03 13:07:27 +02:00
09db4d6217 factor out function wrapper to module function (#503)
lifts the `{ input output }` function wrapper out of the user interface to `function.nix`, simplifying usage.

Reviewed-on: Fediversity/Fediversity#503
2025-09-03 13:06:04 +02:00
c3027eb7d1 move function submodule type (#501)
Reviewed-on: Fediversity/Fediversity#501
2025-09-03 12:52:57 +02:00
4049ca8156 allow different deployment types (#498)
Reviewed-on: Fediversity/Fediversity#498
2025-09-03 12:44:44 +02:00
40e8a0a3c5 CI: allow manual trigger (#495)
Reviewed-on: Fediversity/Fediversity#495
2025-09-03 12:43:25 +02:00
f954ed5389 add proxmox repro test (#345)
closes #325

Reviewed-on: Fediversity/Fediversity#345
Reviewed-by: Nicolas Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-09-01 14:31:50 +02:00
9d903f3ef7 Complete the data model with a runtime environment and end-to-end test (#481)
Closes #103

At last, a fully fledged data model for what Fediversity really is and does. This comes with a test that exercises a very simple but functionally complete arrangement with all ingredients fo the business logic: a dummy resource (login shell), a dummy application (`hello`, which needs a shell to live in), a dummy environment (a single NixOS VM that allows for one, the operator's, login shell), and a deployment of that environment given a dummy configuration (that enables `hello`).

The next step will be to lift this purely evaluation-level test into a VM test which verifies that the resulting VM indeed has `hello` deployed to the operator's user account.

Caveats:
- The exact naming has a bit of room for improvement, and may have diverged from the design document
- The test is not as pedantically type safe as it could be, since we simply use `types.raw` for resources such as NixOS users settings which *could* be more finely delineated

Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: kiara Grouwstra <kiara@procolix.eu>
Reviewed-on: Fediversity/Fediversity#481
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-committed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2025-08-27 00:45:49 +02:00
1f99a4c6c3 listToAttrs o map o attrsToListmapAttrs' (#489)
Reviewed-on: Fediversity/Fediversity#489
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-08-01 13:09:26 +02:00
588bb77a94 Infra: expose and use checks for vmOptions and nixosConfigurations (#488)
Following Fediversity/Fediversity#478 (comment), here is a PR that plugs the infra's `vmOptions` and `nixosConfigurations` outputs into flake checks, instead of calling random Nix commands from the CI. There is still a bit of magic in the CI, but that's because we don't have yet a Nix-aware CI that exposes one job per flake check.

Reviewed-on: Fediversity/Fediversity#488
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-07-31 15:41:02 +02:00
df3a070fa4 Infra: get rid of makeResourceModule (#485)
Reviewed-on: Fediversity/Fediversity#485
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-07-31 00:49:00 +02:00
be72b82875 Link to upstreaming PR for lib.types.fileset (#487)
Reviewed-on: Fediversity/Fediversity#487
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-07-30 13:25:22 +02:00
1b66028f32 Fix infra and add more tests (#478)
This PR contains a bunch of small fixes having to do with infra code. The goal is not to fix everything as that would require a full rewrite. Instead, we fix just what is necessary to get some testing going on. Once that is available, we will be able to work on a full refactor with more guarantees. Something of note is that most of the difficulty was to find code that would make both `nixops4 apply` _and_ `nix build .#nixosConfigurations.<machine>` happy. The takeaway is that the tests that we are adding now will not catch a whole class of tests having to do with how NixOps4 wires up the resources. Still, this is probably less significant as we are supposed to use NixOps4 every now and then.

The commits should be read separately.

Reviewed-on: Fediversity/Fediversity#478
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-07-30 12:31:03 +02:00
4509d277d3 move arguments from _module.args to specialArgs (#469)
Reviewed-on: Fediversity/Fediversity#469
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-23 18:12:55 +02:00
e488230d7b updater: make npins command verbose (#477)
Reviewed-on: Fediversity/Fediversity#477
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-19 13:00:33 +02:00
765183cd0d fix typo in users (#475)
Reviewed-on: Fediversity/Fediversity#475
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-17 19:02:14 +02:00