Merge remote-tracking branch 'tv/master'
This commit is contained in:
commit
fdefa2b20c
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
'');
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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}/;
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Reference in a new issue