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-03-05 20:57:55 +01:00
|
|
|
modules = import ./modules;
|
|
|
|
|
|
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';
|
2019-03-05 20:57:55 +01:00
|
|
|
} // modules;
|
2019-02-10 21:03:47 +01:00
|
|
|
in kubenix
|