feat(k8s): optimizate, do not double evaluate aliased options

This commit is contained in:
Jaka Hudoklin 2019-03-13 10:15:07 +01:00
parent 0910b9b42e
commit 2ad7db5df0
No known key found for this signature in database
GPG key ID: 6A08896BFD32BD95
9 changed files with 9 additions and 685 deletions

View file

@ -19,7 +19,7 @@ let
moduleToAttrs = value:
if isAttrs value
then mapAttrs (n: v: moduleToAttrs v) (filterAttrs (n: v: !(hasPrefix "_" n) && v != null) value)
then mapAttrs (n: v: moduleToAttrs v) (filterAttrs (n: v: v != null && !(hasPrefix "_" n)) value)
else if isList value
then map (v: moduleToAttrs v) value
@ -257,7 +257,7 @@ in {
if elem r1.kind cfg.resourceOrder && elem r2.kind cfg.resourceOrder
then indexOf cfg.resourceOrder r1.kind < indexOf cfg.resourceOrder r2.kind
else if elem r1.kind cfg.resourceOrder then true else false
) (moduleToAttrs (unique items));
) (unique items);
default = [];
};
@ -285,6 +285,12 @@ in {
) cfg.api.${gvk.group}.${gvk.version}.${gvk.kind}
) cfg.api.resources))
(flatten (map (gvk:
mapAttrsToList (name: resource:
moduleToAttrs resource
) cfg.api.${gvk.resource}
) cfg.api.resources))
# passthru of child kubernetes objects if passthru is enabled on submodule
# and submodule has k8s module loaded
(flatten (mapAttrsToList (_: submodule: