From db196666d4e846be45fcb6ecaaf2687921f9f37e Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Fri, 6 Apr 2018 19:36:01 +0200 Subject: [PATCH] Revert "Revert "feat(module): allow to optionally specify if set resources as default"" This reverts commit 8a0a1ac45a8c56ad184f050ef730c1eb929768e3. --- modules.nix | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/modules.nix b/modules.nix index c01a72a..a42ee12 100644 --- a/modules.nix +++ b/modules.nix @@ -92,11 +92,17 @@ in { }; prefixResources = mkOption { - description = "Whether resources should be automatically prefix"; + description = "Whether resources should be automatically prefixed with module name"; type = types.bool; default = true; }; + assignAsDefaults = mkOption { + description = "Whether to assign resources as defaults, this is usefull for module that add some functionality"; + type = types.bool; + default = false; + }; + module = mkOption { description = "Module definition"; }; @@ -163,22 +169,30 @@ in { config = { kubernetes.resources = mkMerge ( - mapAttrsToList (name: module: - mkAllDefault ( - if config.kubernetes.moduleDefinitions."${module.module}".prefixResources + mapAttrsToList (name: module: let + moduleDefinition = config.kubernetes.moduleDefinitions."${module.module}"; + moduleConfig = + if moduleDefinition.prefixResources then prefixResources (moduleToAttrs module.configuration.kubernetes.resources) module.name - else moduleToAttrs module.configuration.kubernetes.resources - ) 1000 + else moduleToAttrs module.configuration.kubernetes.resources; + in + if moduleDefinition.assignAsDefaults + then mkAllDefault moduleConfig 1000 + else moduleConfig ) config.kubernetes.modules ); kubernetes.customResources = mkMerge ( - mapAttrsToList (name: module: - mkAllDefault ( + mapAttrsToList (name: module: let + moduleDefinition = config.kubernetes.moduleDefinitions."${module.module}"; + moduleConfig = if config.kubernetes.moduleDefinitions."${module.module}".prefixResources then prefixGroupResources (moduleToAttrs module.configuration.kubernetes.customResources) module.name - else moduleToAttrs module.configuration.kubernetes.customResources - ) 1000 + else moduleToAttrs module.configuration.kubernetes.customResources; + in + if moduleDefinition.assignAsDefaults + then mkAllDefault moduleConfig 1000 + else moduleConfig ) config.kubernetes.modules );