Commit Graph
113 Commits
Author SHA1 Message Date
gorkem-bwl 27c3a9e12b feat: add location tier presets (3, 6, 15) to Globalping settings
## Changes

### Server
- Expand LOCATION_MAP to support city/country-level locations for the
  15-location tier (US East/West, Toronto, London, Frankfurt, Amsterdam,
  Warsaw, Tokyo, Singapore, Mumbai, Sydney, Brazil, Santiago, Johannesburg,
  Dubai)
- Add globalpingLocationsTier field to Settings type, Mongoose model,
  repository mapper, and Joi validation (valid: 3, 6, 15, default: 6)
- Update getGlobalpingLocations endpoint to return locations based on
  the configured tier from settings
- Pass settingsService to MonitorController for tier lookup

### Client
- Add tier selector (radio buttons) to SettingsGlobalping component
  with descriptions for each option:
  - 3 locations: North America, Europe, Asia
  - 6 locations: all continents
  - 15 locations: city-level global coverage
- Add rate limits info box explaining credit usage per tier:
  - Without token: 250 tests/hour
  - With free token: 500 tests/hour
  - GitHub sponsors: higher limits
- Add all translation keys for tier labels, descriptions, and rate info

## Benefits
- Admins can choose the right balance of coverage vs API usage
- Rate limit info helps users decide whether they need authentication
2026-02-19 10:31:15 -05:00
gorkem-bwl e39b44db6c feat: add multi-location uptime monitoring via Globalping
## Changes

### Server
- Add `locations` field to Monitor model and types (up to 5 locations per monitor)
- Add `location` field to Check metadata for per-location tracking
- Add `globalpingApiKey` to AppSettings for API key management
- Create GlobalpingService that wraps the Globalping SDK to run distributed
  HTTP/ping checks from multiple global locations (NA, EU, AS, SA, OC, AF)
- Extend SuperSimpleQueueHelper with fire-and-forget Globalping checks that
  run alongside the existing local check without affecting the main pipeline
- Add location-aware check queries with aggregation pipeline grouping by
  location in MongoChecksRepository
- Filter location checks from main uptime aggregation to preserve local check
  as source of truth for status/incidents
- Extend monitor details endpoint to return per-location check data
- Add GET /globalping/locations endpoint for available location options
- Add globalpingKeySet to settings response
- Add Joi validation for locations and globalpingApiKey fields

### Client
- Add locations multi-select (Autocomplete with chips) to monitor creation
  form, shown only for HTTP and ping monitor types
- Add SettingsGlobalping component for API key management (matching existing
  PageSpeed pattern with set/reset flow)
- Add per-location breakdown section to uptime details page with tabs,
  avg response time, uptime percentage, and response time charts
- Add globe icon with tooltip to monitor table for monitors with locations
- Add Zod validation for locations field in HTTP and ping schemas
- Add all translation keys for globalping settings, locations form, and
  location details sections

