Adding a POC around helm

This commit is contained in:
Patrick MARIE 2024-03-20 23:30:01 +01:00
parent ca770f02b4
commit 29f9361073
3 changed files with 57 additions and 2 deletions

3
.gitignore vendored
View File

@ -1,2 +1 @@
result
result*

25
helm-poc/default.nix Normal file
View 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
View 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