feat(scripts): Unify behaviour and improve generation
All checks were successful
Build all the nodes / bridge01 (push) Successful in 1m17s
Build all the nodes / geo01 (push) Successful in 1m16s
Build all the nodes / geo02 (push) Successful in 1m22s
Build all the nodes / compute01 (push) Successful in 1m38s
Build all the nodes / storage01 (push) Successful in 1m13s
Build all the nodes / rescue01 (push) Successful in 1m22s
Build all the nodes / vault01 (push) Successful in 1m20s
Run pre-commit on all files / check (push) Successful in 24s
Build all the nodes / web01 (push) Successful in 1m46s
Build all the nodes / web02 (push) Successful in 1m6s
Build all the nodes / web03 (push) Successful in 1m9s

This commit is contained in:
Tom Hubrecht 2024-11-14 22:01:58 +01:00
parent 2ffd7732ba
commit 6fbda40e5e
Signed by: thubrecht
SSH key fingerprint: SHA256:r+nK/SIcWlJ0zFZJGHtlAoRwq1Rm+WcKAm5ADYMoQPc
6 changed files with 93 additions and 96 deletions

View file

@ -1,39 +1,34 @@
{ pkgs, ... }:
{
lib,
writeShellApplication,
# Dependencies
colmena,
jq,
nvd,
...
}:
let
substitutions = {
inherit (pkgs)
bash
inherit (lib) mapAttrsToList;
scripts = {
cache-node = [ colmena ];
check-deployment = [
colmena
coreutils
nvd
git
jq
;
nvd
];
launch-vm = [ colmena ];
list-nodes = [ jq ];
};
mkShellScript =
name:
(pkgs.substituteAll (
{
inherit name;
src = ./. + "/${name}.sh";
dir = "/bin/";
isExecutable = true;
checkPhase = ''
${pkgs.stdenv.shellDryRun} "$target"
'';
}
// substitutions
));
scripts = [
"cache-node"
"check-deployment"
"launch-vm"
"list-nodes"
];
in
builtins.map mkShellScript scripts
mapAttrsToList (
name: runtimeInputs:
writeShellApplication {
inherit name runtimeInputs;
text = builtins.readFile ./${name}.sh;
}
) scripts