## Benefits
- Users gain visibility into geographic availability and latency data
- Local check remains the source of truth, Globalping runs alongside
- Supports up to 5 locations per monitor with 6 continent-level options
- Graceful degradation when API key is not configured or rate limited
2026-02-19 00:45:14 -05:00
Alex Holliday cddf8b32e6 cleanup incidents 2026-02-17 19:39:24 +00:00
Alex Holliday 0032765bd1 remove orphaned checks 2026-02-17 19:20:08 +00:00
Alex Holliday 6bc9194e8f initial commit 2026-02-17 19:03:17 +00:00
Alex Holliday 97750da889 remove incidents on delete 2026-02-17 18:30:22 +00:00
Alex Holliday 73f05ab78e refactor to remove duplication 2026-02-17 17:49:56 +00:00
Alex Holliday d2d75cd035 initial commit 2026-02-16 20:18:25 +00:00
Alex Holliday a8ecd44abf inject settings service, extract client host 2026-02-16 00:39:34 +00:00
Alex Holliday f337ca5ff0 initial commit 2026-02-12 22:37:40 +00:00
Alex Holliday cbd8b5db47 update monitor status on maintenance 2026-02-11 19:38:32 +00:00
Alex Holliday 50c644231e initial commit 2026-01-27 18:26:31 +00:00
Alex Holliday b511cde849 remove final js 2026-01-22 21:49:49 +00:00
Alex Holliday d25ca473de purge incident module 2026-01-22 21:28:28 +00:00
Alex Holliday 6b89db131d remove statuspagemodule 2026-01-22 21:01:45 +00:00
Alex Holliday e6c268f14e status page service/repo refactor 2026-01-22 20:57:20 +00:00
Alex Holliday eee3caf021 remove old db module 2026-01-22 18:11:54 +00:00
Alex Holliday 9962866ba5 refactor 2026-01-21 23:26:13 +00:00
Alex Holliday 117c22fae4 initial commit 2026-01-21 14:22:53 -08:00
Alex Holliday 155a2577d0 remove unused dep 2026-01-21 13:55:22 -08:00
Alex Holliday d627a25b40 refactor notifications service 2026-01-21 13:51:04 -08:00
Alex Holliday fdc3983328 remove settingsModule 2026-01-21 13:01:31 -08:00
Alex Holliday 36e02e0a9a team -> ts 2026-01-21 11:46:49 -08:00
Alex Holliday 9fa0113f2b remove database.js 2026-01-21 11:21:00 -08:00
Alex Holliday 371e8cc154 purge translationService 2026-01-21 11:20:41 -08:00
Alex Holliday 2a8d2cb06a app -> ts 2026-01-21 11:18:13 -08:00
Alex Holliday 81c7c992e2 routes -> ts 2026-01-21 10:36:03 -08:00
Alex Holliday 3fa370765e purge papaparse 2026-01-21 09:52:31 -08:00
Alex Holliday f436e15569 fix dep 2026-01-20 23:10:08 +00:00
Alex Holliday 952c70fca4 remove v1 dir 2026-01-20 23:07:31 +00:00
Alex Holliday 4957209307 purge string service 2026-01-20 23:06:23 +00:00
Alex Holliday 44079f2eb8 remove service regsitry, remove unused middleware 2026-01-20 22:40:06 +00:00
Alex Holliday 27dea6a08e implement remaining check methods 2026-01-20 21:18:26 +00:00
Alex Holliday 9af25a19e5 findByMonitorId 2026-01-20 20:14:23 +00:00
Alex Holliday f6fd8729c3 remove dependency 2026-01-20 19:22:04 +00:00
Alex Holliday e91a54b75c initial commit 2026-01-19 23:41:24 +00:00
Alex Holliday dde54a4e45 remove old service 2026-01-19 22:18:17 +00:00
Alex Holliday bebb5d6942 inject logger 2026-01-19 21:58:48 +00:00
Alex Holliday 7c9410f9d7 test alerts 2026-01-19 21:39:02 +00:00
Alex Holliday fd33b903ed email provider 2026-01-19 19:30:46 +00:00
Alex Holliday 7d6bc4b2dc notificaitons provider 2026-01-19 00:48:20 +00:00
Alex Holliday a86588f080 refactoring notifications 2026-01-18 23:38:40 +00:00
Alex Holliday 4e9839e2e5 notificationsService 2026-01-18 22:52:59 +00:00
Alex Holliday cff5508614 notification provider 2026-01-18 16:34:20 +00:00
Alex Holliday 3e8d4cb49b convert to ts 2026-01-18 05:38:50 +00:00
Alex Holliday ba35230919 remove db references from userService 2026-01-17 19:08:12 +00:00
Alex Holliday 9c92542653 recovery 2026-01-16 22:03:35 +00:00
Alex Holliday cb5b8e0673 update user refactor 2026-01-16 20:29:54 +00:00
Alexander Holliday 0d7a35367f Merge pull request #3141 from bluewave-labs/feat/job-queue-ts
feat/job queue ts
2026-01-16 10:25:40 -08:00
Alex Holliday 95cd33ac06 queue and buffer refactor 2026-01-16 18:11:04 +00:00