kubenix/pkgs/generators/default.nix

37 lines
867 B
Nix
Raw Normal View History

2023-07-07 22:01:34 -04:00
{ pkgs, lib }:
let
generateIstio = import ./istio {
2023-07-07 22:01:34 -04:00
inherit pkgs lib;
};
2022-04-02 12:40:35 -07:00
generateK8S = name: spec:
import ./k8s {
2023-07-07 22:01:34 -04:00
inherit name pkgs lib spec;
2022-04-02 12:40:35 -07:00
};
2023-07-07 22:01:34 -04:00
in
{
istio = pkgs.linkFarm "istio-generated" [{
name = "latest.nix";
path = generateIstio;
}];
k8s = pkgs.linkFarm "k8s-generated" (
builtins.attrValues (
2023-07-07 22:01:34 -04:00
builtins.mapAttrs
(version: sha:
let
short = builtins.concatStringsSep "." (lib.lists.sublist 0 2 (builtins.splitVersion version));
in
{
name = "v${short}.nix";
path = generateK8S "v${short}" (builtins.fetchurl {
url = "https://github.com/kubernetes/kubernetes/raw/v${version}/api/openapi-spec/swagger.json";
sha256 = sha;
});
}
)
(import ../../versions.nix).full
)
);
}