feat: kubernetes defaults as lists

This commit is contained in:
Jaka Hudoklin 2017-12-20 16:55:23 +01:00
parent ba9ad5067a
commit 213d75267b

View file

@ -224,7 +224,7 @@ let
groupVersion = if group != "" then "${group}/${version}" else version; groupVersion = if group != "" then "${group}/${version}" else version;
in types.submodule ({name, ...}: { in types.submodule ({name, ...}: {
options = definition.options // extraOptions; options = definition.options // extraOptions;
config = mkMerge [ config = mkMerge ([
definition.config definition.config
{ {
kind = mkOptionDefault kind; kind = mkOptionDefault kind;
@ -233,13 +233,8 @@ let
# metdata.name cannot use option default, due deep config # metdata.name cannot use option default, due deep config
metadata.name = mkOptionDefault name; metadata.name = mkOptionDefault name;
} }
(mkAllDefault config.kubernetes.defaults.${groupName} 1001) ] ++ config.kubernetes.defaults.${groupName}
(mkAllDefault ( ++ config.kubernetes.defaults.all);
if hasAttr "all" config.kubernetes.defaults
then config.kubernetes.defaults.all
else {}
) 1001)
];
}); });
type = type =
@ -312,8 +307,8 @@ let
}; };
defaultOptions = mapAttrs (name: value: mkOption { defaultOptions = mapAttrs (name: value: mkOption {
type = types.attrs; type = types.listOf types.attrs;
default = {}; default = [];
}) versionOptions.${config.kubernetes.version}; }) versionOptions.${config.kubernetes.version};
in { in {
options.kubernetes.version = mkOption { options.kubernetes.version = mkOption {
@ -334,8 +329,8 @@ in {
type = types.submodule { type = types.submodule {
options = defaultOptions // { options = defaultOptions // {
all = mkOption { all = mkOption {
type = types.attrs; type = types.listOf types.attrs;
default = {}; default = [];
}; };
}; };
}; };