diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix
index 688938868020..af0c29405c8f 100644
--- a/nixos/modules/services/databases/cassandra.nix
+++ b/nixos/modules/services/databases/cassandra.nix
@@ -8,6 +8,7 @@ let
cassandraConfig = flip recursiveUpdate cfg.extraConfig
({ commitlog_sync = "batch";
commitlog_sync_batch_window_in_ms = 2;
+ start_native_transport = cfg.allowClients;
partitioner = "org.apache.cassandra.dht.Murmur3Partitioner";
endpoint_snitch = "SimpleSnitch";
seed_provider =
@@ -162,6 +163,18 @@ in {
XML logback configuration for cassandra
'';
};
+ allowClients = mkOption {
+ type = types.bool;
+ default = true;
+ description = ''
+ Enables or disables the native transport server (CQL binary protocol).
+ This server uses the same address as the rpcAddress,
+ but the port it uses is not rpc_port but
+ native_transport_port. See the official Cassandra
+ docs for more information on these variables and set them using
+ extraConfig.
+ '';
+ };
extraConfig = mkOption {
type = types.attrs;
default = {};