1 { config, pkgs, lib, name, ... }:
3 package = pkgs.status-engine-worker.override { config_file = config.secrets.fullPaths."status_engine"; };
4 env = config.myEnv.tools.status_engine;
7 config = lib.mkIf config.myServices.status.enable {
8 systemd.services.gearmand = {
9 description = "Gearman daemon";
10 after = [ "network.target" ];
11 wantedBy = [ "multi-user.target" ];
16 ExecStart = "${pkgs.gearmand}/bin/gearmand --syslog -L 127.0.0.1 -q libsqlite3 --libsqlite3-db /var/lib/gearmand/gearmand.db --store-queue-on-shutdown -l stderr -P /run/gearmand/gearmand.pid";
17 RuntimeDirectory = "gearmand";
18 StateDirectory = "gearmand";
22 secrets.keys."status_engine" = {
39 store_live_data_in_archive_backend: 1
42 host: ${env.mysql.remoteHost}
43 port: ${builtins.toString env.mysql.port}
44 username: ${env.mysql.user}
45 password: ${env.mysql.password}
46 database: ${env.mysql.database}
48 number_of_bulk_records: 100
50 number_servicestatus_worker: 1
51 number_hoststatus_worker: 1
52 number_logentry_worker: 1
53 number_statechange_worker: 1
54 number_hostcheck_worker: 1
55 number_servicecheck_worker: 1
59 number_perfdata_worker: 1
64 command_check_interval: 15
65 external_command_file: /run/naemon/naemon.cmd
66 query_handler: /run/naemon/naemon.qh
70 syslog_tag: statusengine-worker
74 age_host_acknowledgements: 60
75 age_host_notifications: 60
76 age_host_statehistory: 365
77 age_host_downtimes: 60
79 age_service_acknowledgements: 60
80 age_service_notifications: 60
81 age_service_statehistory: 365
82 age_service_downtimes: 60
91 services.redis.servers."" = rec {
97 mailto = "cron@immae.eu";
99 "0 0 * * * naemon cd ${package} && ./bin/Console.php cleanup"
103 environment.systemPackages = [
105 (pkgs.writeScriptBin "status-engine-worker" ''
106 #! ${pkgs.stdenv.shell}
108 exec sudo -E -u naemon ./bin/Console.php "$@"
111 systemd.services.status_engine_worker = {
112 description = "Status engine worker";
113 after = [ "network.target" ];
114 wantedBy = [ "multi-user.target" ];
117 Restart = "on-failure";
119 ExecStart = "${package}/bin/StatusengineWorker.php";