summary refs log tree commit diff
path: root/nixos/modules/services/monitoring/zabbix-proxy.nix
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2019-08-13 18:35:02 -0400
committerAaron Andersen <aaron@fosslib.net>2019-08-13 18:50:28 -0400
commit9af06755f3ba07e6109d9a73776cbfd1dfa4030d (patch)
treea396c2adea8e1520f37147eac320e6aee45ebcbb /nixos/modules/services/monitoring/zabbix-proxy.nix
parentdae42566dbee37a3b7a609fa86eca9618f4f4b67 (diff)
downloadnixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar
nixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.gz
nixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.bz2
nixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.lz
nixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.xz
nixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.zst
nixpkgs-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.zip
nixos/zabbixProxy: fix database initialization logic
Diffstat (limited to 'nixos/modules/services/monitoring/zabbix-proxy.nix')
-rw-r--r--nixos/modules/services/monitoring/zabbix-proxy.nix11
1 files changed, 6 insertions, 5 deletions
diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix
index 9cfcd1697c1..90abed30db5 100644
--- a/nixos/modules/services/monitoring/zabbix-proxy.nix
+++ b/nixos/modules/services/monitoring/zabbix-proxy.nix
@@ -120,7 +120,8 @@ in
 
         name = mkOption {
           type = types.str;
-          default = "zabbix";
+          default = if cfg.database.type == "sqlite" then "${stateDir}/zabbix.db" else "zabbix";
+          defaultText = "zabbix";
           description = "Database name.";
         };
 
@@ -261,17 +262,17 @@ in
       preStart = optionalString pgsqlLocal ''
         if ! test -e "${stateDir}/db-created"; then
           cat ${cfg.package}/share/zabbix/database/postgresql/schema.sql | ${pgsql.package}/bin/psql ${cfg.database.name}
-          cat ${cfg.package}/share/zabbix/database/postgresql/images.sql | ${pgsql.package}/bin/psql ${cfg.database.name}
-          cat ${cfg.package}/share/zabbix/database/postgresql/data.sql | ${pgsql.package}/bin/psql ${cfg.database.name}
           touch "${stateDir}/db-created"
         fi
       '' + optionalString mysqlLocal ''
         if ! test -e "${stateDir}/db-created"; then
           cat ${cfg.package}/share/zabbix/database/mysql/schema.sql | ${mysql.package}/bin/mysql ${cfg.database.name}
-          cat ${cfg.package}/share/zabbix/database/mysql/images.sql | ${mysql.package}/bin/mysql ${cfg.database.name}
-          cat ${cfg.package}/share/zabbix/database/mysql/data.sql | ${mysql.package}/bin/mysql ${cfg.database.name}
           touch "${stateDir}/db-created"
         fi
+      '' + optionalString (cfg.database.type == "sqlite") ''
+        if ! test -e "${cfg.database.name}"; then
+          ${pkgs.sqlite}/bin/sqlite3 "${cfg.database.name}" < ${cfg.package}/share/zabbix/database/sqlite3/schema.sql
+        fi
       '' + optionalString (cfg.database.passwordFile != null) ''
         # create a copy of the supplied password file in a format zabbix can consume
         touch ${passwordFile}