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