diff --git a/lib/k8s.nix b/lib/k8s.nix index 8cac0b1..0cbffa3 100644 --- a/lib/k8s.nix +++ b/lib/k8s.nix @@ -3,7 +3,7 @@ with lib; rec { - # TODO: refactor into mkOptionType + # TODO: refactor with mkOptionType mkSecretOption = {description ? "", default ? {}, allowNull ? true}: mkOption { inherit description; type = (if allowNull then types.nullOr else id) (types.submodule { diff --git a/modules/legacy.nix b/modules/legacy.nix index 9883507..6dc8c43 100644 --- a/modules/legacy.nix +++ b/modules/legacy.nix @@ -49,10 +49,12 @@ let prefixResources = resources: serviceName: mapAttrs' (name: resource: nameValuePair "${serviceName}-${name}" resource) resources; + # TODO: rewrite using mkOptionType defaultModuleConfigurationOptions = mapAttrs (name: moduleDefinition: mkOption { description = "Module default configuration for ${name} module"; type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified); default = []; + apply = filter (v: v!=[]); }) config.kubernetes.moduleDefinitions; getModuleDefinition = name: @@ -101,6 +103,7 @@ in { description = "Module default configuration for all modules"; type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified); default = []; + apply = filter (v: v != []); }; }; }; @@ -150,7 +153,7 @@ in { }; options.kubernetes.defaults = mkOption { - type = types.attrsOf (types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified)); + type = types.attrsOf (types.coercedTo types.attrs (value: [value]) (types.listOf types.attrs)); description = "Legacy kubenix kubernetes defaults."; default = {}; }; diff --git a/modules/testing.nix b/modules/testing.nix index 06418d2..a245122 100644 --- a/modules/testing.nix +++ b/modules/testing.nix @@ -239,6 +239,7 @@ in { example = literalExample ''{config, ...}: { kubernetes.version = config.kubernetes.version; }''; + apply = filter (v: v!=[]); default = []; };