mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 08:00:06 +01:00
fix(modules): use _m instead of _module as _module is removed in eval
This commit is contained in:
parent
ce55ddead6
commit
493d7e04df
5 changed files with 18 additions and 18 deletions
|
|
@ -10,13 +10,13 @@ with lib;
|
||||||
default = "kubenix";
|
default = "kubenix";
|
||||||
};
|
};
|
||||||
|
|
||||||
_module.features = mkOption {
|
_m.features = mkOption {
|
||||||
description = "List of features exposed by module";
|
description = "List of features exposed by module";
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
_module.propagate = mkOption {
|
_m.propagate = mkOption {
|
||||||
description = "Module propagation options";
|
description = "Module propagation options";
|
||||||
type = types.listOf (types.submodule ({config, ...}: {
|
type = types.listOf (types.submodule ({config, ...}: {
|
||||||
options = {
|
options = {
|
||||||
|
|
|
||||||
|
|
@ -73,13 +73,10 @@ in {
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
# define docker feature
|
# define docker feature
|
||||||
_module.features = ["docker"];
|
_m.features = ["docker"];
|
||||||
|
|
||||||
# pass docker library as param
|
|
||||||
_module.args.docker = import ../lib/docker.nix { inherit lib pkgs; };
|
|
||||||
|
|
||||||
# propagate docker options if docker feature is enabled
|
# propagate docker options if docker feature is enabled
|
||||||
_module.propagate = [{
|
_m.propagate = [{
|
||||||
features = [ "docker" ];
|
features = [ "docker" ];
|
||||||
module = { config, name, ... }: {
|
module = { config, name, ... }: {
|
||||||
# propagate registry options
|
# propagate registry options
|
||||||
|
|
@ -87,6 +84,9 @@ in {
|
||||||
};
|
};
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
# pass docker library as param
|
||||||
|
_module.args.docker = import ../lib/docker.nix { inherit lib pkgs; };
|
||||||
|
|
||||||
# list of exported docker images
|
# list of exported docker images
|
||||||
docker.export = mapAttrsToList (_: i: i.image)
|
docker.export = mapAttrsToList (_: i: i.image)
|
||||||
(filterAttrs (_: i: i.registry != null) config.docker.images);
|
(filterAttrs (_: i: i.registry != null) config.docker.images);
|
||||||
|
|
|
||||||
|
|
@ -317,14 +317,11 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
# expose k8s helper methods as module argument
|
|
||||||
_module.args.k8s = import ../lib/k8s.nix { inherit lib; };
|
|
||||||
|
|
||||||
# features that module is defining
|
# features that module is defining
|
||||||
_module.features = [ "k8s" ];
|
_m.features = [ "k8s" ];
|
||||||
|
|
||||||
# module propagation options
|
# module propagation options
|
||||||
_module.propagate = [{
|
_m.propagate = [{
|
||||||
features = ["k8s"];
|
features = ["k8s"];
|
||||||
module = { config, ... }: {
|
module = { config, ... }: {
|
||||||
# propagate kubernetes version and namespace
|
# propagate kubernetes version and namespace
|
||||||
|
|
@ -352,6 +349,9 @@ in {
|
||||||
};
|
};
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
# expose k8s helper methods as module argument
|
||||||
|
_module.args.k8s = import ../lib/k8s.nix { inherit lib; };
|
||||||
|
|
||||||
kubernetes.api = mkMerge ([{
|
kubernetes.api = mkMerge ([{
|
||||||
# register custom types
|
# register custom types
|
||||||
types = mapAttrsToList (_: cr: {
|
types = mapAttrsToList (_: cr: {
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,6 @@ with lib;
|
||||||
args._empty = mkOption {};
|
args._empty = mkOption {};
|
||||||
};
|
};
|
||||||
|
|
||||||
config._module.features = ["submodule"];
|
|
||||||
config._module.args.args = config.submodule.args;
|
config._module.args.args = config.submodule.args;
|
||||||
|
config._m.features = ["submodule"];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ let
|
||||||
then inst.config.submodule.passthru._module.args or {}
|
then inst.config.submodule.passthru._module.args or {}
|
||||||
else {}
|
else {}
|
||||||
) config.submodules.instances);
|
) config.submodules.instances);
|
||||||
}) (removeAttrs options ["_definedNames" "_module" "submodules"]);
|
}) (removeAttrs options ["_definedNames" "_module" "_m" "submodules"]);
|
||||||
in {
|
in {
|
||||||
imports = [ ./base.nix ];
|
imports = [ ./base.nix ];
|
||||||
|
|
||||||
|
|
@ -132,7 +132,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
evaledSubmodule =
|
evaledSubmodule =
|
||||||
if (!(elem "submodule" evaledSubmodule'.config._module.features))
|
if (!(elem "submodule" evaledSubmodule'.config._m.features))
|
||||||
then throw "no submodule defined"
|
then throw "no submodule defined"
|
||||||
else evaledSubmodule';
|
else evaledSubmodule';
|
||||||
in {
|
in {
|
||||||
|
|
@ -170,7 +170,7 @@ in {
|
||||||
inherit (evaledSubmodule.config.submodule) name description version tags exports;
|
inherit (evaledSubmodule.config.submodule) name description version tags exports;
|
||||||
};
|
};
|
||||||
|
|
||||||
features = evaledSubmodule.config._module.features;
|
features = evaledSubmodule.config._m.features;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
|
@ -255,7 +255,7 @@ in {
|
||||||
${submodule.exportAs} = submodule.definition.exports;
|
${submodule.exportAs} = submodule.definition.exports;
|
||||||
}) (filter (submodule: submodule.exportAs != null) cfg.imports));
|
}) (filter (submodule: submodule.exportAs != null) cfg.imports));
|
||||||
|
|
||||||
_module.features = ["submodules"];
|
_m.features = ["submodules"];
|
||||||
|
|
||||||
submodules.specialArgs.kubenix = kubenix;
|
submodules.specialArgs.kubenix = kubenix;
|
||||||
|
|
||||||
|
|
@ -270,7 +270,7 @@ in {
|
||||||
(map (propagate: {
|
(map (propagate: {
|
||||||
features = propagate.features;
|
features = propagate.features;
|
||||||
default = propagate.module;
|
default = propagate.module;
|
||||||
}) config._module.propagate)
|
}) config._m.propagate)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue