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";
23 dest = "status_engine";
40 store_live_data_in_archive_backend: 1
43 host: ${env.mysql.remoteHost}
44 port: ${env.mysql.port}
45 username: ${env.mysql.user}
46 password: ${env.mysql.password}
47 database: ${env.mysql.database}
49 number_of_bulk_records: 100
51 number_servicestatus_worker: 1
52 number_hoststatus_worker: 1
53 number_logentry_worker: 1
54 number_statechange_worker: 1
55 number_hostcheck_worker: 1
56 number_servicecheck_worker: 1
60 number_perfdata_worker: 1
65 command_check_interval: 15
66 external_command_file: /run/naemon/naemon.cmd
67 query_handler: /run/naemon/naemon.qh
71 syslog_tag: statusengine-worker
75 age_host_acknowledgements: 60
76 age_host_notifications: 60
77 age_host_statehistory: 365
78 age_host_downtimes: 60
80 age_service_acknowledgements: 60
81 age_service_notifications: 60
82 age_service_statehistory: 365
83 age_service_downtimes: 60
92 services.redis = rec {
98 mailto = "cron@immae.eu";
100 "0 0 * * * naemon cd ${package} && ./bin/Console.php cleanup"
104 systemd.services.status_engine_worker = {
105 description = "Status engine worker";
106 after = [ "network.target" ];
107 wantedBy = [ "multi-user.target" ];
110 Restart = "on-failure";
112 ExecStart = "${package}/bin/StatusengineWorker.php";