forked from Fediversity/Fediversity
This PR adds a basic deployment test to the repository. This test will, in a NixOS test, run a deployer VM and a target VM, and check that we manage to run `nixops4 apply` on the deployer VM to change things on the target VM. The ideas are all @roberth's and this test has been extremely heavily inspired by https://github.com/nixops4/nixops4-nixos/blob/main/test/default/nixosTest.nix. Reviewed-on: Fediversity/Fediversity#323 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>
32 lines
657 B
Nix
32 lines
657 B
Nix
{
|
|
inputs,
|
|
lib,
|
|
providers,
|
|
...
|
|
}:
|
|
|
|
{
|
|
providers.local = inputs.nixops4.modules.nixops4Provider.local;
|
|
|
|
resources.target = {
|
|
type = providers.local.exec;
|
|
imports = [ inputs.nixops4-nixos.modules.nixops4Resource.nixos ];
|
|
|
|
ssh = {
|
|
host = "target";
|
|
hostPublicKey = builtins.readFile ./target_host_key.pub;
|
|
};
|
|
|
|
nixpkgs = inputs.nixpkgs;
|
|
nixos.module =
|
|
{ pkgs, ... }:
|
|
{
|
|
imports = [
|
|
./minimalTarget.nix
|
|
(lib.modules.importJSON ./target-network.json)
|
|
];
|
|
nixpkgs.hostPlatform = "x86_64-linux";
|
|
environment.systemPackages = [ pkgs.cowsay ];
|
|
};
|
|
};
|
|
}
|