forked from M-Labs/it-infra
remove notifico
Complex/problematic to set up and not so useful after all.
This commit is contained in:
parent
5a0afc48d4
commit
e0310b191b
|
@ -1,93 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
notifico = (pkgs.callPackage ./pkg.nix {})
|
||||
.overrideAttrs (attrs: {
|
||||
buildInputs = attrs.buildInputs ++ [ pkgs.makeWrapper ];
|
||||
# Extend the module path so that local_config.py can be found
|
||||
postInstall = ''
|
||||
${attrs.postInstall}
|
||||
|
||||
wrapProgram $out/bin/notifico \
|
||||
--set PYTHONPATH "$${PYTHONPATH}:${cfg.dbDir}"
|
||||
'';
|
||||
});
|
||||
cfg = config.services.notifico;
|
||||
in
|
||||
|
||||
{
|
||||
options.services.notifico = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable the commit notification service";
|
||||
};
|
||||
enableLocalRedis = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Enable a local Redis server";
|
||||
};
|
||||
dbDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/db/notifico";
|
||||
description = "Home directory and location of the database file";
|
||||
};
|
||||
config = mkOption {
|
||||
description = "Path to local_config.py, https://github.com/notifico/notifico/raw/master/notifico/config.py";
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users.users.notifico = {
|
||||
group = "notifico";
|
||||
home = cfg.dbDir;
|
||||
createHome = true;
|
||||
};
|
||||
users.groups.notifico = {};
|
||||
|
||||
services.redis = mkIf cfg.enableLocalRedis {
|
||||
enable = true;
|
||||
bind = "127.0.0.1";
|
||||
};
|
||||
|
||||
systemd.services =
|
||||
let
|
||||
User = "notifico";
|
||||
Group = "notifico";
|
||||
WorkingDirectory = "${cfg.dbDir}";
|
||||
ExecStartPre = [
|
||||
"${pkgs.coreutils}/bin/rm -f local_config.pyc"
|
||||
"${pkgs.coreutils}/bin/ln -sf ${cfg.config} local_config.py"
|
||||
];
|
||||
|
||||
notifico-init = {
|
||||
description = "Notifico initialization";
|
||||
serviceConfig = {
|
||||
inherit User Group WorkingDirectory ExecStartPre;
|
||||
Type = "oneshot";
|
||||
ExecStart = "${notifico}/bin/notifico init";
|
||||
};
|
||||
};
|
||||
notificoService = component: {
|
||||
description = "Notifico ${component}";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" "notifico-init.service" ];
|
||||
requires = [ "notifico-init.service" ];
|
||||
serviceConfig = {
|
||||
inherit User Group WorkingDirectory ExecStartPre;
|
||||
Type = "simple";
|
||||
ExecStart = "${notifico}/bin/notifico ${component}";
|
||||
|
||||
Restart = "always";
|
||||
RestartSec = "5sec";
|
||||
};
|
||||
};
|
||||
in {
|
||||
inherit notifico-init;
|
||||
notifico-www = notificoService "www";
|
||||
notifico-worker = notificoService "worker";
|
||||
notifico-bots = notificoService "bots";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,107 +0,0 @@
|
|||
{ python2Packages, python2, fetchFromGitHub, fetchurl }:
|
||||
|
||||
let
|
||||
Flask-Gravatar = python2Packages.buildPythonPackage {
|
||||
name = "Flask-Gravatar";
|
||||
src = python2Packages.fetchPypi {
|
||||
pname = "Flask-Gravatar";
|
||||
version = "0.5.0";
|
||||
sha256 = "1qb2ylirjajdqsmldhwfdhf8i86k7vlh3y4gnqfqj4n6q8qmyrk0";
|
||||
};
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
pytestrunner
|
||||
flask
|
||||
];
|
||||
checkInputs = with python2Packages; [
|
||||
check-manifest
|
||||
coverage
|
||||
isort
|
||||
pydocstyle
|
||||
pytestcache
|
||||
pytestcov
|
||||
pytestpep8
|
||||
pytest
|
||||
pygments
|
||||
];
|
||||
};
|
||||
utopia = python2Packages.buildPythonPackage {
|
||||
name = "utopia";
|
||||
src = fetchFromGitHub {
|
||||
owner = "notifico";
|
||||
repo = "utopia";
|
||||
rev = "70293ed5e1ca55232e0fae71061e7e9b9b29be6f";
|
||||
sha256 = "11cnh9l4d9jlhafnfis9si6kgk9zsdd5439qnhxh6dca3x4a986q";
|
||||
};
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
gevent
|
||||
blinker
|
||||
];
|
||||
doCheck = false;
|
||||
};
|
||||
Flask-WTF = python2Packages.flask_wtf.overrideAttrs(oa: rec {
|
||||
version = "0.8.4";
|
||||
src = python2Packages.fetchPypi {
|
||||
pname = "Flask-WTF";
|
||||
inherit version;
|
||||
sha256 = "1khbwmlrcnk9f46f7kf531n06pkyfs6nc8fk273js9mj2igngg2y";
|
||||
};
|
||||
});
|
||||
Flask-XML-RPC = python2Packages.flask_wtf.overrideAttrs(oa: rec {
|
||||
version = "0.1.2";
|
||||
src = python2Packages.fetchPypi {
|
||||
pname = "Flask-XML-RPC";
|
||||
inherit version;
|
||||
sha256 = "1dwalj7pc5iid9l1k50q5mllirnn9f5s7jq54a66x48a4j179p2a";
|
||||
};
|
||||
});
|
||||
in
|
||||
python2Packages.buildPythonApplication {
|
||||
name = "notifico";
|
||||
src = fetchFromGitHub {
|
||||
owner = "notifico";
|
||||
repo = "notifico";
|
||||
rev = "6af849e4c75dff4d740051676f5a2093a44efcee";
|
||||
sha256 = "18jifqdvjy4x5s1bh7vx501pin52g4n3hhw1z4m2c0h512z4spdr";
|
||||
};
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = https://github.com/whitequark/notifico/commit/22b582fad6cb97af6f7437e8462d720ddacc42ef.patch;
|
||||
sha256 = "0w8i8hf1r8b0p1y1zn9vyvnyi20qp120aiyalqymhsxsh17mma52";
|
||||
})
|
||||
];
|
||||
propagatedBuildInputs = with python2Packages; [
|
||||
flask
|
||||
Flask-WTF
|
||||
Flask-Gravatar
|
||||
flask_sqlalchemy
|
||||
Flask-XML-RPC
|
||||
flask_mail
|
||||
flask-caching
|
||||
Fabric
|
||||
sqlalchemy
|
||||
utopia
|
||||
gevent
|
||||
oauth2
|
||||
redis
|
||||
gunicorn
|
||||
requests
|
||||
PyGithub
|
||||
xmltodict
|
||||
unidecode
|
||||
raven
|
||||
blinker
|
||||
docopt
|
||||
celery
|
||||
];
|
||||
postInstall = ''
|
||||
mkdir $out/bin
|
||||
cat << EOF > $out/bin/notifico
|
||||
#!${python2}/bin/python
|
||||
import sys
|
||||
from notifico.__main__ import main
|
||||
|
||||
sys.exit(main(sys.argv))
|
||||
EOF
|
||||
chmod +x $out/bin/notifico
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue