2021-05-28 20:26:17 -05:00
|
|
|
{ system ? builtins.currentSystem
|
|
|
|
|
, evalModules ? (import ../. { }).evalModules.${system}
|
|
|
|
|
}:
|
2020-04-05 21:25:34 +07:00
|
|
|
|
2021-05-28 20:26:17 -05:00
|
|
|
{ k8sVersion ? "1.21"
|
|
|
|
|
, registry ? throw "Registry url not defined"
|
2021-06-01 09:59:52 -05:00
|
|
|
, doThrowError ? true # whether any testing error should throw an error
|
2021-05-13 17:27:08 -04:00
|
|
|
, enabledTests ? null
|
|
|
|
|
}:
|
2019-02-12 16:22:18 +01:00
|
|
|
|
2019-02-20 23:09:08 +01:00
|
|
|
let
|
2021-05-28 20:26:17 -05:00
|
|
|
config = (evalModules {
|
2019-02-25 17:16:24 +01:00
|
|
|
|
2021-05-31 22:35:41 -05:00
|
|
|
module =
|
|
|
|
|
{ kubenix, pkgs, ... }: {
|
2019-02-12 16:22:18 +01:00
|
|
|
|
2021-05-31 22:35:41 -05:00
|
|
|
imports = [ kubenix.modules.testing ];
|
2021-05-28 20:26:17 -05:00
|
|
|
|
2020-04-05 21:25:34 +07:00
|
|
|
testing = {
|
2021-06-01 09:59:52 -05:00
|
|
|
inherit doThrowError enabledTests;
|
2020-04-05 21:25:34 +07:00
|
|
|
name = "kubenix-${k8sVersion}";
|
|
|
|
|
tests = [
|
|
|
|
|
./k8s/simple.nix
|
|
|
|
|
./k8s/deployment.nix
|
|
|
|
|
# ./k8s/crd.nix # flaky
|
|
|
|
|
./k8s/defaults.nix
|
|
|
|
|
./k8s/order.nix
|
|
|
|
|
./k8s/submodule.nix
|
|
|
|
|
./k8s/imports.nix
|
2021-05-13 17:27:08 -04:00
|
|
|
# ./helm/simple.nix
|
2020-04-05 21:25:34 +07:00
|
|
|
# ./istio/bookinfo.nix # infinite recursion
|
|
|
|
|
./submodules/simple.nix
|
|
|
|
|
./submodules/defaults.nix
|
|
|
|
|
./submodules/versioning.nix
|
|
|
|
|
./submodules/exports.nix
|
|
|
|
|
./submodules/passthru.nix
|
|
|
|
|
];
|
2021-05-31 22:35:41 -05:00
|
|
|
|
|
|
|
|
args = { images = pkgs.callPackage ./images.nix { }; };
|
2021-05-28 20:26:17 -05:00
|
|
|
docker.registryUrl = registry;
|
2021-05-31 22:35:41 -05:00
|
|
|
|
2021-05-31 22:31:37 -05:00
|
|
|
common = [
|
2020-04-05 21:25:34 +07:00
|
|
|
{
|
2021-05-13 17:27:08 -04:00
|
|
|
features = [ "k8s" ];
|
2021-05-31 22:31:37 -05:00
|
|
|
options = {
|
2020-04-05 21:25:34 +07:00
|
|
|
kubernetes.version = k8sVersion;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
];
|
2019-03-12 20:33:56 +01:00
|
|
|
};
|
2021-05-28 20:26:17 -05:00
|
|
|
|
2021-05-31 22:35:41 -05:00
|
|
|
};
|
2021-05-28 20:26:17 -05:00
|
|
|
|
2019-03-08 00:39:09 +01:00
|
|
|
}).config;
|
2021-05-13 17:27:08 -04:00
|
|
|
in
|
2021-05-28 20:26:17 -05:00
|
|
|
config.testing // { recurseForDerivations = true; }
|