Commit graph

18 commits

Author SHA1 Message Date
761d74a109
use defaultOverridePriority over mkDefault to fix acme error without cashing with settings from tests 2025-07-17 19:03:33 +02:00
8ff5b87d00
use mkDefault to prevent acme clash in tests 2025-07-17 19:03:33 +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
8a7984933d reinstate acme settings needed by applications (#434)
closes #417

Reviewed-on: Fediversity/Fediversity#434
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-08 10:02:13 +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
ee5c2b90b7 Introduce test for deploying all services with nixops4 apply (#329)
Closes Fediversity/Fediversity#276

This PR adds a CLI deployment test. It builds on top of Fediversity/Fediversity#323. This test features a deployer node and four target nodes. The deployer node runs `nixops4 apply` on a deployment built with our actual code in `deployment/default.nix`, which pushes onto the four target machines combinations of Garage/Mastodon/Peertube/Pixelfed depending on a JSON payload. We check that the expected services are indeed deployed on the machines. Getting there involved reworking the existing basic test to extract common patterns, and adding support for ACME certificates negotiation inside the NixOS test.

What works:
- deployer successfully runs `nixops4 apply` with various payloads
- target machines indeed get the right services pushed onto them and removed
- services on target machines successfully negotiate ACME certificates

What does not work: the services themselves depend a lot on DNS and that is not taken care of at all, so they are probably very broken. Still, this is a good milestone.

Test it yourself by running `nix build .#checks.x86_64-linux.deployment-basic -vL` and `nix build .#checks.x86_64-linux.deployment-cli -vL`. On the very beefy machine that I am using, the basic test runs in ~4 minutes and the CLI test in ~17 minutes. We know from Fediversity/Fediversity#323 that the basic test runs in ~12 minutes on the CI runner, so maybe about an hour for the CLI test?

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Reviewed-on: Fediversity/Fediversity#329
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
Reviewed-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
Co-committed-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-05-19 02:18:54 +02:00
086a69ac53
Support injecting initial user in Pixelfed service 2025-02-28 10:56:22 +01:00
a5d226ed22
Get rid of fediversity.enable 2025-02-21 17:52:50 +01:00
1965e83e5d
Same treatment for Pixelfed 2025-02-21 17:52:50 +01:00
a1cfcf1d71
Same treatment for Peertube 2025-02-21 17:52:50 +01:00
ca6642c8d4
Same treatment for Mastodon 2025-02-21 17:52:50 +01:00
f4babe38a8
Consolidate Garage options
- `fediversity.internal.garage` -> `fediversity.garage`
- all in the same place
2025-02-21 17:52:50 +01:00
ff03d12dc1
Move Garage configuration to own directory 2025-02-21 17:52:49 +01:00
81176a1a9a Format everything, RFC-style 2024-11-13 16:00:39 +01:00
00382102ba Require secrets file also when on metal 2024-11-13 16:00:39 +01:00
7a485c5f90 Fix typo 2024-11-13 16:00:39 +01:00
95e572bce0 Number of cores also when on metal 2024-11-13 16:00:39 +01:00
c6cc92f5dc Add 'services/' from commit 'a13b1e9372412d03f7b629694ecef5242e6e568d'
git-subtree-dir: services
git-subtree-mainline: e41e0daa82
git-subtree-split: a13b1e9372
2024-10-07 11:57:24 +02:00