2016-10-20 18:54:38 +00:00
|
|
|
{ config, lib, pkgs, ... }: with import <stockholm/lib>;
|
2016-02-27 14:13:10 +00:00
|
|
|
{
|
2016-11-24 22:07:48 +00:00
|
|
|
environment.etc."binary-cache.pubkey".text =
|
|
|
|
config.krebs.build.host.binary-cache.pubkey;
|
|
|
|
|
|
|
|
services.nix-serve = {
|
2016-02-27 14:13:10 +00:00
|
|
|
enable = true;
|
2016-11-24 22:07:48 +00:00
|
|
|
secretKeyFile = config.krebs.secret.files.binary-cache-seckey.path;
|
2016-02-27 14:13:10 +00:00
|
|
|
};
|
2016-11-24 22:07:48 +00:00
|
|
|
|
2016-02-27 14:13:10 +00:00
|
|
|
systemd.services.nix-serve = {
|
|
|
|
requires = ["secret.service"];
|
|
|
|
after = ["secret.service"];
|
|
|
|
};
|
2016-11-24 22:07:48 +00:00
|
|
|
|
|
|
|
krebs.secret.files.binary-cache-seckey = {
|
2016-02-27 14:13:10 +00:00
|
|
|
path = "/run/secret/nix-serve.key";
|
|
|
|
owner.name = "nix-serve";
|
|
|
|
source-path = toString <secrets> + "/nix-serve.key";
|
|
|
|
};
|
2016-11-24 22:07:48 +00:00
|
|
|
|
2016-12-23 08:46:32 +00:00
|
|
|
services.nginx = {
|
2016-02-27 14:13:10 +00:00
|
|
|
enable = true;
|
2016-12-23 08:46:32 +00:00
|
|
|
virtualHosts.nix-serve = {
|
|
|
|
serverAliases = [
|
2016-11-24 22:07:48 +00:00
|
|
|
"cache.${config.krebs.build.host.name}.gg23"
|
|
|
|
];
|
2016-12-23 08:46:32 +00:00
|
|
|
locations."/".extraConfig = ''
|
2016-02-27 14:13:10 +00:00
|
|
|
proxy_pass http://localhost:${toString config.services.nix-serve.port};
|
2016-12-23 08:46:32 +00:00
|
|
|
'';
|
2016-02-27 14:13:10 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|