diff options
author | Parnell Springmeyer <parnell@digitalmentat.com> | 2017-12-01 21:06:16 -0600 |
---|---|---|
committer | Parnell Springmeyer <parnell@digitalmentat.com> | 2017-12-01 21:06:16 -0600 |
commit | c1eb962516abb1ab7900d1f19f423f3a4318b849 (patch) | |
tree | 4d4615478cbd897c3648865ed68c47c1f3a60412 /nixos/tests/hocker-fetchdocker/machine.nix | |
parent | 25865688a729d15dbb2dc21ebd9fbf74e2cffc4b (diff) | |
download | nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.tar nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.tar.gz nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.tar.bz2 nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.tar.lz nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.tar.xz nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.tar.zst nixlib-c1eb962516abb1ab7900d1f19f423f3a4318b849.zip |
fetchdocker: Integration test exercising hocker and fetchdocker
This change adds a simple integration test exercising the fetchdocker Nix code and hocker utilities for the simple `hello-world` docker container. We exercise: - Fetching the docker image configuration json - Fetching the docker image layers - Building a compositor script - Loading the `hello-world` docker image into docker using the compositor script and `docker load` - Running that loaded container
Diffstat (limited to 'nixos/tests/hocker-fetchdocker/machine.nix')
-rw-r--r-- | nixos/tests/hocker-fetchdocker/machine.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nixos/tests/hocker-fetchdocker/machine.nix b/nixos/tests/hocker-fetchdocker/machine.nix new file mode 100644 index 000000000000..0d71aedd054d --- /dev/null +++ b/nixos/tests/hocker-fetchdocker/machine.nix @@ -0,0 +1,31 @@ +{ config, pkgs, ... }: +{ nixpkgs.config.packageOverrides = pkgs': { + hello-world-container = pkgs'.callPackage ./hello-world-container.nix { }; + haskellPackages = pkgs'.haskellPackages.override { + overrides = new: old: { + hocker = pkgs'.haskell.lib.dontCheck old.hocker; + }; + }; + }; + + virtualisation.docker = { + enable = true; + package = pkgs.docker; + }; + + systemd.services.docker-load-fetchdocker-image = { + description = "Docker load hello-world-container"; + wantedBy = [ "multi-user.target" ]; + wants = [ "docker.service" "local-fs.target" ]; + after = [ "docker.service" "local-fs.target" ]; + + script = '' + ${pkgs.hello-world-container}/compositeImage.sh | ${pkgs.docker}/bin/docker load + ''; + + serviceConfig = { + Type = "oneshot"; + }; + }; +} + |