diff options
author | Aaron Andersen <aaron@fosslib.net> | 2019-08-13 18:35:02 -0400 |
---|---|---|
committer | Aaron Andersen <aaron@fosslib.net> | 2019-08-13 18:50:28 -0400 |
commit | 9af06755f3ba07e6109d9a73776cbfd1dfa4030d (patch) | |
tree | a396c2adea8e1520f37147eac320e6aee45ebcbb /nixos | |
parent | dae42566dbee37a3b7a609fa86eca9618f4f4b67 (diff) | |
download | nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.gz nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.bz2 nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.lz nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.xz nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.tar.zst nixlib-9af06755f3ba07e6109d9a73776cbfd1dfa4030d.zip |
nixos/zabbixProxy: fix database initialization logic
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/monitoring/zabbix-proxy.nix | 11 |
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 9cfcd1697c11..90abed30db5d 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} |