2019-02-10 21:03:47 +01:00
|
|
|
{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
|
2017-11-11 11:52:17 +01:00
|
|
|
|
|
|
|
|
let
|
2019-02-10 21:03:47 +01:00
|
|
|
lib' = lib.extend (lib: self: import ./lib.nix { inherit lib pkgs; });
|
|
|
|
|
|
2019-02-12 16:21:58 +01:00
|
|
|
specialArgs' = {
|
2019-02-10 21:03:47 +01:00
|
|
|
inherit kubenix;
|
|
|
|
|
};
|
|
|
|
|
|
2019-02-12 16:21:58 +01:00
|
|
|
evalKubernetesModules = {module ? null, modules ? [module], specialArgs ? specialArgs', ...}@attrs: let
|
|
|
|
|
attrs' = lib.filterAttrs (n: _: n != "module") attrs;
|
|
|
|
|
in lib'.evalModules (attrs' // {
|
|
|
|
|
inherit specialArgs modules;
|
2017-11-11 11:52:17 +01:00
|
|
|
args = {
|
|
|
|
|
inherit pkgs;
|
|
|
|
|
name = "default";
|
|
|
|
|
};
|
2019-02-12 16:21:58 +01:00
|
|
|
});
|
2017-11-11 11:52:17 +01:00
|
|
|
|
2019-02-12 16:21:58 +01:00
|
|
|
buildResources = args:
|
|
|
|
|
(evalKubernetesModules args).config.kubernetes.generated;
|
2017-11-11 11:52:17 +01:00
|
|
|
|
2019-02-10 21:03:47 +01:00
|
|
|
kubenix = {
|
2019-02-12 16:21:58 +01:00
|
|
|
inherit evalKubernetesModules buildResources kubenix;
|
2017-11-11 11:52:17 +01:00
|
|
|
|
2019-02-10 21:03:47 +01:00
|
|
|
lib = lib';
|
|
|
|
|
submodules = ./submodules.nix;
|
|
|
|
|
k8s = ./k8s;
|
2019-02-25 17:14:48 +01:00
|
|
|
k8s-submodules = ./k8s/submodule.nix;
|
2019-02-11 21:21:07 +01:00
|
|
|
istio = ./istio;
|
2019-02-17 19:42:01 +01:00
|
|
|
testing = ./testing;
|
2019-02-28 13:17:40 +01:00
|
|
|
helm = ./helm;
|
2017-11-11 11:52:17 +01:00
|
|
|
};
|
2019-02-10 21:03:47 +01:00
|
|
|
in kubenix
|