mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 08:00:06 +01:00
fix(modules): throw better error if module with some name does not exist
This commit is contained in:
parent
f2e717b117
commit
2d51db5ccb
1 changed files with 9 additions and 7 deletions
16
modules.nix
16
modules.nix
|
|
@ -97,6 +97,11 @@ let
|
|||
type = types.coercedTo types.unspecified (value: [value]) (types.listOf types.unspecified);
|
||||
default = [];
|
||||
}) config.kubernetes.moduleDefinitions;
|
||||
|
||||
getModuleDefinition = name:
|
||||
if hasAttr name config.kubernetes.moduleDefinitions
|
||||
then config.kubernetes.moduleDefinitions.${name}
|
||||
else throw ''requested kubernetes moduleDefinition with name "${name}" does not exist'';
|
||||
in {
|
||||
options.kubernetes.moduleDefinitions = mkOption {
|
||||
description = "Attribute set of module definitions";
|
||||
|
|
@ -171,10 +176,7 @@ in {
|
|||
configuration = mkOption {
|
||||
description = "Module configuration";
|
||||
type = submodule {
|
||||
imports =
|
||||
if hasAttr config.module globalConfig.kubernetes.moduleDefinitions
|
||||
then mkModuleOptions globalConfig.kubernetes.moduleDefinitions.${config.module} config
|
||||
else throw ''Kubernetes moduleDefinition "${config.module}" does not exist'';
|
||||
imports = mkModuleOptions (getModuleDefinition config.module) config;
|
||||
};
|
||||
default = {};
|
||||
};
|
||||
|
|
@ -191,7 +193,7 @@ in {
|
|||
config = {
|
||||
kubernetes.resources = mkMerge (
|
||||
mapAttrsToList (name: module: let
|
||||
moduleDefinition = config.kubernetes.moduleDefinitions."${module.module}";
|
||||
moduleDefinition = getModuleDefinition module.module;
|
||||
moduleConfig =
|
||||
if moduleDefinition.prefixResources
|
||||
then prefixResources (moduleToAttrs module.configuration.kubernetes.resources) name
|
||||
|
|
@ -205,9 +207,9 @@ in {
|
|||
|
||||
kubernetes.customResources = mkMerge (
|
||||
mapAttrsToList (name: module: let
|
||||
moduleDefinition = config.kubernetes.moduleDefinitions."${module.module}";
|
||||
moduleDefinition = getModuleDefinition module.module;
|
||||
moduleConfig =
|
||||
if config.kubernetes.moduleDefinitions."${module.module}".prefixResources
|
||||
if moduleDefinition.prefixResources
|
||||
then prefixGroupResources (moduleToAttrs module.configuration.kubernetes.customResources) name
|
||||
else moduleToAttrs module.configuration.kubernetes.customResources;
|
||||
in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue