mirror of
https://github.com/TECHNOFAB11/kubenix.git
synced 2025-12-12 08:00:06 +01:00
fmt
This commit is contained in:
parent
a0ce293db8
commit
60592d3096
55 changed files with 23668 additions and 30925 deletions
|
|
@ -1,7 +1,11 @@
|
|||
{ name, config, lib, kubenix, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
name,
|
||||
config,
|
||||
lib,
|
||||
kubenix,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
instance1 = config.submodules.instances.instance1;
|
||||
instance2 = config.submodules.instances.instance2;
|
||||
instance3 = config.submodules.instances.instance3;
|
||||
|
|
@ -9,8 +13,8 @@ let
|
|||
instance5 = config.submodules.instances.instance5;
|
||||
versioned-submodule = config.submodules.instances.versioned-submodule;
|
||||
|
||||
submodule = { name, ... }: {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
submodule = {name, ...}: {
|
||||
imports = [kubenix.modules.submodule];
|
||||
|
||||
options.submodule.args = {
|
||||
value = mkOption {
|
||||
|
|
@ -24,17 +28,17 @@ let
|
|||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = with kubenix.modules; [ test submodules ];
|
||||
in {
|
||||
imports = with kubenix.modules; [test submodules];
|
||||
|
||||
test = {
|
||||
name = "submodules-defaults";
|
||||
description = "Simple submodule test";
|
||||
assertions = [{
|
||||
message = "should apply defaults by tag1";
|
||||
assertion = instance1.config.submodule.args.value == "value1";
|
||||
}
|
||||
assertions = [
|
||||
{
|
||||
message = "should apply defaults by tag1";
|
||||
assertion = instance1.config.submodule.args.value == "value1";
|
||||
}
|
||||
{
|
||||
message = "should apply defaults by tag2";
|
||||
assertion = instance2.config.submodule.args.value == "value2";
|
||||
|
|
@ -46,8 +50,9 @@ in
|
|||
{
|
||||
message = "should apply defaults to all";
|
||||
assertion =
|
||||
instance1.config.submodule.args.defaultValue == "value" &&
|
||||
instance2.config.submodule.args.defaultValue == "value";
|
||||
instance1.config.submodule.args.defaultValue
|
||||
== "value"
|
||||
&& instance2.config.submodule.args.defaultValue == "value";
|
||||
}
|
||||
{
|
||||
message = "instance1 and instance3 should have value of default-value";
|
||||
|
|
@ -64,27 +69,29 @@ in
|
|||
{
|
||||
message = "should apply defaults to versioned submodule";
|
||||
assertion = versioned-submodule.config.submodule.args.defaultValue == "versioned-submodule";
|
||||
}];
|
||||
};
|
||||
|
||||
submodules.imports = [{
|
||||
modules = [
|
||||
submodule
|
||||
{
|
||||
submodule = {
|
||||
name = "submodule1";
|
||||
tags = [ "tag1" ];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
};
|
||||
|
||||
submodules.imports = [
|
||||
{
|
||||
modules = [
|
||||
submodule
|
||||
{
|
||||
submodule = {
|
||||
name = "submodule1";
|
||||
tags = ["tag1"];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
modules = [
|
||||
submodule
|
||||
{
|
||||
submodule = {
|
||||
name = "submodule2";
|
||||
tags = [ "tag2" ];
|
||||
tags = ["tag2"];
|
||||
};
|
||||
}
|
||||
];
|
||||
|
|
@ -95,7 +102,7 @@ in
|
|||
{
|
||||
submodule = {
|
||||
name = "submodule3";
|
||||
tags = [ "tag2" ];
|
||||
tags = ["tag2"];
|
||||
};
|
||||
}
|
||||
];
|
||||
|
|
@ -131,17 +138,19 @@ in
|
|||
};
|
||||
}
|
||||
];
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
submodules.defaults = [{
|
||||
default.submodule.args.defaultValue = mkDefault "value";
|
||||
}
|
||||
submodules.defaults = [
|
||||
{
|
||||
tags = [ "tag1" ];
|
||||
default.submodule.args.defaultValue = mkDefault "value";
|
||||
}
|
||||
{
|
||||
tags = ["tag1"];
|
||||
default.submodule.args.value = mkDefault "value1";
|
||||
}
|
||||
{
|
||||
tags = [ "tag2" ];
|
||||
tags = ["tag2"];
|
||||
default.submodule.args.value = mkDefault "value2";
|
||||
}
|
||||
{
|
||||
|
|
@ -149,7 +158,7 @@ in
|
|||
default.submodule.args.value = mkDefault "value4";
|
||||
}
|
||||
{
|
||||
default = { config, ... }: {
|
||||
default = {config, ...}: {
|
||||
submodule.args.defaultValue = mkIf (config.submodule.args.value == "custom-value") "my-custom-value";
|
||||
};
|
||||
}
|
||||
|
|
@ -157,7 +166,8 @@ in
|
|||
name = "versioned-submodule";
|
||||
version = "2.0.0";
|
||||
default.submodule.args.value = mkDefault "versioned";
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
submodules.instances.instance1.submodule = "submodule1";
|
||||
submodules.instances.instance2.submodule = "submodule2";
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
{ name, config, lib, kubenix, subm-lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
name,
|
||||
config,
|
||||
lib,
|
||||
kubenix,
|
||||
subm-lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
submodule = {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
imports = [kubenix.modules.submodule];
|
||||
|
||||
config.submodule = {
|
||||
name = "subm";
|
||||
|
|
@ -12,21 +17,24 @@ let
|
|||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = with kubenix.modules; [ test submodules ];
|
||||
in {
|
||||
imports = with kubenix.modules; [test submodules];
|
||||
|
||||
test = {
|
||||
name = "submodules-exports";
|
||||
description = "Submodules exports test";
|
||||
assertions = [{
|
||||
message = "should have library exported";
|
||||
assertion = subm-lib.id 1 == 1;
|
||||
}];
|
||||
assertions = [
|
||||
{
|
||||
message = "should have library exported";
|
||||
assertion = subm-lib.id 1 == 1;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
submodules.imports = [{
|
||||
modules = [ submodule ];
|
||||
exportAs = "subm-lib";
|
||||
}];
|
||||
submodules.imports = [
|
||||
{
|
||||
modules = [submodule];
|
||||
exportAs = "subm-lib";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,27 @@
|
|||
{ name, config, lib, kubenix, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
submodule = { name, ... }: {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
{
|
||||
name,
|
||||
config,
|
||||
lib,
|
||||
kubenix,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
submodule = {name, ...}: {
|
||||
imports = [kubenix.modules.submodule];
|
||||
|
||||
config.submodule = {
|
||||
name = "subm";
|
||||
passthru.global.${name} = "true";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = with kubenix.modules; [ test submodules ];
|
||||
in {
|
||||
imports = with kubenix.modules; [test submodules];
|
||||
|
||||
options = {
|
||||
global = mkOption {
|
||||
description = "Global value";
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
default = {};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -26,10 +29,11 @@ in
|
|||
test = {
|
||||
name = "submodules-passthru";
|
||||
description = "Submodules passthru test";
|
||||
assertions = [{
|
||||
message = "should passthru values if passthru enabled";
|
||||
assertion = hasAttr "inst1" config.global && config.global.inst1 == "true";
|
||||
}
|
||||
assertions = [
|
||||
{
|
||||
message = "should passthru values if passthru enabled";
|
||||
assertion = hasAttr "inst1" config.global && config.global.inst1 == "true";
|
||||
}
|
||||
{
|
||||
message = "should not passthru values if passthru not enabled";
|
||||
assertion = !(hasAttr "inst2" config.global);
|
||||
|
|
@ -37,12 +41,15 @@ in
|
|||
{
|
||||
message = "should passthru by default";
|
||||
assertion = hasAttr "inst3" config.global && config.global.inst3 == "true";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
submodules.imports = [{
|
||||
modules = [ submodule ];
|
||||
}];
|
||||
submodules.imports = [
|
||||
{
|
||||
modules = [submodule];
|
||||
}
|
||||
];
|
||||
|
||||
submodules.instances.inst1 = {
|
||||
submodule = "subm";
|
||||
|
|
|
|||
|
|
@ -1,20 +1,24 @@
|
|||
{ name, config, lib, kubenix, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
name,
|
||||
config,
|
||||
lib,
|
||||
kubenix,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.submodules.instances.instance;
|
||||
args = cfg.config.submodule.args;
|
||||
in
|
||||
{
|
||||
imports = with kubenix.modules; [ test submodules ];
|
||||
in {
|
||||
imports = with kubenix.modules; [test submodules];
|
||||
|
||||
test = {
|
||||
name = "submodules-simple";
|
||||
description = "Simple k8s submodule test";
|
||||
assertions = [{
|
||||
message = "Submodule name is set";
|
||||
assertion = cfg.name == "instance";
|
||||
}
|
||||
assertions = [
|
||||
{
|
||||
message = "Submodule name is set";
|
||||
assertion = cfg.name == "instance";
|
||||
}
|
||||
{
|
||||
message = "Submodule version is set";
|
||||
assertion = cfg.version == null;
|
||||
|
|
@ -34,32 +38,35 @@ in
|
|||
{
|
||||
message = "should have tag set";
|
||||
assertion = elem "tag" (cfg.config.submodule.tags);
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
submodules.propagate.enable = true;
|
||||
submodules.imports = [{
|
||||
module = { submodule, ... }: {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
submodules.imports = [
|
||||
{
|
||||
module = {submodule, ...}: {
|
||||
imports = [kubenix.modules.submodule];
|
||||
|
||||
options.submodule.args = {
|
||||
name = mkOption {
|
||||
description = "Submodule name";
|
||||
type = types.str;
|
||||
default = submodule.name;
|
||||
options.submodule.args = {
|
||||
name = mkOption {
|
||||
description = "Submodule name";
|
||||
type = types.str;
|
||||
default = submodule.name;
|
||||
};
|
||||
value = mkOption {
|
||||
description = "Submodule argument";
|
||||
type = types.str;
|
||||
};
|
||||
};
|
||||
value = mkOption {
|
||||
description = "Submodule argument";
|
||||
type = types.str;
|
||||
|
||||
config = {
|
||||
submodule.name = "submodule";
|
||||
submodule.tags = ["tag"];
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
submodule.name = "submodule";
|
||||
submodule.tags = [ "tag" ];
|
||||
};
|
||||
};
|
||||
}];
|
||||
}
|
||||
];
|
||||
|
||||
submodules.instances.instance = {
|
||||
submodule = "submodule";
|
||||
|
|
|
|||
|
|
@ -1,13 +1,17 @@
|
|||
{ name, config, lib, kubenix, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
name,
|
||||
config,
|
||||
lib,
|
||||
kubenix,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
inst-exact = config.submodules.instances.inst-exact.config;
|
||||
inst-regex = config.submodules.instances.inst-regex.config;
|
||||
inst-latest = config.submodules.instances.inst-latest.config;
|
||||
|
||||
submodule = {
|
||||
imports = [ kubenix.modules.submodule ];
|
||||
imports = [kubenix.modules.submodule];
|
||||
|
||||
options.version = mkOption {
|
||||
type = types.str;
|
||||
|
|
@ -16,17 +20,17 @@ let
|
|||
|
||||
config.submodule.name = "subm";
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = with kubenix.modules; [ test submodules ];
|
||||
in {
|
||||
imports = with kubenix.modules; [test submodules];
|
||||
|
||||
test = {
|
||||
name = "submodules-versioning";
|
||||
description = "Submodules versioning test";
|
||||
assertions = [{
|
||||
message = "should select exact version";
|
||||
assertion = inst-exact.version == "1.1.0";
|
||||
}
|
||||
assertions = [
|
||||
{
|
||||
message = "should select exact version";
|
||||
assertion = inst-exact.version == "1.1.0";
|
||||
}
|
||||
{
|
||||
message = "should select regex version";
|
||||
assertion = inst-regex.version == "1.2.1";
|
||||
|
|
@ -34,37 +38,48 @@ in
|
|||
{
|
||||
message = "should select latest version";
|
||||
assertion = inst-latest.version == "1.2.1";
|
||||
}];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
submodules.imports = [{
|
||||
modules = [{
|
||||
config.submodule.version = "1.0.0";
|
||||
config.version = "1.0.0";
|
||||
}
|
||||
submodule];
|
||||
}
|
||||
submodules.imports = [
|
||||
{
|
||||
modules = [{
|
||||
config.submodule.version = "1.1.0";
|
||||
config.version = "1.1.0";
|
||||
}
|
||||
submodule];
|
||||
modules = [
|
||||
{
|
||||
config.submodule.version = "1.0.0";
|
||||
config.version = "1.0.0";
|
||||
}
|
||||
submodule
|
||||
];
|
||||
}
|
||||
{
|
||||
modules = [{
|
||||
config.submodule.version = "1.2.0";
|
||||
config.version = "1.2.0";
|
||||
}
|
||||
submodule];
|
||||
modules = [
|
||||
{
|
||||
config.submodule.version = "1.1.0";
|
||||
config.version = "1.1.0";
|
||||
}
|
||||
submodule
|
||||
];
|
||||
}
|
||||
{
|
||||
modules = [{
|
||||
config.submodule.version = "1.2.1";
|
||||
config.version = "1.2.1";
|
||||
}
|
||||
submodule];
|
||||
}];
|
||||
modules = [
|
||||
{
|
||||
config.submodule.version = "1.2.0";
|
||||
config.version = "1.2.0";
|
||||
}
|
||||
submodule
|
||||
];
|
||||
}
|
||||
{
|
||||
modules = [
|
||||
{
|
||||
config.submodule.version = "1.2.1";
|
||||
config.version = "1.2.1";
|
||||
}
|
||||
submodule
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
submodules.instances.inst-exact = {
|
||||
submodule = "subm";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue