upright 0.1.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +2 -3
  3. data/README.md +166 -60
  4. data/app/assets/stylesheets/upright/dashboard.css +65 -193
  5. data/app/assets/stylesheets/upright/tables.css +60 -0
  6. data/app/assets/stylesheets/upright/uptime-bars.css +13 -50
  7. data/app/controllers/upright/alertmanager_proxy_controller.rb +1 -1
  8. data/app/controllers/upright/dashboards/probe_statuses_controller.rb +7 -0
  9. data/app/controllers/upright/probe_results_controller.rb +1 -0
  10. data/app/controllers/upright/sessions_controller.rb +1 -0
  11. data/app/helpers/upright/application_helper.rb +10 -0
  12. data/app/helpers/upright/dashboards_helper.rb +12 -0
  13. data/app/helpers/upright/probe_results_helper.rb +3 -10
  14. data/app/javascript/upright/controllers/auto_refresh_controller.js +16 -0
  15. data/app/models/concerns/upright/playwright/form_authentication.rb +0 -3
  16. data/app/models/concerns/upright/playwright/lifecycle.rb +3 -2
  17. data/app/models/concerns/upright/probe_result/stale_cleanup.rb +23 -0
  18. data/app/models/concerns/upright/probeable.rb +7 -1
  19. data/app/models/upright/http/request.rb +1 -1
  20. data/app/models/upright/playwright/storage_state.rb +12 -3
  21. data/app/models/upright/probe_result.rb +6 -1
  22. data/app/models/upright/probes/http_probe.rb +6 -2
  23. data/app/models/upright/probes/status/probe.rb +24 -0
  24. data/app/models/upright/probes/status/site_status.rb +71 -0
  25. data/app/models/upright/probes/status.rb +54 -0
  26. data/app/models/upright/probes/uptime.rb +4 -4
  27. data/app/models/upright/traceroute/ip_metadata_lookup.rb +1 -2
  28. data/app/views/layouts/upright/_header.html.erb +2 -1
  29. data/app/views/upright/dashboards/_uptime_bars.html.erb +2 -2
  30. data/app/views/upright/dashboards/_uptime_probe_row.html.erb +7 -5
  31. data/app/views/upright/dashboards/probe_statuses/_matrix.html.erb +48 -0
  32. data/app/views/upright/dashboards/probe_statuses/show.html.erb +17 -0
  33. data/app/views/upright/dashboards/uptimes/show.html.erb +1 -1
  34. data/app/views/upright/probe_results/index.html.erb +7 -4
  35. data/app/views/upright/sites/index.html.erb +1 -1
  36. data/config/ci.rb +2 -0
  37. data/config/credentials/development.key +1 -0
  38. data/config/credentials/test.key +1 -0
  39. data/config/routes.rb +1 -0
  40. data/lib/generators/upright/install/install_generator.rb +52 -2
  41. data/lib/generators/upright/install/templates/http_probes.yml +1 -0
  42. data/lib/generators/upright/install/templates/recurring.yml +25 -0
  43. data/lib/generators/upright/install/templates/smtp_probes.yml +3 -0
  44. data/lib/generators/upright/install/templates/traceroute_probes.yml +12 -0
  45. data/lib/generators/upright/install/templates/upright.rb +4 -1
  46. data/lib/generators/upright/install/templates/upright.rules.yml +5 -5
  47. data/lib/upright/configuration.rb +14 -0
  48. data/lib/upright/engine.rb +7 -0
  49. data/lib/upright/geohash.rb +46 -0
  50. data/lib/upright/metrics.rb +2 -2
  51. data/lib/upright/probe_type_registry.rb +33 -0
  52. data/lib/upright/site.rb +1 -3
  53. data/lib/upright/version.rb +1 -1
  54. data/lib/upright.rb +6 -1
  55. metadata +17 -17
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upright
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lewis Buckley
@@ -163,20 +163,6 @@ dependencies:
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
- - !ruby/object:Gem::Dependency
167
- name: geohash_ruby
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- type: :runtime
174
- prerelease: false
175
- version_requirements: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
166
  - !ruby/object:Gem::Dependency
181
167
  name: playwright-ruby-client
182
168
  requirement: !ruby/object:Gem::Requirement
@@ -390,6 +376,7 @@ files:
390
376
  - app/controllers/upright/alertmanager_proxy_controller.rb
391
377
  - app/controllers/upright/application_controller.rb
392
378
  - app/controllers/upright/artifacts_controller.rb
379
+ - app/controllers/upright/dashboards/probe_statuses_controller.rb
393
380
  - app/controllers/upright/dashboards/uptimes_controller.rb
394
381
  - app/controllers/upright/jobs_controller.rb
395
382
  - app/controllers/upright/probe_results_controller.rb
@@ -401,6 +388,7 @@ files:
401
388
  - app/helpers/upright/probe_results_helper.rb
402
389
  - app/javascript/upright/application.js
403
390
  - app/javascript/upright/controllers/application.js
391
+ - app/javascript/upright/controllers/auto_refresh_controller.js
404
392
  - app/javascript/upright/controllers/form_controller.js
405
393
  - app/javascript/upright/controllers/index.js
406
394
  - app/javascript/upright/controllers/popover_controller.js
@@ -416,6 +404,7 @@ files:
416
404
  - app/models/concerns/upright/playwright/logging.rb
417
405
  - app/models/concerns/upright/playwright/otel_tracing.rb
418
406
  - app/models/concerns/upright/playwright/video_recording.rb
407
+ - app/models/concerns/upright/probe_result/stale_cleanup.rb
419
408
  - app/models/concerns/upright/probe_yaml_source.rb
420
409
  - app/models/concerns/upright/probeable.rb
421
410
  - app/models/concerns/upright/staggerable.rb
@@ -431,6 +420,9 @@ files:
431
420
  - app/models/upright/probes/http_probe.rb
432
421
  - app/models/upright/probes/playwright/base.rb
433
422
  - app/models/upright/probes/smtp_probe.rb
423
+ - app/models/upright/probes/status.rb
424
+ - app/models/upright/probes/status/probe.rb
425
+ - app/models/upright/probes/status/site_status.rb
434
426
  - app/models/upright/probes/traceroute_probe.rb
435
427
  - app/models/upright/probes/uptime.rb
436
428
  - app/models/upright/probes/uptime/summary.rb
@@ -446,6 +438,8 @@ files:
446
438
  - app/views/upright/artifacts/show.html.erb
447
439
  - app/views/upright/dashboards/_uptime_bars.html.erb
448
440
  - app/views/upright/dashboards/_uptime_probe_row.html.erb
441
+ - app/views/upright/dashboards/probe_statuses/_matrix.html.erb
442
+ - app/views/upright/dashboards/probe_statuses/show.html.erb
449
443
  - app/views/upright/dashboards/uptimes/show.html.erb
450
444
  - app/views/upright/jobs/show.html.erb
451
445
  - app/views/upright/probe_results/_pagination.html.erb
@@ -455,6 +449,8 @@ files:
455
449
  - app/views/upright/sites/index.html.erb
456
450
  - config/brakeman.ignore
457
451
  - config/ci.rb
452
+ - config/credentials/development.key
453
+ - config/credentials/test.key
458
454
  - config/importmap.rb
459
455
  - config/routes.rb
460
456
  - db/migrate/20250114000001_create_upright_probe_results.rb
@@ -469,8 +465,10 @@ files:
469
465
  - lib/generators/upright/install/templates/otel_collector.yml
470
466
  - lib/generators/upright/install/templates/prometheus.yml
471
467
  - lib/generators/upright/install/templates/puma.rb
468
+ - lib/generators/upright/install/templates/recurring.yml
472
469
  - lib/generators/upright/install/templates/sites.yml
473
470
  - lib/generators/upright/install/templates/smtp_probes.yml
471
+ - lib/generators/upright/install/templates/traceroute_probes.yml
474
472
  - lib/generators/upright/install/templates/upright.rb
475
473
  - lib/generators/upright/install/templates/upright.rules.yml
476
474
  - lib/generators/upright/playwright_probe/playwright_probe_generator.rb
@@ -481,14 +479,16 @@ files:
481
479
  - lib/upright.rb
482
480
  - lib/upright/configuration.rb
483
481
  - lib/upright/engine.rb
482
+ - lib/upright/geohash.rb
484
483
  - lib/upright/metrics.rb
485
484
  - lib/upright/playwright/collect_performance_metrics.js
485
+ - lib/upright/probe_type_registry.rb
486
486
  - lib/upright/site.rb
487
487
  - lib/upright/tracing.rb
488
488
  - lib/upright/version.rb
489
489
  homepage: https://github.com/basecamp/upright
490
490
  licenses:
491
- - O'Saasy
491
+ - MIT
492
492
  metadata:
493
493
  homepage_uri: https://github.com/basecamp/upright
494
494
  source_code_uri: https://github.com/basecamp/upright
@@ -507,7 +507,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
507
507
  - !ruby/object:Gem::Version
508
508
  version: '0'
509
509
  requirements: []
510
- rubygems_version: 4.0.4
510
+ rubygems_version: 4.0.6
511
511
  specification_version: 4
512
512
  summary: Synthetic monitoring engine with Playwright and Prometheus metrics
513
513
  test_files: []