Pin NixOS service versions via nixpkgs-services overlay (#321)
## Summary - Add `nixpkgs-services` flake input pinned to a specific nixpkgs commit, with an overlay that pulls `forgejo-runner`, `snowflake`, and `k3s` from it instead of the rolling `nixpkgs` - Dagger `flake-update` pipeline now excludes `nixpkgs-services` via `--exclude` - Fix stale nix-container-builder version in service-versions.yaml (was 12.6.4, actually running 12.7.2) - Add k3s and minikube to service-versions.yaml tracking - Document the pinning approach in review-services how-to and ringtail reference ## Motivation During service review, discovered that flake updates had silently upgraded forgejo-runner from 12.6.4 → 12.7.2 without updating service-versions.yaml. This "sneak-in upgrade" bypasses the service review process. The overlay ensures these three services only change versions deliberately. ## Test plan - [ ] Verify `nix flake update` from `nixos/ringtail/` does not change `nixpkgs-services` lock entry - [ ] Verify `mise run provision-ringtail` builds successfully with the overlay - [ ] Confirm running service versions unchanged after deploy 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: #321
This commit is contained in:
parent
cfbf4cadbd
commit
a18a424866
9 changed files with 91 additions and 10 deletions
|
|
@ -57,9 +57,13 @@ For all service types, start by reading the service's reference card (`docs/refe
|
|||
|
||||
### NixOS Services (`type: nixos`)
|
||||
|
||||
Versioned NixOS services (forgejo-runner, snowflake, k3s) are pinned via a `nixpkgs-services` overlay in `nixos/ringtail/flake.nix`. This prevents `nix flake update` from silently upgrading them — they only change when the `nixpkgs-services` input is deliberately updated.
|
||||
|
||||
1. Check the upstream project for new releases
|
||||
2. Review the Nix derivation or flake input for version pins
|
||||
3. If upgrading, update and deploy via `mise run provision-ringtail`
|
||||
2. Check what version nixpkgs has: `ssh ringtail 'nix eval nixpkgs#<pkg>.version'`
|
||||
3. To upgrade, update the `nixpkgs-services` rev in `flake.nix` to a nixpkgs commit that includes the desired version, then run `nix flake update nixpkgs-services` from `nixos/ringtail/`
|
||||
4. Deploy via `mise run provision-ringtail`
|
||||
5. Update `service-versions.yaml` with the new version
|
||||
|
||||
### Private Forge Repos (`upstream-source` under `forge.eblu.me/eblume/`)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue