Commit graph

880 commits

Author SHA1 Message Date
f90e8d0932
more type-safe policy application 2025-07-27 12:45:48 +02:00
8bae65c4c4
[HACK] explicitly pass instantiated policy to apply 2025-07-27 12:45:25 +02:00
119620eb5e
generalize function type to take types to fix un-nixops4 error Expected a module, but found a value of type "option-type" 2025-07-27 12:44:27 +02:00
228365cdf0
[HACK] swap out nixops4 deployments for raw nixos modules
rm deployment

rm imports
2025-07-27 12:12:11 +02:00
c8882e32f6
reproduce nixops4-nixos importing issue: The option environments.single-nixos-vm.deployment.<function body>.resources.the-machine.nixos' does not exist`
add comment explaining our nixops4 type problem
2025-07-27 12:12:11 +02:00
d7e4830bd7
swap out dummy module for actual import
clean deployment module a bit

simplify imports
2025-07-27 12:12:11 +02:00
286f0c245e
model: [DUMMY] use mock deployment to temporarily simplify the problem
type policy.apply

remove `apply`'s optionType, fixes duplicate definition error
2025-07-27 12:12:11 +02:00
44c0a548a8
readability 2025-07-27 12:12:11 +02:00
9b5eb50fbc
environment: fix implementation type 2025-07-22 19:12:58 +02:00
3efe6f347f
pass resourceProviderSystem to nixops4Deployment 2025-07-22 19:12:58 +02:00
cd097a7afd
resolve resource mapping input discrepancy according to actual implementation, adjusting the type accordingly 2025-07-22 19:12:58 +02:00
e668239f8a
properly flatten out application layer at users.users 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
9f43c8a278
make packages filter return a list 2025-07-22 19:12:56 +02:00
8173f65f18
add trivial unit test for deployment - now to find how to make it work!
test proper expectation

test proper expectation

settle for counting packages over comparing them, solves an infinite recursion
2025-07-22 19:12:52 +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
4b031652f7
WIP: illustrate an entire NixOS configuration as a resource 2025-07-19 18:38:43 +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
15967158bc
better reflect naming from diagram configuration data flow 2025-07-19 18:29:41 +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
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
6cf1d87f0b get parity in authorized keys between procolix and root for nixops4 ssh to non-VMs (#474)
Reviewed-on: Fediversity/Fediversity#474
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-17 18:59:31 +02:00
8253288f8a remove pixelfed from CI until fixed (#472)
this test is still borked as per #33.
the intent would be to get this test on a feature branch pertaining to that issue - the point being we should be able to rely on CI's boolean result for detecting (newly induced) regressions.

Reviewed-on: Fediversity/Fediversity#472
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-17 15:25:17 +02:00
67f50f08de enable continuous deployment (#471)
closes #177

Reviewed-on: Fediversity/Fediversity#471
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-17 10:01:51 +02:00
5402178e7b reinstate import statement for panel module, fixes error deploying fedi201 (#468)
resolves error on CI run https://git.fediversity.eu/Fediversity/Fediversity/actions/runs/1026:

```
123456       error: attempt to call something which is not a function but a path: /nix/store/93yyf22vw60l1j3l6h02c99p93lp55q5-source/panel
       at /nix/store/93yyf22vw60l1j3l6h02c99p93lp55q5-source/machines/dev/fedi201/fedipanel.nix:13:6:
           12|   imports = [
           13|     (../../../panel { }).module
             |      ^
           14|     "${sources.home-manager}/nixos"```
```

Reviewed-on: Fediversity/Fediversity#468
2025-07-16 20:51:23 +02:00
e627815399 pass SHELL env var in CD (#466)
see #177

Reviewed-on: Fediversity/Fediversity#466
2025-07-16 18:18:16 +02:00
354dba260a verbose CD (#465)
debugging effort part of #177

Reviewed-on: Fediversity/Fediversity#465
2025-07-16 14:14:06 +02:00
b791bd515d pass sources via specialArgs (#464)
this gets rid of ugly in-place imports and upward paths

Reviewed-on: Fediversity/Fediversity#464
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-07-16 10:53:36 +02:00
f2017aaeb4 CD: lump SSH commands into a single shell invocation (#462)
Reviewed-on: Fediversity/Fediversity#462
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-15 13:00:47 +02:00
980a994f83 run ssh commands thru the shell (which has openssh) (#461)
Reviewed-on: Fediversity/Fediversity#461
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-15 12:26:16 +02:00
b9b13df04e allow SSH access from continuous deployment (#460)
Reviewed-on: Fediversity/Fediversity#460
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-15 11:56:22 +02:00
159e4107b8 fix Pixelfed test eval failure (#458)
Reviewed-on: Fediversity/Fediversity#458
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-15 10:38:10 +02:00
86305a6a2e fix link; readability 2025-07-15 09:04:56 +02:00
e62f14d9be expose panel tests in flake 2025-07-15 08:54:48 +02:00
82f83eea0d fix mastodon test (#457)
closes #34.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Reviewed-on: Fediversity/Fediversity#457
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-15 08:54:20 +02:00
aef414ffe8 resolve regressions from recent qemu files (#432)
- move import to match module classes
- manually import sources to resolve infinite recursion

closes #431.

Reviewed-on: Fediversity/Fediversity#432
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-11 16:09:27 +02:00
6d74112518 ditch sources arg in fedi201, fixing infinite recursion error (#454)
c.f. #432.

closes #453.

Reviewed-on: Fediversity/Fediversity#454
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-11 16:06:15 +02:00
2b2fb059fd fix cd command (#455)
Reviewed-on: Fediversity/Fediversity#455
Co-authored-by: Kiara Grouwstra <kiara@procolix.eu>
Co-committed-by: Kiara Grouwstra <kiara@procolix.eu>
2025-07-11 11:07:03 +02:00