summaryrefslogtreecommitdiffstats
path: root/nixos/modules
diff options
context:
space:
mode:
authorKevin Cox <kevincox@kevincox.ca>2021-01-14 17:04:54 -0500
committerGitHub <noreply@github.com>2021-01-14 17:04:54 -0500
commit5666f34b28568b3f8b978a106029faba3ea9a531 (patch)
treee8a815b70ae9c81e6702e5f3284308a98c539475 /nixos/modules
parent3d9a14f76cfa7bc2eeed35563b618f672f7fdff2 (diff)
parent55127e16af5f7b9c4c213578291e479ec37a7a5f (diff)
Merge pull request #91813 from Mic92/types1
nixos/*: Add types to the database module options
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/databases/firebird.nix3
-rw-r--r--nixos/modules/services/databases/memcached.nix15
-rw-r--r--nixos/modules/services/databases/mongodb.nix7
-rw-r--r--nixos/modules/services/databases/redis.nix21
-rw-r--r--nixos/modules/services/databases/virtuoso.nix5
5 files changed, 44 insertions, 7 deletions
diff --git a/nixos/modules/services/databases/firebird.nix b/nixos/modules/services/databases/firebird.nix
index 95837aa1cea6..36dbb87f7303 100644
--- a/nixos/modules/services/databases/firebird.nix
+++ b/nixos/modules/services/databases/firebird.nix
@@ -59,6 +59,7 @@ in
port = mkOption {
default = "3050";
+ type = types.port;
description = ''
Port Firebird uses.
'';
@@ -66,6 +67,7 @@ in
user = mkOption {
default = "firebird";
+ type = types.str;
description = ''
User account under which firebird runs.
'';
@@ -73,6 +75,7 @@ in
baseDir = mkOption {
default = "/var/db/firebird"; # ubuntu is using /var/lib/firebird/2.1/data/.. ?
+ type = types.str;
description = ''
Location containing data/ and system/ directories.
data/ stores the databases, system/ stores the password database security2.fdb.
diff --git a/nixos/modules/services/databases/memcached.nix b/nixos/modules/services/databases/memcached.nix
index f54bb6cc9b18..ca7b20eb049a 100644
--- a/nixos/modules/services/databases/memcached.nix
+++ b/nixos/modules/services/databases/memcached.nix
@@ -17,39 +17,44 @@ in
options = {
services.memcached = {
-
enable = mkEnableOption "Memcached";
user = mkOption {
+ type = types.str;
default = "memcached";
description = "The user to run Memcached as";
};
listen = mkOption {
+ type = types.str;
default = "127.0.0.1";
- description = "The IP address to bind to";
+ description = "The IP address to bind to.";
};
port = mkOption {
+ type = types.port;
default = 11211;
- description = "The port to bind to";
+ description = "The port to bind to.";
};
enableUnixSocket = mkEnableOption "unix socket at /run/memcached/memcached.sock";
maxMemory = mkOption {
+ type = types.ints.unsigned;
default = 64;
description = "The maximum amount of memory to use for storage, in megabytes.";
};
maxConnections = mkOption {
+ type = types.ints.unsigned;
default = 1024;
- description = "The maximum number of simultaneous connections";
+ description = "The maximum number of simultaneous connections.";
};
extraOptions = mkOption {
+ type = types.listOf types.str;
default = [];
- description = "A list of extra options that will be added as a suffix when running memcached";
+ description = "A list of extra options that will be added as a suffix when running memcached.";
};
};
diff --git a/nixos/modules/services/databases/mongodb.nix b/nixos/modules/services/databases/mongodb.nix
index 4af0b9d44e13..db1e5fedf50d 100644
--- a/nixos/modules/services/databases/mongodb.nix
+++ b/nixos/modules/services/databases/mongodb.nix
@@ -41,16 +41,19 @@ in
};
user = mkOption {
+ type = types.str;
default = "mongodb";
description = "User account under which MongoDB runs";
};
bind_ip = mkOption {
+ type = types.str;
default = "127.0.0.1";
description = "IP to bind to";
};
quiet = mkOption {
+ type = types.bool;
default = false;
description = "quieter output";
};
@@ -68,16 +71,19 @@ in
};
dbpath = mkOption {
+ type = types.str;
default = "/var/db/mongodb";
description = "Location where MongoDB stores its files";
};
pidFile = mkOption {
+ type = types.str;
default = "/run/mongodb.pid";
description = "Location of MongoDB pid file";
};
replSetName = mkOption {
+ type = types.str;
default = "";
description = ''
If this instance is part of a replica set, set its name here.
@@ -86,6 +92,7 @@ in
};
extraConfig = mkOption {
+ type = types.lines;
default = "";
example = ''
storage.journal.enabled: false
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index 9628d30e76a3..1b90e59b1663 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -122,12 +122,29 @@ in
};
slaveOf = mkOption {
- default = null; # { ip, port }
- description = "An attribute set with two attributes: ip and port to which this redis instance acts as a slave.";
+ type = with types; nullOr (submodule ({ ... }: {
+ options = {
+ ip = mkOption {
+ type = str;
+ description = "IP of the Redis master";
+ example = "192.168.1.100";
+ };
+
+ port = mkOption {
+ type = port;
+ description = "port of the Redis master";
+ default = 6379;
+ };
+ };
+ }));
+
+ default = null;
+ description = "IP and port to which this redis instance acts as a slave.";
example = { ip = "192.168.1.100"; port = 6379; };
};
masterAuth = mkOption {
+ type = types.str;
default = null;
description = ''If the master is password protected (using the requirePass configuration)
it is possible to tell the slave to authenticate before starting the replication synchronization
diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix
index 6eb09e0a58fc..8b01622ecb03 100644
--- a/nixos/modules/services/databases/virtuoso.nix
+++ b/nixos/modules/services/databases/virtuoso.nix
@@ -16,28 +16,33 @@ with lib;
enable = mkEnableOption "Virtuoso Opensource database server";
config = mkOption {
+ type = types.lines;
default = "";
description = "Extra options to put into Virtuoso configuration file.";
};
parameters = mkOption {
+ type = types.lines;
default = "";
description = "Extra options to put into [Parameters] section of Virtuoso configuration file.";
};
listenAddress = mkOption {
+ type = types.str;
default = "1111";
example = "myserver:1323";
description = "ip:port or port to listen on.";
};
httpListenAddress = mkOption {
+ type = types.nullOr types.str;
default = null;
example = "myserver:8080";
description = "ip:port or port for Virtuoso HTTP server to listen on.";
};
dirsAllowed = mkOption {
+ type = types.nullOr types.str; # XXX Maybe use a list in the future?
default = null;
example = "/www, /home/";
description = "A list of directories Virtuoso is allowed to access";