services.flannel: add an extraNetworkConfig configuration, add missing kernel module (#365317)
This commit is contained in:
@@ -7,13 +7,15 @@
|
||||
let
|
||||
cfg = config.services.flannel;
|
||||
|
||||
networkConfig = lib.filterAttrs (n: v: v != null) {
|
||||
Network = cfg.network;
|
||||
SubnetLen = cfg.subnetLen;
|
||||
SubnetMin = cfg.subnetMin;
|
||||
SubnetMax = cfg.subnetMax;
|
||||
Backend = cfg.backend;
|
||||
};
|
||||
networkConfig =
|
||||
(lib.filterAttrs (n: v: v != null) {
|
||||
Network = cfg.network;
|
||||
SubnetLen = cfg.subnetLen;
|
||||
SubnetMin = cfg.subnetMin;
|
||||
SubnetMax = cfg.subnetMax;
|
||||
Backend = cfg.backend;
|
||||
})
|
||||
// cfg.extraNetworkConfig;
|
||||
in
|
||||
{
|
||||
options.services.flannel = {
|
||||
@@ -139,6 +141,15 @@ in
|
||||
Type = "vxlan";
|
||||
};
|
||||
};
|
||||
|
||||
extraNetworkConfig = lib.mkOption {
|
||||
description = "Extra configuration to be added to the net-conf.json/etcd-backed network configuration.";
|
||||
type = (pkgs.formats.json { }).type;
|
||||
default = { };
|
||||
example = {
|
||||
EnableIPv6 = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -184,6 +195,8 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
boot.kernelModules = [ "br_netfilter" ];
|
||||
|
||||
services.etcd.enable = lib.mkDefault (
|
||||
cfg.storageBackend == "etcd" && cfg.etcd.endpoints == [ "http://127.0.0.1:2379" ]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user