Merge remote-tracking branch 'tv/master'

This commit is contained in:
makefu 2017-04-17 16:06:27 +02:00
commit fdefa2b20c
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
4 changed files with 57 additions and 51 deletions

View File

@ -1,20 +1,18 @@
{ config, lib, pkgs, ... }: { config, pkgs, ... }:
let let
shack-ip = config.krebs.build.host.nets.shack.ip4.addr; shack-ip = config.krebs.build.host.nets.shack.ip4.addr;
internal-ip = config.krebs.build.host.nets.retiolum.ip4.addr;
in in
{ {
imports = [ imports = [
../. ../.
<nixpkgs/nixos/modules/profiles/qemu-guest.nix> <nixpkgs/nixos/modules/profiles/qemu-guest.nix>
../2configs/collectd-base.nix
../2configs/shack-nix-cacher.nix
../2configs/shack-drivedroid.nix
../2configs/shared-buildbot.nix
../2configs/cgit-mirror.nix ../2configs/cgit-mirror.nix
../2configs/repo-sync.nix ../2configs/collectd-base.nix
../2configs/graphite.nix ../2configs/graphite.nix
../2configs/repo-sync.nix
../2configs/shack-drivedroid.nix
../2configs/shack-nix-cacher.nix
../2configs/shared-buildbot.nix
../2configs/share-shack.nix ../2configs/share-shack.nix
]; ];
# use your own binary cache, fallback use cache.nixos.org (which is used by # use your own binary cache, fallback use cache.nixos.org (which is used by

View File

@ -1,44 +1,49 @@
{ pkgs, lib, config, ... }: { config, pkgs, ... }:
with import <stockholm/lib>; with import <stockholm/lib>;
let let
repodir = "/var/srv/drivedroid"; root = "/var/srv/drivedroid";
srepodir = shell.escape repodir;
in in
{ {
environment.systemPackages = [ pkgs.drivedroid-gen-repo ]; environment.systemPackages = [ pkgs.drivedroid-gen-repo ];
systemd.services.drivedroid = { services.nginx = {
enable = mkDefault true;
virtualHosts.shack-drivedroid = {
serverAliases = [
"drivedroid.shack"
];
# TODO: prepare this somehow
locations."/".extraConfig = ''
root ${root};
index main.json;
'';
};
};
systemd.services.drivedroid-gen-repo = {
description = "generates drivedroid repo file"; description = "generates drivedroid repo file";
restartIfChanged = true; path = [
pkgs.coreutils
pkgs.drivedroid-gen-repo
pkgs.inotify-tools
];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
Restart = "always"; Restart = "always";
ExecStartPre = pkgs.writeScript "prepare-drivedroid-gen-repo" '' ExecStartPre = pkgs.writeDash "prepare-drivedroid-gen-repo" ''
#!/bin/sh mkdir -p ${root}/repos
mkdir -p ${srepodir}/repos
''; '';
ExecStart = pkgs.writeScript "start-drivedroid-gen-repo" '' ExecStart = pkgs.writeDash "start-drivedroid-gen-repo" ''
#!/bin/sh set -efu
cd ${root}
while sleep 60; do while sleep 60; do
${pkgs.inotify-tools}/bin/inotifywait -r ${srepodir} && ${pkgs.drivedroid-gen-repo}/bin/drivedroid-gen-repo --chdir "${srepodir}" repos/ > "${srepodir}/main.json" if inotifywait -r .; then
drivedroid-gen-repo repos > main.json
fi
done done
''; '';
}; };
}; };
krebs.nginx = {
enable = lib.mkDefault true;
servers = {
drivedroid-repo = {
server-names = [ "drivedroid.shack" ];
# TODO: prepare this somehow
locations = lib.singleton (lib.nameValuePair "/" ''
root ${repodir};
index main.json;
'');
};
};
};
} }

View File

@ -1,25 +1,28 @@
{ pkgs, lib, ... }: { config, pkgs, ... }:
with import <stockholm/lib>;
let
cfg = config.krebs.apt-cacher-ng;
in
{ {
krebs.nginx = {
enable = lib.mkDefault true;
servers = {
apt-cacher-ng = {
server-names = [ "acng.shack" ];
locations = lib.singleton (lib.nameValuePair "/" ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:3142/;
'');
};
};
};
krebs.apt-cacher-ng = { krebs.apt-cacher-ng = {
enable = true; enable = true;
port = 3142; port = 3142;
bindAddress = "localhost"; bindAddress = "localhost";
cacheExpiration = 30; cacheExpiration = 30;
}; };
services.nginx = {
enable = mkDefault true;
virtualHosts.shack-nix-cacher = {
serverAliases = [
"acng.shack"
];
locations."/".extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:${toString cfg.port}/;
'';
};
};
} }

View File

@ -14,7 +14,7 @@ with import <stockholm/lib>;
stockholm.file = "/home/tv/stockholm"; stockholm.file = "/home/tv/stockholm";
nixpkgs.git = { nixpkgs.git = {
url = https://github.com/NixOS/nixpkgs; url = https://github.com/NixOS/nixpkgs;
ref = "5acb454e2ad3e3783e63b86a9a31e800d2507e66"; # nixos-17.03 ref = "b647a67dfee066b75d2f54b789f7646016662071"; # nixos-17.03
}; };
} // optionalAttrs host.secure { } // optionalAttrs host.secure {
secrets-master.file = "/home/tv/secrets/master"; secrets-master.file = "/home/tv/secrets/master";