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
shack-ip = config.krebs.build.host.nets.shack.ip4.addr;
internal-ip = config.krebs.build.host.nets.retiolum.ip4.addr;
in
{
imports = [
../.
<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/repo-sync.nix
../2configs/collectd-base.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
];
# 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>;
let
repodir = "/var/srv/drivedroid";
srepodir = shell.escape repodir;
root = "/var/srv/drivedroid";
in
{
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";
restartIfChanged = true;
path = [
pkgs.coreutils
pkgs.drivedroid-gen-repo
pkgs.inotify-tools
];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
Restart = "always";
ExecStartPre = pkgs.writeScript "prepare-drivedroid-gen-repo" ''
#!/bin/sh
mkdir -p ${srepodir}/repos
ExecStartPre = pkgs.writeDash "prepare-drivedroid-gen-repo" ''
mkdir -p ${root}/repos
'';
ExecStart = pkgs.writeScript "start-drivedroid-gen-repo" ''
#!/bin/sh
ExecStart = pkgs.writeDash "start-drivedroid-gen-repo" ''
set -efu
cd ${root}
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
'';
};
};
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 = {
enable = true;
port = 3142;
bindAddress = "localhost";
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";
nixpkgs.git = {
url = https://github.com/NixOS/nixpkgs;
ref = "5acb454e2ad3e3783e63b86a9a31e800d2507e66"; # nixos-17.03
ref = "b647a67dfee066b75d2f54b789f7646016662071"; # nixos-17.03
};
} // optionalAttrs host.secure {
secrets-master.file = "/home/tv/secrets/master";