else:
return "/run/denise_oms_beta/gunicorn.pid"
+ @util.renderer
+ def oms_systemd_service(props):
+ if props.hasProperty("branch") and len(props["branch"]) > 0 and props["branch"] == "master":
+ return "denise-oms"
+ else:
+ return "denise-oms-beta"
+
@util.renderer
def oms_url(props):
if props.hasProperty("branch") and len(props["branch"]) > 0 and props["branch"] == "master":
masterdest=oms_path,
url=oms_url))
factory.addStep(steps.MasterShellCommand(command=util.Interpolate("chmod -R a+rX %(kw:oms_path)s", oms_path=oms_path)))
- factory.addStep(steps.MasterShellCommand(command=util.Interpolate("kill $(cat %(kw:oms_run_path)s)", oms_run_path=oms_run_path)))
+ factory.addStep(steps.MasterShellCommand(command=util.Interpolate("/run/wrappers/bin/sudo systemctl restart %(kw:oms_service)s.service", oms_service=oms_systemd_service)))
return util.BuilderConfig(name="DeniseOMS_build", workernames=["generic-worker-denise"], factory=factory)
python = pkgs.python3.withPackages (p: [ p.gunicorn p.flask p.matplotlib p.unidecode ]);
in
"${python}/bin/gunicorn -w4 -p /run/denise_oms/gunicorn.pid --bind unix:${socket} app:app";
- User = "buildbot";
+ User = "wwwrun";
Restart = "always";
RestartSec = "5s";
PIDFile = "/run/denise_oms/gunicorn.pid";
};
};
+ security.sudo.extraRules = [
+ {
+ commands = [
+ { options = [ "NOPASSWD" ]; command = "${pkgs.systemd}/bin/systemctl restart denise-oms-beta.service"; }
+ { options = [ "NOPASSWD" ]; command = "${pkgs.systemd}/bin/systemctl restart denise-oms.service"; }
+ ];
+ users = ["buildbot"];
+ runAs = "root";
+ }
+ ];
services.websites.env.integration.vhostConfs.denise_oms_beta = {
certName = "denise";
addToCerts = true;
python = pkgs.python3.withPackages (p: [ p.gunicorn p.flask p.matplotlib p.unidecode ]);
in
"${python}/bin/gunicorn -w4 -p /run/denise_oms_beta/gunicorn.pid --bind unix:${socket_beta} app:app";
- User = "buildbot";
+ User = "wwwrun";
Restart = "always";
RestartSec = "5s";
PIDFile = "/run/denise_oms_beta/gunicorn.pid";