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