1.1 KiB
1.1 KiB
Code Review: Config & Packaging
Scope
pkg/config/config.example.tomlgo.mod,go.sumflake.nixvendor/
Findings
✅ Strengths
- Config validation enforces required Matrix fields and defaults state store path.
- Example config mirrors the runtime schema and is easy to follow.
- Nix flake uses
buildGoModuleand includes systemd hardening defaults.
⚠️ Issues / Opportunities
-
vendorHash = null hides dependency drift
flake.nixis set tovendorHash = null, so Nix will accept the vendor tree without integrity verification.- Consider pinning a hash once the vendor tree is stable.
-
Go toolchain version mismatch in dev shell
go.modspecifies Go 1.24.0, but the dev shell usespkgs.go(likely 1.23).- Consider pinning
go_1_24in devShell to match the module requirement.
-
Config file parsing assumes local disk
- Config load is file-only; no env overrides for access tokens.
- Consider documenting secret handling if deploying in production.
Notes
config.tomlis ignored by git; ensure deployments generate a proper Matrix config.