kubenix/default.nix

33 lines
767 B
Nix
Raw Normal View History

{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
2017-11-11 11:52:17 +01:00
let
lib' = lib.extend (lib: self: import ./lib.nix { inherit lib pkgs; });
specialArgs' = {
inherit kubenix;
};
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";
};
});
2017-11-11 11:52:17 +01:00
buildResources = args:
(evalKubernetesModules args).config.kubernetes.generated;
2017-11-11 11:52:17 +01:00
kubenix = {
inherit evalKubernetesModules buildResources kubenix;
2017-11-11 11:52:17 +01:00
lib = lib';
submodules = ./submodules.nix;
k8s = ./k8s;
2019-02-11 21:21:07 +01:00
istio = ./istio;
2019-02-17 19:42:01 +01:00
testing = ./testing;
2017-11-11 11:52:17 +01:00
};
in kubenix