kubenix/default.nix
Jaka Hudoklin ba1144a8df
feat: initial helm integration (thanks to @matejc)
helm2json was first implemented by matejc in
https://github.com/matejc/helm2json and incorperated in this project,
big thanks to @matejc for making this possible
2019-02-28 13:17:40 +01:00

34 lines
828 B
Nix

{ pkgs ? import <nixpkgs> {}, lib ? pkgs.lib }:
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;
args = {
inherit pkgs;
name = "default";
};
});
buildResources = args:
(evalKubernetesModules args).config.kubernetes.generated;
kubenix = {
inherit evalKubernetesModules buildResources kubenix;
lib = lib';
submodules = ./submodules.nix;
k8s = ./k8s;
k8s-submodules = ./k8s/submodule.nix;
istio = ./istio;
testing = ./testing;
helm = ./helm;
};
in kubenix