mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 16:10:05 +01:00
feat(modules): add namespace option to module
This commit is contained in:
parent
642a31b0d0
commit
208a80f036
1 changed files with 16 additions and 2 deletions
18
modules.nix
18
modules.nix
|
|
@ -11,14 +11,22 @@ let
|
||||||
nameToModule = moduleConfig:
|
nameToModule = moduleConfig:
|
||||||
if isFunction moduleConfig then
|
if isFunction moduleConfig then
|
||||||
{name, ...}@args:
|
{name, ...}@args:
|
||||||
(moduleConfig (args // {name = module.name;})) // {_file = "module-${module.name}";}
|
(moduleConfig (args // {
|
||||||
|
name = module.name;
|
||||||
|
moduleDefinition = moduleDefinition;
|
||||||
|
module = module;
|
||||||
|
})) // {_file = "module-${module.name}";}
|
||||||
else {name, ...}: moduleConfig // {_file = "module-${module.name}";};
|
else {name, ...}: moduleConfig // {_file = "module-${module.name}";};
|
||||||
in [
|
in [
|
||||||
(import ./kubernetes.nix {
|
(import ./kubernetes.nix {
|
||||||
customResourceDefinitions =
|
customResourceDefinitions =
|
||||||
config.kubernetes.resources.customResourceDefinitions;
|
config.kubernetes.resources.customResourceDefinitions;
|
||||||
})
|
})
|
||||||
./modules.nix (nameToModule moduleDefinition.module)
|
./modules.nix
|
||||||
|
(nameToModule moduleDefinition.module)
|
||||||
|
{
|
||||||
|
config.kubernetes.defaults.all.metadata.namespace = mkDefault module.namespace;
|
||||||
|
}
|
||||||
] ++ config.kubernetes.defaultModuleConfiguration.all
|
] ++ config.kubernetes.defaultModuleConfiguration.all
|
||||||
++ (optionals (hasAttr moduleDefinition.name config.kubernetes.defaultModuleConfiguration)
|
++ (optionals (hasAttr moduleDefinition.name config.kubernetes.defaultModuleConfiguration)
|
||||||
config.kubernetes.defaultModuleConfiguration.${moduleDefinition.name});
|
config.kubernetes.defaultModuleConfiguration.${moduleDefinition.name});
|
||||||
|
|
@ -77,6 +85,12 @@ in {
|
||||||
default = name;
|
default = name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace = mkOption {
|
||||||
|
description = "Namespace where to deploy module";
|
||||||
|
type = types.str;
|
||||||
|
default = "default";
|
||||||
|
};
|
||||||
|
|
||||||
configuration = mkOption {
|
configuration = mkOption {
|
||||||
description = "Module configuration";
|
description = "Module configuration";
|
||||||
type = types.submodule {
|
type = types.submodule {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue