Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
nixos tests: move common configuration into separate file
This allows tests outside nixos to use acme setup.
  • Loading branch information
domenkozar committed Sep 24, 2018
1 parent f37b39d commit 6eacc17
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 28 deletions.
29 changes: 1 addition & 28 deletions nixos/tests/acme.nix
@@ -1,32 +1,5 @@
let
commonConfig = { lib, nodes, ... }: {
networking.nameservers = [
nodes.letsencrypt.config.networking.primaryIPAddress
];

nixpkgs.overlays = lib.singleton (self: super: {
cacert = super.cacert.overrideDerivation (drv: {
installPhase = (drv.installPhase or "") + ''
cat "${nodes.letsencrypt.config.test-support.letsencrypt.caCert}" \
>> "$out/etc/ssl/certs/ca-bundle.crt"
'';
});

# Override certifi so that it accepts fake certificate for Let's Encrypt
# Need to override the attribute used by simp_le, which is python3Packages
python3Packages = (super.python3.override {
packageOverrides = lib.const (pysuper: {
certifi = pysuper.certifi.overridePythonAttrs (attrs: {
postPatch = (attrs.postPatch or "") + ''
cat "${self.cacert}/etc/ssl/certs/ca-bundle.crt" \
> certifi/cacert.pem
'';
});
});
}).pkgs;
});
};

commonConfig = ./common/letsencrypt/common.nix;
in import ./make-test.nix {
name = "acme";

Expand Down
27 changes: 27 additions & 0 deletions nixos/tests/common/letsencrypt/common.nix
@@ -0,0 +1,27 @@
{ lib, nodes, ... }: {
networking.nameservers = [
nodes.letsencrypt.config.networking.primaryIPAddress
];

nixpkgs.overlays = lib.singleton (self: super: {
cacert = super.cacert.overrideDerivation (drv: {
installPhase = (drv.installPhase or "") + ''
cat "${nodes.letsencrypt.config.test-support.letsencrypt.caCert}" \
>> "$out/etc/ssl/certs/ca-bundle.crt"
'';
});

# Override certifi so that it accepts fake certificate for Let's Encrypt
# Need to override the attribute used by simp_le, which is python3Packages
python3Packages = (super.python3.override {
packageOverrides = lib.const (pysuper: {
certifi = pysuper.certifi.overridePythonAttrs (attrs: {
postPatch = (attrs.postPatch or "") + ''
cat "${self.cacert}/etc/ssl/certs/ca-bundle.crt" \
> certifi/cacert.pem
'';
});
});
}).pkgs;
});
}

0 comments on commit 6eacc17

Please sign in to comment.