Merge pull request #4801 from robberer/pkgs/zabbix-server

zabbix-server: add extraConfig option
This commit is contained in:
lethalman 2014-11-04 00:32:46 +01:00
commit 636a4c00ca
2 changed files with 28 additions and 3 deletions

View file

@ -32,6 +32,8 @@ let
${optionalString (cfg.dbPassword != "") '' ${optionalString (cfg.dbPassword != "") ''
DBPassword = ${cfg.dbPassword} DBPassword = ${cfg.dbPassword}
''} ''}
${config.services.zabbixServer.extraConfig}
''; '';
useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == ""; useLocalPostgres = cfg.dbServer == "localhost" || cfg.dbServer == "";
@ -46,6 +48,7 @@ in
services.zabbixServer.enable = mkOption { services.zabbixServer.enable = mkOption {
default = false; default = false;
type = types.bool;
description = '' description = ''
Whether to run the Zabbix server on this machine. Whether to run the Zabbix server on this machine.
''; '';
@ -53,6 +56,7 @@ in
services.zabbixServer.dbServer = mkOption { services.zabbixServer.dbServer = mkOption {
default = "localhost"; default = "localhost";
type = types.str;
description = '' description = ''
Hostname or IP address of the database server. Hostname or IP address of the database server.
Use an empty string ("") to use peer authentication. Use an empty string ("") to use peer authentication.
@ -61,9 +65,18 @@ in
services.zabbixServer.dbPassword = mkOption { services.zabbixServer.dbPassword = mkOption {
default = ""; default = "";
type = types.str;
description = "Password used to connect to the database server."; description = "Password used to connect to the database server.";
}; };
services.zabbixServer.extraConfig = mkOption {
default = "";
type = types.lines;
description = ''
Configuration that is injected verbatim into the configuration file.
'';
};
}; };
###### implementation ###### implementation

View file

@ -1,5 +1,10 @@
{ stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext { stdenv, fetchurl, pkgconfig, postgresql, curl, openssl, zlib, gettext
, enableJabber ? false, minmay ? null }: , net_snmp , libssh2, openldap
, enableJabber ? false, minmay ? null
, enableSnmp ? false
, enableSsh ? false
, enableLdap ? false
}:
assert enableJabber -> minmay != null; assert enableJabber -> minmay != null;
@ -38,7 +43,11 @@ in
"--with-postgresql" "--with-postgresql"
"--with-libcurl" "--with-libcurl"
"--with-gettext" "--with-gettext"
] ++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}"; ]
++ stdenv.lib.optional enableJabber "--with-jabber=${minmay}"
++ stdenv.lib.optional enableSnmp "--with-net-snmp"
++ stdenv.lib.optional enableSsh "--with-ssh2=${libssh2}"
++ stdenv.lib.optional enableLdap "--with-ldap=${openldap}";
postPatch = '' postPatch = ''
sed -i -e 's/iksemel/minmay/g' configure src/libs/zbxmedia/jabber.c sed -i -e 's/iksemel/minmay/g' configure src/libs/zbxmedia/jabber.c
@ -48,7 +57,10 @@ in
-e 's/iks/mmay/g' -e 's/IKS/MMAY/g' src/libs/zbxmedia/jabber.c -e 's/iks/mmay/g' -e 's/IKS/MMAY/g' src/libs/zbxmedia/jabber.c
''; '';
buildInputs = [ pkgconfig postgresql curl openssl zlib ]; buildInputs = [ pkgconfig postgresql curl openssl zlib ]
++ stdenv.lib.optional enableSnmp net_snmp
++ stdenv.lib.optional enableSsh libssh2
++ stdenv.lib.optional enableLdap openldap;
postInstall = postInstall =
'' ''