1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-26 19:11:46 +02:00

services: zabbix-frontend: Support custom server package.

* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Rename
to ...
(zabbix-front-end-nginx-configuration): ... this.  Take server package and
FastCGI parameters from ...
(zabbix-front-end-configuration): ... here.  Add PACKAGE and FASTCGI-PARAMS
fields, remove NGINX.
(zabbix-front-end-service-type): Adjust for renamed procedure.
* doc/guix.texi (Monitoring Services)[Zabbix front-end]: Regenerate documentation.
This commit is contained in:
Marius Bakke
2022-02-01 19:28:42 +01:00
parent a8d1e6bfa2
commit e301f1a8ed
2 changed files with 52 additions and 71 deletions
+31 -25
View File
@@ -50,8 +50,7 @@
zabbix-agent-configuration
zabbix-agent-service-type
zabbix-front-end-configuration
zabbix-front-end-service-type
%zabbix-front-end-configuration-nginx))
zabbix-front-end-service-type))
;;;
@@ -552,30 +551,37 @@ configuration file."))
,zabbix-agent-configuration-fields))
'zabbix-agent-configuration))
(define %zabbix-front-end-configuration-nginx
(nginx-server-configuration
(root #~(string-append #$zabbix-server:front-end "/share/zabbix/php"))
(index '("index.php"))
(locations
(let ((php-location (nginx-php-location)))
(list (nginx-location-configuration
(inherit php-location)
(body (append (nginx-location-configuration-body php-location)
(list "
fastcgi_param PHP_VALUE \"post_max_size = 16M
max_execution_time = 300\";
")))))))
(listen '("80"))))
(define zabbix-front-end-nginx-configuration
(match-lambda
(($ <zabbix-front-end-configuration> _ package fastcgi-params)
(list
(nginx-server-configuration
(root #~(string-append #$package:front-end "/share/zabbix/php"))
(index '("index.php"))
(locations
(let ((php-location (nginx-php-location)))
(list (nginx-location-configuration
(inherit php-location)
(body
(append (nginx-location-configuration-body php-location)
(list
(format #f "fastcgi_param PHP_VALUE \"~a\";"
(string-join
(map (match-lambda
((key . value)
(format #f "~a = ~a~%"
key value)))
fastcgi-params))))))))))
(listen '("80")))))))
(define-configuration zabbix-front-end-configuration
;; TODO: Specify zabbix front-end package.
;; (zabbix-
;; (file-like zabbix-front-end)
;; "The zabbix-front-end package.")
(nginx
(nginx-server-configuration-list
(list %zabbix-front-end-configuration-nginx))
"NGINX configuration.")
(zabbix-server
(file-like zabbix-server)
"The Zabbix server package to use.")
(fastcgi-params
(list '(("post_max_size" . "16M")
("max_execution_time" . "300")))
"List of FastCGI parameter pairs that will be included in the NGINX configuration.")
(db-host
(string "localhost")
"Database host name.")
@@ -680,7 +686,7 @@ $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
(list (service-extension activation-service-type
zabbix-front-end-activation)
(service-extension nginx-service-type
zabbix-front-end-configuration-nginx)
zabbix-front-end-nginx-configuration)
;; Make sure php-fpm is instantiated.
(service-extension php-fpm-service-type
(const #t))))