Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
7aacc39724
|
@ -51,6 +51,14 @@ let
|
||||||
configuration appended to the default or overridden configuration
|
configuration appended to the default or overridden configuration
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
workdir = mkOption {
|
||||||
|
default = "/var/lib/Reaktor";
|
||||||
|
type = types.str;
|
||||||
|
description = ''
|
||||||
|
Reaktor working directory
|
||||||
|
'';
|
||||||
|
};
|
||||||
extraEnviron = mkOption {
|
extraEnviron = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
|
@ -79,7 +87,7 @@ let
|
||||||
name = "Reaktor";
|
name = "Reaktor";
|
||||||
uid = genid name;
|
uid = genid name;
|
||||||
description = "Reaktor user";
|
description = "Reaktor user";
|
||||||
home = "/var/lib/Reaktor";
|
home = cfg.workdir;
|
||||||
createHome = true;
|
createHome = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -101,6 +109,7 @@ let
|
||||||
GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
GIT_SSL_CAINFO = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||||
REAKTOR_NICKNAME = cfg.nickname;
|
REAKTOR_NICKNAME = cfg.nickname;
|
||||||
REAKTOR_DEBUG = (if cfg.debug then "True" else "False");
|
REAKTOR_DEBUG = (if cfg.debug then "True" else "False");
|
||||||
|
state_dir = cfg.workdir;
|
||||||
} // cfg.extraEnviron;
|
} // cfg.extraEnviron;
|
||||||
serviceConfig= {
|
serviceConfig= {
|
||||||
ExecStartPre = pkgs.writeScript "Reaktor-init" ''
|
ExecStartPre = pkgs.writeScript "Reaktor-init" ''
|
||||||
|
|
38
krebs/5pkgs/Reaktor/plugins.nix
Normal file
38
krebs/5pkgs/Reaktor/plugins.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ stdenv, lib, pkgs, makeWrapper }:
|
||||||
|
|
||||||
|
rec {
|
||||||
|
buildReaktorPlugin = { name
|
||||||
|
# TODO: profiles
|
||||||
|
, extraConfig
|
||||||
|
, phases ? []
|
||||||
|
, ... } @ attrs:
|
||||||
|
stdenv.mkDerivation (attrs // {
|
||||||
|
name = "Reaktor-plugin-" + name;
|
||||||
|
phases = phases ++ [ "installPhase" ];
|
||||||
|
isReaktorPlugin = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
random-emoji = buildReaktorPlugin rec {
|
||||||
|
name = "random-emoji";
|
||||||
|
src = ./scripts/random-emoji.sh;
|
||||||
|
phases = [ "installPhase" ];
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
install -vm 755 ${src} $out/bin/random-emoji.sh
|
||||||
|
wrapProgram $out/bin/random-emoji.sh \
|
||||||
|
--prefix PATH : ${lib.makeSearchPath "bin" (with pkgs; [
|
||||||
|
coreutils
|
||||||
|
gnused
|
||||||
|
gnugrep
|
||||||
|
xmlstarlet
|
||||||
|
curl])};
|
||||||
|
'';
|
||||||
|
extraConfig = ''
|
||||||
|
public_commands.insert(0,{
|
||||||
|
'capname' : "emoji",
|
||||||
|
'pattern' : indirect_pattern.format("emoji"),
|
||||||
|
'argv' : ["random-emoji.sh"])
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
6
krebs/5pkgs/Reaktor/scripts/random-emoji.sh
Normal file
6
krebs/5pkgs/Reaktor/scripts/random-emoji.sh
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
curl http://emojicons.com/random -s | \
|
||||||
|
grep data-text | \
|
||||||
|
sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \
|
||||||
|
head -n 1 | \
|
||||||
|
xmlstarlet unesc
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
python3Packages.buildPythonPackage rec {
|
python3Packages.buildPythonPackage rec {
|
||||||
name = "cacpanel-${version}";
|
name = "cacpanel-${version}";
|
||||||
version = "0.2.1";
|
version = "0.2.3";
|
||||||
|
|
||||||
src = pkgs.fetchurl {
|
src = pkgs.fetchurl {
|
||||||
url = "https://pypi.python.org/packages/source/c/cacpanel/cacpanel-${version}.tar.gz";
|
url = "https://pypi.python.org/packages/source/c/cacpanel/cacpanel-${version}.tar.gz";
|
||||||
sha256 = "1zaazg5r10kgva32zh4fhpw6l6h51ijkwpa322na0kh4x6f6aqj3";
|
sha256 = "1fib7416qqv8yzrj75kxra7ccpz9abqh58b6gkaavws2fa6m3mm8";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3Packages; [
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
|
|
@ -26,6 +26,8 @@ subdirs // rec {
|
||||||
inherit (subdirs) get jq;
|
inherit (subdirs) get jq;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ReaktorPlugins = pkgs.callPackage ./Reaktor/plugins.nix {};
|
||||||
|
|
||||||
execve = name: { filename, argv, envp ? {}, destination ? "" }:
|
execve = name: { filename, argv, envp ? {}, destination ? "" }:
|
||||||
writeC name { inherit destination; } ''
|
writeC name { inherit destination; } ''
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
|
@ -29,11 +29,11 @@ trap "$TRAP" INT TERM EXIT
|
||||||
|
|
||||||
cat > $sec_file <<EOF
|
cat > $sec_file <<EOF
|
||||||
cac_login="$(jq -r .email $krebs_cred)"
|
cac_login="$(jq -r .email $krebs_cred)"
|
||||||
cac_key="$(cac-cli panel --config $krebs_cred settings | jq -r .apicode)"
|
cac_key="$(cac-cli --config $krebs_cred panel settings | jq -r .apicode)"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
export cac_secrets=$sec_file
|
export cac_secrets=$sec_file
|
||||||
cac-cli panel --config $krebs_cred update-api-ip
|
cac-cli --config $krebs_cred panel add-api-ip
|
||||||
|
|
||||||
# test login:
|
# test login:
|
||||||
cac update
|
cac update
|
||||||
|
|
|
@ -15,6 +15,9 @@ in {
|
||||||
../2configs/git/cgit-retiolum.nix
|
../2configs/git/cgit-retiolum.nix
|
||||||
../2configs/mattermost-docker.nix
|
../2configs/mattermost-docker.nix
|
||||||
../2configs/nginx/euer.test.nix
|
../2configs/nginx/euer.test.nix
|
||||||
|
|
||||||
|
../2configs/exim-retiolum.nix
|
||||||
|
../2configs/urlwatch.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,6 @@
|
||||||
../2configs/Reaktor/titlebot.nix
|
../2configs/Reaktor/titlebot.nix
|
||||||
../2configs/Reaktor/shack-correct.nix
|
../2configs/Reaktor/shack-correct.nix
|
||||||
|
|
||||||
../2configs/exim-retiolum.nix
|
|
||||||
../2configs/urlwatch.nix
|
|
||||||
|
|
||||||
# ../2configs/graphite-standalone.nix
|
# ../2configs/graphite-standalone.nix
|
||||||
];
|
];
|
||||||
krebs.urlwatch.verbose = true;
|
krebs.urlwatch.verbose = true;
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
http://git.sysphere.org/vicious/log/?qt=grep&q=Next+release
|
http://git.sysphere.org/vicious/log/?qt=grep&q=Next+release
|
||||||
https://pypi.python.org/simple/bepasty/
|
https://pypi.python.org/simple/bepasty/
|
||||||
https://pypi.python.org/simple/xstatic/
|
https://pypi.python.org/simple/xstatic/
|
||||||
|
http://cvs2svn.tigris.org/servlets/ProjectDocumentList?folderID=2976
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ with lib;
|
||||||
git.nixpkgs = {
|
git.nixpkgs = {
|
||||||
url = https://github.com/NixOS/nixpkgs;
|
url = https://github.com/NixOS/nixpkgs;
|
||||||
rev = "6d31e9b81dcd4ab927bb3dc91b612dd5abfa2f80";
|
rev = "6d31e9b81dcd4ab927bb3dc91b612dd5abfa2f80";
|
||||||
|
target-path = "/var/src/nixpkgs";
|
||||||
};
|
};
|
||||||
dir.secrets = {
|
dir.secrets = {
|
||||||
host = config.krebs.current.host;
|
host = config.krebs.current.host;
|
||||||
|
@ -27,6 +28,7 @@ with lib;
|
||||||
dir.stockholm = {
|
dir.stockholm = {
|
||||||
host = config.krebs.current.host;
|
host = config.krebs.current.host;
|
||||||
path = mkDefault "${getEnv "HOME"}/stockholm";
|
path = mkDefault "${getEnv "HOME"}/stockholm";
|
||||||
|
target-path = "/var/src/stockholm";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,11 @@ in {
|
||||||
buildbot = pkgs-unst.buildbot;
|
buildbot = pkgs-unst.buildbot;
|
||||||
buildbot-slave = pkgs-unst.buildbot-slave;
|
buildbot-slave = pkgs-unst.buildbot-slave;
|
||||||
};
|
};
|
||||||
networking.firewall.allowedTCPPorts = [ 8010 ];
|
networking.firewall.allowedTCPPorts = [ 8010 9989 ];
|
||||||
krebs.buildbot.master = {
|
krebs.buildbot.master = {
|
||||||
slaves = {
|
slaves = {
|
||||||
testslave = "krebspass";
|
testslave = "krebspass";
|
||||||
testslave2 = "krebspass";
|
omo = "krebspass";
|
||||||
};
|
};
|
||||||
change_source.stockholm = ''
|
change_source.stockholm = ''
|
||||||
stockholm_repo = 'http://cgit.gum/stockholm'
|
stockholm_repo = 'http://cgit.gum/stockholm'
|
||||||
|
@ -33,7 +33,7 @@ in {
|
||||||
name="fast-master-test",
|
name="fast-master-test",
|
||||||
builderNames=["fast-tests"]))
|
builderNames=["fast-tests"]))
|
||||||
'';
|
'';
|
||||||
full-master-scheduler = ''
|
test-cac-infest-master = ''
|
||||||
# files everyone depends on or are part of the share branch
|
# files everyone depends on or are part of the share branch
|
||||||
def shared_files(change):
|
def shared_files(change):
|
||||||
r =re.compile("^((krebs|shared)/.*|Makefile|default.nix)")
|
r =re.compile("^((krebs|shared)/.*|Makefile|default.nix)")
|
||||||
|
@ -45,6 +45,7 @@ in {
|
||||||
sched.append(schedulers.SingleBranchScheduler(
|
sched.append(schedulers.SingleBranchScheduler(
|
||||||
change_filter=util.ChangeFilter(branch="master"),
|
change_filter=util.ChangeFilter(branch="master"),
|
||||||
fileIsImportant=shared_files,
|
fileIsImportant=shared_files,
|
||||||
|
treeStableTimer=60*60, # master was stable for the last hour
|
||||||
name="full-master-test",
|
name="full-master-test",
|
||||||
builderNames=["full-tests"]))
|
builderNames=["full-tests"]))
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue