Improve createScript function
This commit is contained in:
parent
f8cca093cd
commit
05a49f4e35
3 changed files with 16 additions and 8 deletions
|
@ -9,7 +9,9 @@ Nix definitions to configure our servers at home.
|
||||||
- [agenix](https://github.com/ryantm/agenix): deployment of encrypted secrets to NixOS machines
|
- [agenix](https://github.com/ryantm/agenix): deployment of encrypted secrets to NixOS machines
|
||||||
- [dns.nix](https://github.com/kirelagin/dns.nix): A Nix DSL for defining DNS zones
|
- [dns.nix](https://github.com/kirelagin/dns.nix): A Nix DSL for defining DNS zones
|
||||||
- [flake-utils](https://github.com/numtide/flake-utils): Handy utilities to develop Nix flakes
|
- [flake-utils](https://github.com/numtide/flake-utils): Handy utilities to develop Nix flakes
|
||||||
- [nixos-hardware](https://github.com/NixOS/nixos-hardware): Hardware-specific NixOS modules. Doing the heavy lifting for our Raspberry Pi.
|
- [nixos-hardware](https://github.com/NixOS/nixos-hardware): Hardware-specific NixOS modules. Doing the heavy lifting for our Raspberry Pi
|
||||||
|
- [kubenix](https://kubenix.org/): declare and deploy Kubernetes resources using Nix
|
||||||
|
- [nixhelm](https://github.com/farcaller/nixhelm): Nix-digestible Helm charts
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
@ -43,8 +45,6 @@ This puts a private key, signed certificate and a kubeconfig in the kubeconfig d
|
||||||
|
|
||||||
If the cluster has not been initialized yet, next run `nix run .#kubenix-bootstrap.x86_64-linux`.
|
If the cluster has not been initialized yet, next run `nix run .#kubenix-bootstrap.x86_64-linux`.
|
||||||
|
|
||||||
⚠️ Do not do this if the cluster has been initialized already, as it will prune any deployed resources! ⚠️
|
|
||||||
|
|
||||||
Lastly, deploy everything to the cluster using `nix run .#kubenix.x86_64-linux`.
|
Lastly, deploy everything to the cluster using `nix run .#kubenix.x86_64-linux`.
|
||||||
|
|
||||||
## Known bugs
|
## Known bugs
|
||||||
|
|
|
@ -22,5 +22,4 @@ in
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ flake-utils, pkgs, ... }: flake-utils.lib.eachDefaultSystem (system:
|
{ flake-utils, pkgs, ... }: flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
createScript = name: runtimeInputs: scriptPath:
|
createScript = { name, runtimeInputs, scriptPath, extraWrapperFlags ? "", ... }:
|
||||||
let
|
let
|
||||||
script = (pkgs.writeScriptBin name (builtins.readFile scriptPath)).overrideAttrs (old: {
|
script = (pkgs.writeScriptBin name (builtins.readFile scriptPath)).overrideAttrs (old: {
|
||||||
buildCommand = "${old.buildCommand}\n patchShebangs $out";
|
buildCommand = "${old.buildCommand}\n patchShebangs $out";
|
||||||
|
@ -10,10 +10,19 @@ let
|
||||||
inherit name;
|
inherit name;
|
||||||
paths = [ script ] ++ runtimeInputs;
|
paths = [ script ] ++ runtimeInputs;
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
postBuild = "wrapProgram $out/bin/${name} --set PATH $out/bin";
|
postBuild = "wrapProgram $out/bin/${name} --set PATH $out/bin ${extraWrapperFlags}";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages.bootstrap = createScript "bootstrap" (with pkgs; [ libsecret coreutils nixos-anywhere ]) ./bootstrap.sh;
|
packages.bootstrap = createScript {
|
||||||
packages.gen-k3s-cert = createScript "create-k3s-cert" (with pkgs; [ openssl coreutils openssh yq ]) ./gen-k3s-cert.sh;
|
name = "bootstrap";
|
||||||
|
runtimeInputs = with pkgs; [ libsecret coreutils nixos-anywhere ];
|
||||||
|
scriptPath = ./bootstrap.sh;
|
||||||
|
};
|
||||||
|
|
||||||
|
packages.gen-k3s-cert = createScript {
|
||||||
|
name = "create-k3s-cert";
|
||||||
|
runtimeInputs = with pkgs; [ openssl coreutils openssh yq ];
|
||||||
|
scriptPath = ./gen-k3s-cert.sh;
|
||||||
|
};
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue