Adding a POC around helm
This commit is contained in:
parent
ca770f02b4
commit
29f9361073
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
|||||||
result
|
result*
|
||||||
|
|
||||||
|
25
helm-poc/default.nix
Normal file
25
helm-poc/default.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
pkgs ? import <nixpkgs> {}
|
||||||
|
, helmnix ? import ./nix/helm.nix {}
|
||||||
|
, lib ? pkgs.lib
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
charts = [
|
||||||
|
rec {
|
||||||
|
name = "kube-prometheus-stack";
|
||||||
|
version = "57.0.3";
|
||||||
|
url = "https://github.com/prometheus-community/helm-charts/releases/download/${name}-${version}/${name}-${version}.tgz";
|
||||||
|
hash = "sha256-oZNaFSfFR2dtf5IMUQ0CnXQeVLvoW22JdRqMmgmdtTs=";
|
||||||
|
}
|
||||||
|
rec {
|
||||||
|
name = "cert-manager";
|
||||||
|
version = "v1.14.4";
|
||||||
|
url = "https://charts.jetstack.io/charts/${name}-${version}.tgz";
|
||||||
|
hash = "sha256-V3X9vBiB1uUQ33bTh1OvVLhr0Uyqjtso/bt5UnBC3t4=";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
packages = builtins.map (chart: helmnix.mkHelm chart) charts;
|
||||||
|
in
|
||||||
|
packages
|
||||||
|
|
31
helm-poc/nix/helm.nix
Normal file
31
helm-poc/nix/helm.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
pkgs ? import <nixpkgs> {}
|
||||||
|
, helm ? "${pkgs.kubernetes-helm}/bin/helm"
|
||||||
|
, lib ? pkgs.lib
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
mkHelm = { name, version, url, hash ? lib.fakeSha256 }:
|
||||||
|
pkgs.stdenv.mkDerivation {
|
||||||
|
inherit name;
|
||||||
|
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
inherit url hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [
|
||||||
|
"unpackPhase"
|
||||||
|
"build"
|
||||||
|
];
|
||||||
|
|
||||||
|
build = ''
|
||||||
|
mkdir -p $out
|
||||||
|
${helm} template ${name} ./ > $out/${name}-${version}.yaml
|
||||||
|
#${helm} version > $out/README
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nixHelm = {
|
||||||
|
inherit mkHelm;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
nixHelm
|
Loading…
Reference in New Issue
Block a user