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 |
|