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";
|
||||
};
|
||||
|
||||
_module.features = mkOption {
|
||||
_m.features = mkOption {
|
||||
description = "List of features exposed by module";
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
|
||||
_module.propagate = mkOption {
|
||||
_m.propagate = mkOption {
|
||||
description = "Module propagation options";
|
||||
type = types.listOf (types.submodule ({config, ...}: {
|
||||
options = {
|
||||
|
|
|
|||
|
|
@ -73,13 +73,10 @@ in {
|
|||
|
||||
config = {
|
||||
# define docker feature
|
||||
_module.features = ["docker"];
|
||||
|
||||
# pass docker library as param
|
||||
_module.args.docker = import ../lib/docker.nix { inherit lib pkgs; };
|
||||
_m.features = ["docker"];
|
||||
|
||||
# propagate docker options if docker feature is enabled
|
||||
_module.propagate = [{
|
||||
_m.propagate = [{
|
||||
features = [ "docker" ];
|
||||
module = { config, name, ... }: {
|
||||
# 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
|
||||
docker.export = mapAttrsToList (_: i: i.image)
|
||||
(filterAttrs (_: i: i.registry != null) config.docker.images);
|
||||
|
|
|
|||
|
|
@ -317,14 +317,11 @@ in {
|
|||
};
|
||||
|
||||
config = {
|
||||
# expose k8s helper methods as module argument
|
||||
_module.args.k8s = import ../lib/k8s.nix { inherit lib; };
|
||||
|
||||
# features that module is defining
|
||||
_module.features = [ "k8s" ];
|
||||
_m.features = [ "k8s" ];
|
||||
|
||||
# module propagation options
|
||||
_module.propagate = [{
|
||||
_m.propagate = [{
|
||||
features = ["k8s"];
|
||||
module = { config, ... }: {
|
||||
# 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 ([{
|
||||
# register custom types
|
||||
types = mapAttrsToList (_: cr: {
|
||||
|
|
|
|||
|
|
@ -44,6 +44,6 @@ with lib;
|
|||
args._empty = mkOption {};
|
||||
};
|
||||
|
||||
config._module.features = ["submodule"];
|
||||
config._module.args.args = config.submodule.args;
|
||||
config._m.features = ["submodule"];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ let
|
|||
then inst.config.submodule.passthru._module.args or {}
|
||||
else {}
|
||||
) config.submodules.instances);
|
||||
}) (removeAttrs options ["_definedNames" "_module" "submodules"]);
|
||||
}) (removeAttrs options ["_definedNames" "_module" "_m" "submodules"]);
|
||||
in {
|
||||
imports = [ ./base.nix ];
|
||||
|
||||
|
|
@ -132,7 +132,7 @@ in {
|
|||
};
|
||||
|
||||
evaledSubmodule =
|
||||
if (!(elem "submodule" evaledSubmodule'.config._module.features))
|
||||
if (!(elem "submodule" evaledSubmodule'.config._m.features))
|
||||
then throw "no submodule defined"
|
||||
else evaledSubmodule';
|
||||
in {
|
||||
|
|
@ -170,7 +170,7 @@ in {
|
|||
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;
|
||||
}) (filter (submodule: submodule.exportAs != null) cfg.imports));
|
||||
|
||||
_module.features = ["submodules"];
|
||||
_m.features = ["submodules"];
|
||||
|
||||
submodules.specialArgs.kubenix = kubenix;
|
||||
|
||||
|
|
@ -270,7 +270,7 @@ in {
|
|||
(map (propagate: {
|
||||
features = propagate.features;
|
||||
default = propagate.module;
|
||||
}) config._module.propagate)
|
||||
}) config._m.propagate)
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue