Commit graph

897 commits

Author SHA1 Message Date
d20c2ddfc6
rm unused ssh settings 2025-09-01 15:19:52 +02:00
e57ef09300
dedupe inputDerivations 2025-09-01 15:19:52 +02:00
4403e3ff9f
rm cowsay 2025-09-01 15:19:52 +02:00
5555e14779
remove unused JSON-serialized args (sources) 2025-09-01 15:19:52 +02:00
9783a461a9
factor out to nixos.nix 2025-09-01 15:19:52 +02:00
6e01c454a4
rm users 2025-09-01 15:19:52 +02:00
a87fee4055
simplify grub 2025-09-01 15:19:52 +02:00
1b5ac64568
rm users 2025-09-01 15:19:52 +02:00
3d64683df3
reenable ipv6 2025-09-01 15:19:52 +02:00
5e1cee9ab3
reenable firewall 2025-09-01 15:19:52 +02:00
0a3ac78758
rm comments 2025-09-01 15:19:52 +02:00
a6fa7838b3
rm getty 2025-09-01 15:19:52 +02:00
d872f202fd
mv attempts 2025-09-01 15:19:52 +02:00
5a3bbb3f58
download-attempts: settle for just targetNode 2025-09-01 15:19:52 +02:00
7b2fb9fe2a
rm comment 2025-09-01 15:19:52 +02:00
a60bc4f6db
restore imports 2025-09-01 15:19:52 +02:00
94a4318f43
dedupe nixosTest.nix 2025-09-01 15:19:52 +02:00
6e0627f983
qemu guest 2025-09-01 15:19:52 +02:00
325c228b84
grub 2025-09-01 15:19:52 +02:00
3b514b9960
auto login 2025-09-01 15:19:52 +02:00
71ef264ff8
networking 2025-09-01 15:19:52 +02:00
bf7aebd852
users 2025-09-01 15:19:52 +02:00
5bb939d68e
handle test outcome 2025-09-01 15:19:52 +02:00
81467ba3e5
specialArgs: sources 2025-09-01 15:19:52 +02:00
130ccf78c0
nix in tests: download-attempts = 1 2025-09-01 15:19:52 +02:00
a9c6b667fb
ensure inputs 2025-09-01 15:19:52 +02:00
cba3311289
rm paste 2025-09-01 15:19:52 +02:00
248ba40771
move stuff not needed in test out 2025-09-01 15:19:52 +02:00
e2fc829c66
ensure availability of needed inputs 2025-09-01 15:19:52 +02:00
d6e30517ec
reduce download attempts in test 2025-09-01 15:19:52 +02:00
24d4a7aea7
settle for hello, ditching cowsay 2025-09-01 15:19:52 +02:00
dc0b4caf3b
move imports from paste to targetNode to increase parity between paste and nixosTest 2025-09-01 15:19:52 +02:00
7011b4ff40
ditch superfluous substituters 2025-09-01 15:19:52 +02:00
329b5b7a22
pasteable command for trying without rebuilding vm 2025-09-01 15:19:52 +02:00
1d0a696c31
add keys 2025-09-01 15:19:52 +02:00
8540773207
wip: use ssh in test 2025-09-01 15:19:52 +02:00
f71487469b
add deployment method: ssh 2025-09-01 15:19:52 +02:00
5a23f63939
un-nixops 2025-09-01 15:19:52 +02:00
424b27be3f
scaffold deployment/check/data-model from ./basic
modelify
2025-09-01 15:19:52 +02:00
806f561153
allow different deployment types 2025-09-01 15:19:52 +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