vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / gvisor.nix
blob5c9447b07118ddc3ddb7d414ae94b99e7703a8e8
1 # This test runs a container through gvisor and checks if simple container starts
3 import ./make-test-python.nix ({ pkgs, ... }: {
4   name = "gvisor";
5   meta = with pkgs.lib.maintainers; {
6     maintainers = [ ];
7   };
9   nodes = {
10     gvisor =
11       { pkgs, ... }:
12       {
13         virtualisation.docker = {
14           enable = true;
15           extraOptions = "--add-runtime runsc=${pkgs.gvisor}/bin/runsc";
16         };
18         networking = {
19           dhcpcd.enable = false;
20           defaultGateway = "192.168.1.1";
21           interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
22             { address = "192.168.1.2"; prefixLength = 24; }
23           ];
24         };
25       };
26   };
28   testScript = ''
29     start_all()
31     gvisor.wait_for_unit("network.target")
32     gvisor.wait_for_unit("sockets.target")
34     # Test the Docker runtime
35     gvisor.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
36     gvisor.succeed(
37         "docker run -d --name=sleeping --runtime=runsc -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
38     )
39     gvisor.succeed("docker ps | grep sleeping")
40     gvisor.succeed("docker stop sleeping")
41   '';