summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2015-02-22 12:30:14 +0100
committerBjørn Forsman <bjorn.forsman@gmail.com>2015-02-22 12:30:14 +0100
commitffb4797dd303589d48bae466ec4b735438f2244e (patch)
tree23b7e556c79fd8459db60072f890b45fa40abca3
parent419a4166a794f5178862f43038d797f4fc918994 (diff)
nixos/haproxy: remove broken default 'config'
HAProxy fails to start with the default 'config'. Better disable it and assert that the user provides a suitable 'config'. (AFAICS, there cannot really be a default config file for HAProxy.)
-rw-r--r--nixos/modules/services/networking/haproxy.nix43
1 files changed, 7 insertions, 36 deletions
diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix
index 887ea79c34b1..09e48ec4bff0 100644
--- a/nixos/modules/services/networking/haproxy.nix
+++ b/nixos/modules/services/networking/haproxy.nix
@@ -18,42 +18,8 @@ with lib;
};
config = mkOption {
- type = types.lines;
- default =
- ''
- global
- log 127.0.0.1 local6
- maxconn 24000
- daemon
- nbproc 1
-
- defaults
- mode http
- option httpclose
-
- # Remove requests from the queue if people press stop button
- option abortonclose
-
- # Try to connect this many times on failure
- retries 3
-
- # If a client is bound to a particular backend but it goes down,
- # send them to a different one
- option redispatch
-
- monitor-uri /haproxy-ping
-
- timeout connect 7s
- timeout queue 300s
- timeout client 300s
- timeout server 300s
-
- # Enable status page at this URL, on the port HAProxy is bound to
- stats enable
- stats uri /haproxy-status
- stats refresh 5s
- stats realm Haproxy statistics
- '';
+ type = types.nullOr types.lines;
+ default = null;
description = ''
Contents of the HAProxy configuration file,
<filename>haproxy.conf</filename>.
@@ -66,6 +32,11 @@ with lib;
config = mkIf cfg.enable {
+ assertions = [{
+ assertion = cfg.config != null;
+ message = "You must provide services.haproxy.config.";
+ }];
+
systemd.services.haproxy = {
description = "HAProxy";
after = [ "network.target" ];