[INVESTIGATION] Evaluate numtide/nix-relay for potential NixOS configuration integration #150
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config#150
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Investigation: numtide/nix-relay
Overview
Investigate the numtide/nix-relay repository to determine what it provides and if it offers valuable enhancements, simplifications, or performance improvements for the NixOS configuration at https://git.nimmog.uk/nimmo/nixos-config.
Repository Information
Investigation Goals
Current Related Infrastructure
Specific Areas to Examine
Suggested Evaluation Approach
Decision Criteria
Notes for Investigating Agent
Evaluation conclusion: do not integrate with the current runner topology
Reviewed upstream
numtide/nix-relayat commit03be587.What it actually provides
nix-relayis an OIDC-authenticated remote Nix build relay, not a binary-cache relay. A CI client bridges Nix'sssh-ngstore protocol over WebSocket; the server validates a token and launchesnix-daemon --stdioon the builder.Its primary zero-static-key workflow targets GitHub Actions OIDC. The current client source also handles GitLab and CircleCI tokens or an explicit
NIX_RELAY_TOKEN, but it does not automatically acquire a Forgejo Actions identity token. Local signed JWTs are supported, at the cost of provisioning and rotating another credential.Fit with this repository
novarunner. The expensive Nix build therefore runs directly on the strongest designated builder with its persistent local Nix store.nix-daemon --stdiois trusted by default and recommend considering the experimental--force-untrustedpath. That trust boundary deserves a dedicated threat model before any deployment.Validation performed
nix flake check --no-buildpassed against the reviewed upstream commit.26.11at the evaluated revision) using a container test configuration.Decision
Do not integrate or deploy
nix-relaynow, and do not create a live proof of concept. Nova already performs the builds locally, so a relay would add a privileged network boundary without increasing useful build capacity.Revisit if the project adopts ephemeral/off-site runners, creates a real multi-builder pool, or needs to expose remote builds without SSH keys. At that point, first verify Forgejo's issuer and claim compatibility, require least-privilege daemon behavior, and benchmark against ordinary Nix remote builders over the existing Nebula mesh.