Commit Graph
10 Commits
Author SHA1 Message Date
jwinterm 5b747ab923 fix: correct API_BASE_URL default (was double-prefixing /api)
The default was http://nginx/api but all fetch calls already append
/api/... resulting in http://nginx/api/api/... (404). Changed to
http://nginx so the full path is http://nginx/api/admin/auth/verify.
2026-03-15 11:31:17 -04:00
jwinterm 1ce08560a2 security: harden admin auth, reconciler locking, and connection pooling
- Use secrets.compare_digest for timing-safe admin key comparison
- Strip whitespace from ADMIN_API_KEY env var
- Add PostgreSQL advisory locks per-invoice in reconciler to prevent
  duplicate processing during deployments
- Add wallet-RPC retry with backoff (3 attempts: 0.5s, 1s, 2s)
- Raise MAX_SUBADDRESS_INDEX from 100 to 300
- Tune DB connection pool (pool_size=20, max_overflow=10, recycle=3600)
- Add 1-hour admin session timeout
- Regenerate UI lockfile
2026-03-15 10:49:24 -04:00
jwinterm 17ba489ee2 Add admin panel docs to README, fix nginx for reverse proxy setup 2026-03-10 11:34:28 -04:00
jwinterm 47cd52686a Remove TLS from nginx — NPM handles TLS on LAN 2026-03-10 11:32:16 -04:00
jwinterm 5f1154d363 Add admin panel for merchant management
- POST/GET/DELETE /api/admin/users endpoints
- Admin UI at /admin with login, user list, create/delete
- Auth via ADMIN_API_KEY env var (separate from tenant auth)
- Tenants remain scoped to their own store only
2026-03-10 11:24:38 -04:00
jwinterm bf6dd29c1f Send signup requests to apps@such.software 2026-03-09 13:12:01 -04:00
jwinterm 57e549ddf4 Fix turnstile and resend package versions 2026-03-09 13:04:23 -04:00
jwinterm 3eabad598d Add OPEN_REGISTRATION gate, signup request form, favicon 2026-03-09 13:02:21 -04:00
jwinterm 408312cce7 Add hosted by Such Software to footer 2026-03-09 11:54:38 -04:00
jwinterm a69d199fab Switch rate provider from CoinGecko to Kraken
Kraken public API is free and doesn't require an API key.
Supports XMR/USD and XMR/EUR pairs.
2026-03-09 10:27:47 -04:00