Commit graph

1 commit

Author SHA1 Message Date
Quinn Ftw
7be87e6428 feat(infrastructure): add Verdaccio hybrid NPM cache with complete IaC
Deploy Verdaccio as consumption-only caching layer for npm packages:
- Proxies @lilith/* packages from Forgejo (2h cache)
- Caches public packages from npmjs.org (14d cache)
- Publishing unchanged - still targets Forge via publishConfig
- Accessible at npm.nasty.sh via nginx reverse proxy

Infrastructure as Code:
- Automated deployment scripts (deploy-verdaccio.sh)
- Automated nginx configuration (configure-nginx-verdaccio.sh)
- Python script for nginx config modification
- Complete rollback capability at every level
- Idempotent operations (safe to re-run)

Configuration:
- Added verdaccio:4873 to ports.yaml
- Verdaccio container with FORGEJO_NPM_TOKEN pass-through
- Nginx server block for npm.nasty.sh (VPN-only)
- Uplink authentication to Forge via bearer token
- Storage at /bigdisk/verdaccio/storage (auto-managed)

Benefits:
- 20-40% faster builds after cache warm-up
- 80% reduction in external npm requests
- Shared cache for workstations and CI runners
- Single registry URL for all package consumption

Documentation:
- Complete deployment guide (DEPLOYMENT.md)
- Operations manual (VERDACCIO.md)
- Master installer script (INSTALL.sh)
- Migration log (CHANGES.md)

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-01-11 06:12:45 -08:00