system: add nixos-rebuild-test helper script
Adds a helper script deployed to all hosts for testing feature branches. Usage: nixos-rebuild-test <action> <branch> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -402,6 +402,8 @@ This means:
|
|||||||
|
|
||||||
**Firewall**: Disabled on most hosts (trusted network). Enable selectively in host configuration if needed.
|
**Firewall**: Disabled on most hosts (trusted network). Enable selectively in host configuration if needed.
|
||||||
|
|
||||||
|
**Shell scripts**: Use `pkgs.writeShellApplication` instead of `pkgs.writeShellScriptBin` for creating shell scripts. `writeShellApplication` provides automatic shellcheck validation, sets strict bash options (`set -euo pipefail`), and allows declaring `runtimeInputs` for dependencies.
|
||||||
|
|
||||||
### Monitoring Stack
|
### Monitoring Stack
|
||||||
|
|
||||||
All hosts ship metrics and logs to `monitoring01`:
|
All hosts ship metrics and logs to `monitoring01`:
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
{ lib, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
nixos-rebuild-test = pkgs.writeShellApplication {
|
||||||
|
name = "nixos-rebuild-test";
|
||||||
|
runtimeInputs = [ pkgs.nixos-rebuild ];
|
||||||
|
text = ''
|
||||||
|
if [ $# -lt 2 ]; then
|
||||||
|
echo "Usage: nixos-rebuild-test <action> <branch>"
|
||||||
|
echo "Example: nixos-rebuild-test boot my-feature-branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
action="$1"
|
||||||
|
branch="$2"
|
||||||
|
shift 2
|
||||||
|
|
||||||
|
exec nixos-rebuild "$action" --flake "git+https://git.t-juice.club/torjus/nixos-servers.git?ref=$branch" "$@"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
|
environment.systemPackages = [ nixos-rebuild-test ];
|
||||||
nix = {
|
nix = {
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user