2023-11-15 06:09:04 +00:00
|
|
|
{
|
|
|
|
description = "heywoodlh kubernetes flake";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
# Base
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs";
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
nix-kube-generators.url = "github:farcaller/nix-kube-generators";
|
|
|
|
nixhelm.url = "github:farcaller/nixhelm";
|
|
|
|
|
|
|
|
# Charts from Git
|
|
|
|
nfs-helm = {
|
2023-11-15 06:15:40 +00:00
|
|
|
url = "github:kubernetes-sigs/nfs-subdir-external-provisioner/8af604bdc7e8076b8482b1652b7c139abb1659a9";
|
2023-11-15 06:09:04 +00:00
|
|
|
flake = false; # DRY this
|
|
|
|
};
|
|
|
|
app-template = {
|
|
|
|
# These branch comments suck but they're necessary until NixOS/nix#8226.
|
|
|
|
url = "github:bjw-s/helm-charts/8bfc33eb8a3dbb989e56e3b61d65a28c3def358e"; # v2.2.0
|
|
|
|
flake = false;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = inputs @ {
|
|
|
|
self,
|
|
|
|
nixpkgs,
|
|
|
|
flake-utils,
|
|
|
|
nix-kube-generators,
|
|
|
|
nixhelm,
|
|
|
|
nfs-helm,
|
2023-11-15 06:15:40 +00:00
|
|
|
app-template,
|
2023-11-15 06:09:04 +00:00
|
|
|
}:
|
|
|
|
flake-utils.lib.eachDefaultSystem (system: let
|
|
|
|
pkgs = import nixpkgs {
|
|
|
|
inherit system;
|
|
|
|
};
|
|
|
|
kubelib = nix-kube-generators.lib { inherit pkgs; };
|
|
|
|
in {
|
|
|
|
packages = {
|
|
|
|
nfs-kube = (kubelib.buildHelmChart {
|
|
|
|
name = "nfs-subdir";
|
|
|
|
chart = "${nfs-helm}/charts/nfs-subdir-external-provisioner";
|
|
|
|
namespace = "kube-system";
|
|
|
|
values = {
|
|
|
|
fullnameOverride = "nfs-subdir";
|
2023-11-15 06:15:40 +00:00
|
|
|
image.tag = "v4.0.17";
|
2023-11-15 06:09:04 +00:00
|
|
|
nfs = {
|
|
|
|
path = "/nfs/svc";
|
|
|
|
server = "losangeles.eureka.lan";
|
|
|
|
};
|
|
|
|
storageClass.name = "nfs-subdir";
|
|
|
|
};
|
|
|
|
});
|
|
|
|
};
|
|
|
|
devShell = pkgs.mkShell {
|
|
|
|
name = "kubernetes-shell";
|
|
|
|
buildInputs = with pkgs; [
|
|
|
|
k9s
|
|
|
|
kubectl
|
|
|
|
kubernetes-helm
|
|
|
|
];
|
|
|
|
};
|
|
|
|
formatter = pkgs.alejandra;
|
|
|
|
});
|
|
|
|
}
|