stoplight 5.8.3 → 6.0.0.rc2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -1
- data/LICENSE.md +1 -0
- data/README.md +132 -79
- data/UPGRADING.md +265 -6
- data/lib/stoplight/admin/actions/action.rb +4 -12
- data/lib/stoplight/admin/actions/lock.rb +12 -9
- data/lib/stoplight/admin/actions/lock_all.rb +27 -0
- data/lib/stoplight/admin/actions/remove.rb +12 -9
- data/lib/stoplight/admin/actions/stats.rb +15 -12
- data/lib/stoplight/admin/actions/unlock.rb +10 -9
- data/lib/stoplight/admin/assets/apple-touch-icon.png +0 -0
- data/lib/stoplight/admin/assets/favicon.ico +0 -0
- data/lib/stoplight/admin/assets/flowbite.min.css +2 -0
- data/lib/stoplight/admin/assets/flowbite.min.js +1 -0
- data/lib/stoplight/admin/assets/icon.svg +7 -0
- data/lib/stoplight/admin/assets/turbo.es2017-esm.min.js +34 -0
- data/lib/stoplight/admin/config_registry.rb +40 -0
- data/lib/stoplight/admin/dependencies.rb +29 -28
- data/lib/stoplight/admin/helpers.rb +50 -17
- data/lib/stoplight/admin/light_view.rb +184 -0
- data/lib/stoplight/admin/lights_stats.rb +7 -9
- data/lib/stoplight/admin/views/_card.erb +19 -21
- data/lib/stoplight/admin/views/index.erb +9 -3
- data/lib/stoplight/admin/views/layout.erb +45 -13
- data/lib/stoplight/admin.rb +110 -21
- data/lib/stoplight/data_store.rb +18 -8
- data/lib/stoplight/domain/config.rb +4 -1
- data/lib/stoplight/domain/error_tracking_policy.rb +9 -0
- data/lib/stoplight/domain/failure.rb +4 -0
- data/lib/stoplight/domain/id.rb +13 -0
- data/lib/stoplight/domain/light.rb +35 -77
- data/lib/stoplight/domain/lock_control.rb +55 -0
- data/lib/stoplight/domain/matcher_validator.rb +24 -0
- data/lib/stoplight/domain/state_snapshot.rb +2 -6
- data/lib/stoplight/domain/strategies/green_run_strategy.rb +33 -19
- data/lib/stoplight/domain/strategies/red_run_strategy.rb +8 -2
- data/lib/stoplight/domain/strategies/yellow_run_strategy.rb +56 -32
- data/lib/stoplight/domain/telemetry/bus.rb +90 -0
- data/lib/stoplight/domain/telemetry/consumer.rb +18 -0
- data/lib/stoplight/domain/telemetry/emitter.rb +45 -0
- data/lib/stoplight/domain/telemetry/envelope.rb +15 -0
- data/lib/stoplight/domain/telemetry/failure.rb +13 -0
- data/lib/stoplight/domain/telemetry/light_registered.rb +12 -0
- data/lib/stoplight/domain/telemetry/lock_changed.rb +19 -0
- data/lib/stoplight/domain/telemetry/metrics.rb +15 -0
- data/lib/stoplight/domain/telemetry/recovery_failed.rb +20 -0
- data/lib/stoplight/domain/telemetry/recovery_probe_completed.rb +15 -0
- data/lib/stoplight/domain/telemetry/recovery_started.rb +18 -0
- data/lib/stoplight/domain/telemetry/recovery_succeeded.rb +19 -0
- data/lib/stoplight/domain/telemetry/run_completed.rb +17 -0
- data/lib/stoplight/domain/telemetry/run_recorder.rb +58 -0
- data/lib/stoplight/domain/telemetry/settings.rb +21 -0
- data/lib/stoplight/domain/telemetry/state_transitioned.rb +11 -0
- data/lib/stoplight/domain/telemetry/subscription.rb +11 -0
- data/lib/stoplight/domain/telemetry/traffic_breached.rb +20 -0
- data/lib/stoplight/domain/tracker/recovery_probe.rb +61 -17
- data/lib/stoplight/domain/tracker/request.rb +17 -8
- data/lib/stoplight/domain/traffic_control/consecutive_errors.rb +13 -3
- data/lib/stoplight/domain/traffic_control/error_rate.rb +16 -12
- data/lib/stoplight/domain/traffic_recovery/consecutive_successes.rb +9 -3
- data/lib/stoplight/error.rb +10 -1
- data/lib/stoplight/infrastructure/config_serializer.rb +50 -0
- data/lib/stoplight/infrastructure/fail_safe/error_notifier.rb +25 -0
- data/lib/stoplight/infrastructure/fail_safe/storage/registry.rb +68 -0
- data/lib/stoplight/infrastructure/memory/storage/registry.rb +18 -0
- data/lib/stoplight/infrastructure/memory/storage/unbounded_metrics.rb +29 -32
- data/lib/stoplight/infrastructure/memory/storage/window_metrics/sliding_window.rb +74 -0
- data/lib/stoplight/infrastructure/memory/storage/window_metrics.rb +25 -24
- data/lib/stoplight/infrastructure/notifier/fail_safe.rb +3 -8
- data/lib/stoplight/infrastructure/notifier/generic.rb +3 -3
- data/lib/stoplight/infrastructure/redis/key.rb +25 -0
- data/lib/stoplight/infrastructure/redis/storage/now.lua +9 -0
- data/lib/stoplight/infrastructure/redis/storage/recovery_lock.rb +2 -4
- data/lib/stoplight/infrastructure/redis/storage/recovery_metrics.rb +1 -1
- data/lib/stoplight/infrastructure/redis/storage/registry.rb +73 -0
- data/lib/stoplight/infrastructure/redis/storage/scripting.rb +54 -3
- data/lib/stoplight/infrastructure/redis/storage/state/transition_to_green.lua +3 -1
- data/lib/stoplight/infrastructure/redis/storage/state/transition_to_red.lua +4 -2
- data/lib/stoplight/infrastructure/redis/storage/state/transition_to_yellow.lua +3 -1
- data/lib/stoplight/infrastructure/redis/storage/state.rb +8 -8
- data/lib/stoplight/infrastructure/redis/storage/unbounded_metrics/record_failure.lua +20 -21
- data/lib/stoplight/infrastructure/redis/storage/unbounded_metrics/record_success.lua +11 -19
- data/lib/stoplight/infrastructure/redis/storage/unbounded_metrics.rb +20 -16
- data/lib/stoplight/infrastructure/redis/storage/window_metrics/_evict.lua +44 -0
- data/lib/stoplight/infrastructure/redis/storage/window_metrics/metrics_snapshot.lua +14 -21
- data/lib/stoplight/infrastructure/redis/storage/window_metrics/record_failure.lua +38 -36
- data/lib/stoplight/infrastructure/redis/storage/window_metrics/record_success.lua +23 -30
- data/lib/stoplight/infrastructure/redis/storage/window_metrics.rb +45 -135
- data/lib/stoplight/infrastructure/system_clock.rb +4 -0
- data/lib/stoplight/telemetry.rb +19 -0
- data/lib/stoplight/types.rb +15 -2
- data/lib/stoplight/version.rb +1 -1
- data/lib/stoplight/wiring/config_compatibility_validator.rb +25 -2
- data/lib/stoplight/wiring/default.rb +1 -1
- data/lib/stoplight/wiring/default_config.rb +2 -1
- data/lib/stoplight/wiring/default_configuration.rb +3 -2
- data/lib/stoplight/wiring/external_caller.rb +27 -0
- data/lib/stoplight/wiring/fail_safe_config.rb +11 -0
- data/lib/stoplight/wiring/global_state.rb +93 -0
- data/lib/stoplight/wiring/{light_factory → light_configuration_dsl}/traffic_control_dsl.rb +3 -5
- data/lib/stoplight/wiring/{light_factory → light_configuration_dsl}/traffic_recovery_dsl.rb +2 -2
- data/lib/stoplight/wiring/light_configuration_dsl.rb +97 -0
- data/lib/stoplight/wiring/light_factory.rb +154 -97
- data/lib/stoplight/wiring/notifier_bridge.rb +33 -0
- data/lib/stoplight/wiring/redis/backend.rb +1 -1
- data/lib/stoplight/wiring/system/storage.rb +69 -0
- data/lib/stoplight/wiring/system.rb +125 -56
- data/lib/stoplight/wiring/{configuration_dsl.rb → system_configuration_dsl.rb} +13 -43
- data/lib/stoplight.rb +50 -194
- data/sig/sinatra/base.rbs +6 -0
- data/sig/stdlib/securerandom.rbs +4 -0
- data/sig/stoplight/admin/actions/action.rbs +10 -0
- data/sig/stoplight/admin/actions/lock.rbs +17 -0
- data/sig/stoplight/admin/actions/lock_all.rbs +17 -0
- data/sig/stoplight/admin/actions/remove.rbs +22 -0
- data/sig/stoplight/admin/actions/stats.rbs +28 -0
- data/sig/stoplight/admin/actions/unlock.rbs +17 -0
- data/sig/stoplight/admin/config_registry.rbs +20 -0
- data/sig/stoplight/admin/dependencies.rbs +16 -0
- data/sig/stoplight/admin/helpers.rbs +17 -0
- data/sig/stoplight/admin/light_view.rbs +39 -0
- data/sig/stoplight/admin/lights_stats.rbs +30 -0
- data/sig/stoplight/admin.rbs +14 -0
- data/sig/stoplight/color.rbs +3 -3
- data/sig/{_private/stoplight/data_store.rbs → stoplight/data_store/base.rbs} +1 -0
- data/sig/stoplight/data_store/memory.rbs +9 -0
- data/sig/stoplight/data_store/redis.rbs +17 -0
- data/sig/{_private/stoplight → stoplight}/domain/config.rbs +28 -24
- data/sig/{_private/stoplight → stoplight}/domain/error_tracking_policy.rbs +4 -0
- data/sig/{_private/stoplight → stoplight}/domain/failure.rbs +2 -0
- data/sig/stoplight/domain/id.rbs +7 -0
- data/sig/stoplight/domain/light.rbs +39 -0
- data/sig/{_private/stoplight → stoplight}/domain/light_info.rbs +1 -5
- data/sig/stoplight/domain/lock_control.rbs +16 -0
- data/sig/stoplight/domain/matcher_validator.rbs +11 -0
- data/sig/{_private/stoplight → stoplight}/domain/ports/clock.rbs +6 -0
- data/sig/stoplight/domain/ports/data_store.rbs +9 -0
- data/sig/stoplight/domain/ports/error_notifier.rbs +12 -0
- data/sig/stoplight/domain/ports/exception_matcher.rbs +10 -0
- data/sig/{_private/stoplight → stoplight}/domain/ports/metrics_store.rbs +2 -2
- data/sig/stoplight/domain/ports/registry.rbs +13 -0
- data/sig/{_private/stoplight → stoplight}/domain/ports/run_strategy.rbs +2 -1
- data/sig/stoplight/domain/ports/state_transition_notifier.rbs +18 -0
- data/sig/stoplight/domain/ports/telemetry.rbs +28 -0
- data/sig/stoplight/domain/ports/telemetry_publisher.rbs +14 -0
- data/sig/{_private/stoplight → stoplight}/domain/ports/traffic_control.rbs +7 -0
- data/sig/{_private/stoplight → stoplight}/domain/ports/traffic_recovery.rbs +2 -3
- data/sig/stoplight/domain/strategies/green_run_strategy.rbs +22 -0
- data/sig/stoplight/domain/strategies/red_run_strategy.rbs +19 -0
- data/sig/{_private/stoplight → stoplight}/domain/strategies/yellow_run_strategy.rbs +23 -12
- data/sig/stoplight/domain/telemetry/bus.rbs +49 -0
- data/sig/stoplight/domain/telemetry/consumer.rbs +13 -0
- data/sig/stoplight/domain/telemetry/emitter.rbs +51 -0
- data/sig/stoplight/domain/telemetry/envelope.rbs +30 -0
- data/sig/stoplight/domain/telemetry/failure.rbs +23 -0
- data/sig/stoplight/domain/telemetry/light_registered.rbs +23 -0
- data/sig/stoplight/domain/telemetry/lock_changed.rbs +31 -0
- data/sig/stoplight/domain/telemetry/metrics.rbs +27 -0
- data/sig/stoplight/domain/telemetry/recovery_failed.rbs +36 -0
- data/sig/stoplight/domain/telemetry/recovery_probe_completed.rbs +29 -0
- data/sig/stoplight/domain/telemetry/recovery_started.rbs +26 -0
- data/sig/stoplight/domain/telemetry/recovery_succeeded.rbs +31 -0
- data/sig/stoplight/domain/telemetry/run_completed.rbs +38 -0
- data/sig/stoplight/domain/telemetry/run_recorder.rbs +27 -0
- data/sig/stoplight/domain/telemetry/settings.rbs +47 -0
- data/sig/stoplight/domain/telemetry/state_transitioned.rbs +11 -0
- data/sig/stoplight/domain/telemetry/subscription.rbs +9 -0
- data/sig/stoplight/domain/telemetry/traffic_breached.rbs +36 -0
- data/sig/stoplight/domain/telemetry/types.rbs +32 -0
- data/sig/{_private/stoplight → stoplight}/domain/tracker/recovery_probe.rbs +10 -6
- data/sig/{_private/stoplight → stoplight}/domain/tracker/request.rbs +3 -3
- data/sig/{_private/stoplight → stoplight}/domain/traffic_control/consecutive_errors.rbs +2 -0
- data/sig/{_private/stoplight → stoplight}/domain/traffic_control/error_rate.rbs +3 -2
- data/sig/{_private/stoplight → stoplight}/domain/traffic_recovery/consecutive_successes.rbs +2 -0
- data/sig/stoplight/domain/types.rbs +25 -0
- data/sig/stoplight/error.rbs +8 -0
- data/sig/stoplight/generators/rails_generators_base.rbs +11 -0
- data/sig/stoplight/infrastructure/config_serializer.rbs +12 -0
- data/sig/stoplight/infrastructure/fail_safe/error_notifier.rbs +13 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/fail_safe/storage/metrics.rbs +2 -2
- data/sig/{_private/stoplight → stoplight}/infrastructure/fail_safe/storage/recovery_lock.rbs +2 -2
- data/sig/stoplight/infrastructure/fail_safe/storage/registry.rbs +23 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/fail_safe/storage/state.rbs +4 -4
- data/sig/stoplight/infrastructure/memory/storage/registry.rbs +13 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/memory/storage/state.rbs +3 -3
- data/sig/{_private/stoplight → stoplight}/infrastructure/memory/storage/unbounded_metrics.rbs +7 -7
- data/sig/stoplight/infrastructure/memory/storage/window_metrics/sliding_window.rbs +27 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/memory/storage/window_metrics.rbs +7 -7
- data/sig/stoplight/infrastructure/notifier/fail_safe.rbs +15 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/notifier/generic.rbs +1 -1
- data/sig/{_private/stoplight → stoplight}/infrastructure/notifier/io.rbs +1 -1
- data/sig/{_private/stoplight → stoplight}/infrastructure/notifier/logger.rbs +1 -1
- data/sig/stoplight/infrastructure/redis/key.rbs +10 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/redis/storage/recovery_lock.rbs +2 -2
- data/sig/stoplight/infrastructure/redis/storage/registry.rbs +27 -0
- data/sig/stoplight/infrastructure/redis/storage/scripting.rbs +34 -0
- data/sig/{_private/stoplight → stoplight}/infrastructure/redis/storage/state.rbs +4 -4
- data/sig/{_private/stoplight → stoplight}/infrastructure/redis/storage/unbounded_metrics.rbs +8 -1
- data/sig/stoplight/infrastructure/redis/storage/window_metrics.rbs +35 -0
- data/sig/stoplight/infrastructure/types.rbs +6 -0
- data/sig/stoplight/notifier.rbs +1 -1
- data/sig/stoplight/ports/system.rbs +16 -10
- data/sig/stoplight/state.rbs +3 -3
- data/sig/stoplight/telemetry.rbs +17 -0
- data/sig/stoplight/types.rbs +9 -0
- data/sig/{_private/stoplight → stoplight}/wiring/config_compatibility_validator.rbs +2 -0
- data/sig/stoplight/wiring/default.rbs +26 -0
- data/sig/stoplight/wiring/default_configuration.rbs +39 -0
- data/sig/stoplight/wiring/external_caller.rbs +13 -0
- data/sig/stoplight/wiring/fail_safe_config.rbs +7 -0
- data/sig/stoplight/wiring/global_state.rbs +36 -0
- data/sig/{_private/stoplight/wiring/light_factory → stoplight/wiring/light_configuration_dsl}/traffic_control_dsl.rbs +1 -1
- data/sig/{_private/stoplight/wiring/light_factory → stoplight/wiring/light_configuration_dsl}/traffic_recovery_dsl.rbs +1 -1
- data/sig/stoplight/wiring/light_configuration_dsl.rbs +38 -0
- data/sig/stoplight/wiring/light_factory.rbs +78 -0
- data/sig/stoplight/wiring/notifier_bridge.rbs +15 -0
- data/sig/stoplight/wiring/notifier_factory.rbs +10 -0
- data/sig/{_private/stoplight → stoplight}/wiring/redis/backend.rbs +6 -6
- data/sig/stoplight/wiring/system/storage.rbs +35 -0
- data/sig/stoplight/wiring/system.rbs +30 -0
- data/sig/stoplight/wiring/system_configuration_dsl.rbs +39 -0
- data/sig/stoplight/wiring/types.rbs +6 -0
- data/sig/stoplight.rbs +37 -54
- metadata +190 -143
- data/lib/stoplight/admin/actions/lock_all_green.rb +0 -18
- data/lib/stoplight/admin/actions/lock_green.rb +0 -23
- data/lib/stoplight/admin/actions/lock_red.rb +0 -23
- data/lib/stoplight/admin/lights_repository/light.rb +0 -171
- data/lib/stoplight/admin/lights_repository.rb +0 -87
- data/lib/stoplight/domain/light/configuration_builder_interface.rb +0 -236
- data/lib/stoplight/infrastructure/fail_safe/data_store.rb +0 -152
- data/lib/stoplight/infrastructure/memory/data_store/metrics.rb +0 -27
- data/lib/stoplight/infrastructure/memory/data_store/recovery_lock_store.rb +0 -52
- data/lib/stoplight/infrastructure/memory/data_store/recovery_lock_token.rb +0 -17
- data/lib/stoplight/infrastructure/memory/data_store/sliding_window.rb +0 -74
- data/lib/stoplight/infrastructure/memory/data_store/state.rb +0 -21
- data/lib/stoplight/infrastructure/memory/data_store.rb +0 -342
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/get_metrics.lua +0 -26
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/record_failure.lua +0 -36
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/record_recovery_probe_failure.lua +0 -27
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/record_recovery_probe_success.lua +0 -23
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/record_success.lua +0 -35
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/release_lock.lua +0 -6
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/transition_to_green.lua +0 -10
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/transition_to_red.lua +0 -10
- data/lib/stoplight/infrastructure/redis/data_store/lua_scripts/transition_to_yellow.lua +0 -9
- data/lib/stoplight/infrastructure/redis/data_store/recovery_lock_store.rb +0 -60
- data/lib/stoplight/infrastructure/redis/data_store/recovery_lock_token.rb +0 -28
- data/lib/stoplight/infrastructure/redis/data_store/scripting.rb +0 -73
- data/lib/stoplight/infrastructure/redis/data_store.rb +0 -516
- data/lib/stoplight/infrastructure/redis/storage/key_space.rb +0 -51
- data/lib/stoplight/infrastructure/storage/compatibility_metrics.rb +0 -41
- data/lib/stoplight/infrastructure/storage/compatibility_recovery_lock.rb +0 -33
- data/lib/stoplight/infrastructure/storage/compatibility_recovery_metrics.rb +0 -47
- data/lib/stoplight/infrastructure/storage/compatibility_state.rb +0 -44
- data/lib/stoplight/wiring/light_builder.rb +0 -198
- data/lib/stoplight/wiring/notifier_factory.rb +0 -26
- data/lib/stoplight/wiring/system/light_builder.rb +0 -47
- data/lib/stoplight/wiring/system/light_factory.rb +0 -64
- data/sig/_private/stoplight/domain/light.rbs +0 -25
- data/sig/_private/stoplight/domain/ports/data_store.rbs +0 -76
- data/sig/_private/stoplight/domain/ports/light_factory.rbs +0 -80
- data/sig/_private/stoplight/domain/strategies/green_run_strategy.rbs +0 -17
- data/sig/_private/stoplight/domain/strategies/red_run_strategy.rbs +0 -17
- data/sig/_private/stoplight/domain/tracker/base.rbs +0 -8
- data/sig/_private/stoplight/infrastructure/fail_safe/data_store.rbs +0 -26
- data/sig/_private/stoplight/infrastructure/memory/data_store/metrics.rbs +0 -25
- data/sig/_private/stoplight/infrastructure/memory/data_store/recovery_lock_store.rbs +0 -19
- data/sig/_private/stoplight/infrastructure/memory/data_store/recovery_lock_token.rbs +0 -17
- data/sig/_private/stoplight/infrastructure/memory/data_store/sliding_window.rbs +0 -27
- data/sig/_private/stoplight/infrastructure/memory/data_store/state.rbs +0 -17
- data/sig/_private/stoplight/infrastructure/memory/data_store.rbs +0 -30
- data/sig/_private/stoplight/infrastructure/notifier/fail_safe.rbs +0 -17
- data/sig/_private/stoplight/infrastructure/redis/data_store/recovery_lock_store.rbs +0 -24
- data/sig/_private/stoplight/infrastructure/redis/data_store/recovery_lock_token.rbs +0 -21
- data/sig/_private/stoplight/infrastructure/redis/data_store/scripting.rbs +0 -34
- data/sig/_private/stoplight/infrastructure/redis/data_store.rbs +0 -67
- data/sig/_private/stoplight/infrastructure/redis/storage/key_space.rbs +0 -19
- data/sig/_private/stoplight/infrastructure/redis/storage/scripting.rbs +0 -13
- data/sig/_private/stoplight/infrastructure/redis/storage/window_metrics.rbs +0 -34
- data/sig/_private/stoplight/infrastructure/storage/compatibility_metrics.rbs +0 -17
- data/sig/_private/stoplight/infrastructure/storage/compatibility_recovery_lock.rbs +0 -13
- data/sig/_private/stoplight/infrastructure/storage/compatibility_recovery_metrics.rbs +0 -14
- data/sig/_private/stoplight/infrastructure/storage/compatibility_state.rbs +0 -14
- data/sig/_private/stoplight/system/light_builder.rbs +0 -23
- data/sig/_private/stoplight/system/light_factory.rbs +0 -17
- data/sig/_private/stoplight/types.rbs +0 -6
- data/sig/_private/stoplight/wiring/configuration_dsl.rbs +0 -43
- data/sig/_private/stoplight/wiring/default.rbs +0 -26
- data/sig/_private/stoplight/wiring/default_configuration.rbs +0 -29
- data/sig/_private/stoplight/wiring/light_builder.rbs +0 -48
- data/sig/_private/stoplight/wiring/light_factory.rbs +0 -16
- data/sig/_private/stoplight/wiring/notifier_factory.rbs +0 -10
- data/sig/_private/stoplight/wiring/system.rbs +0 -15
- data/sig/_private/stoplight.rbs +0 -48
- data/sig/stoplight/data_store.rbs +0 -19
- data/sig/stoplight/ports/configuration.rbs +0 -19
- data/sig/stoplight/ports/exception_matcher.rbs +0 -8
- data/sig/stoplight/ports/light.rbs +0 -12
- data/sig/stoplight/ports/light_info.rbs +0 -5
- data/sig/stoplight/ports/state_transition_notifier.rbs +0 -15
- /data/sig/{_private/stoplight → stoplight}/common/deprecations.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/compatibility_result.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/metrics_snapshot.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/ports/recovery_lock_store.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/ports/recovery_lock_token.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/ports/state_store.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/state_snapshot.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/storage/recovery_lock_token.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/domain/traffic_recovery.rbs +0 -0
- /data/sig/{_private → stoplight}/generators/stoplight/install/install_generator.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/infrastructure/fail_safe/storage/recovery_lock_token.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/infrastructure/memory/storage/recovery_lock.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/infrastructure/memory/storage/recovery_metrics.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/infrastructure/redis/storage/metrics.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/infrastructure/redis/storage/recovery_metrics.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/infrastructure/system_clock.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/wiring/data_store_backend.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/wiring/default_config.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/wiring/memory/backend.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/wiring/storage_set.rbs +0 -0
- /data/sig/{_private/stoplight → stoplight}/wiring/storage_set_builder.rbs +0 -0
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module Wiring
|
|
3
|
-
class ConfigurationDsl
|
|
4
|
-
@tracked_errors: optional[Array[_ExceptionMatcher] | _ExceptionMatcher]
|
|
5
|
-
@skipped_errors: optional[Array[_ExceptionMatcher] | _ExceptionMatcher]
|
|
6
|
-
@traffic_control: optional[traffic_control]
|
|
7
|
-
@traffic_recovery: optional[traffic_recovery]
|
|
8
|
-
|
|
9
|
-
def initialize: (
|
|
10
|
-
?name: optional[String],
|
|
11
|
-
?cool_off_time: optional[duration],
|
|
12
|
-
?threshold: optional[percentage | Integer],
|
|
13
|
-
?recovery_threshold: optional[Integer],
|
|
14
|
-
?window_size: optional[duration?],
|
|
15
|
-
?tracked_errors: optional[Array[_ExceptionMatcher] | _ExceptionMatcher],
|
|
16
|
-
?skipped_errors: optional[Array[_ExceptionMatcher] | _ExceptionMatcher],
|
|
17
|
-
?data_store: optional[data_store],
|
|
18
|
-
?error_notifier: optional[error_notifier],
|
|
19
|
-
?notifiers: optional[Array[state_transition_notifier]],
|
|
20
|
-
?traffic_control: optional[traffic_control],
|
|
21
|
-
?traffic_recovery: optional[traffic_recovery],
|
|
22
|
-
) -> void
|
|
23
|
-
|
|
24
|
-
def configure!: (Domain::Config default_config) -> Domain::Config
|
|
25
|
-
|
|
26
|
-
private
|
|
27
|
-
|
|
28
|
-
attr_reader name: optional[String]
|
|
29
|
-
attr_reader cool_off_time: optional[duration]
|
|
30
|
-
attr_reader threshold: optional[percentage | Integer]
|
|
31
|
-
attr_reader recovery_threshold: optional[Integer]
|
|
32
|
-
attr_reader window_size: optional[duration?]
|
|
33
|
-
attr_reader data_store: optional[data_store]
|
|
34
|
-
attr_reader error_notifier: optional[error_notifier]
|
|
35
|
-
attr_reader notifiers: optional[Array[state_transition_notifier]]
|
|
36
|
-
|
|
37
|
-
def tracked_errors: -> optional[Array[_ExceptionMatcher]]
|
|
38
|
-
def skipped_errors: -> optional[Array[_ExceptionMatcher]]
|
|
39
|
-
def traffic_control: -> optional[Domain::_TrafficControl]
|
|
40
|
-
def traffic_recovery: -> optional[Domain::_TrafficRecovery]
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module Wiring
|
|
3
|
-
module Default
|
|
4
|
-
COOL_OFF_TIME: duration
|
|
5
|
-
|
|
6
|
-
DATA_STORE: data_store
|
|
7
|
-
|
|
8
|
-
ERROR_NOTIFIER: error_notifier
|
|
9
|
-
|
|
10
|
-
FORMATTER: notification_formatter
|
|
11
|
-
|
|
12
|
-
NOTIFIERS: Array[state_transition_notifier]
|
|
13
|
-
|
|
14
|
-
THRESHOLD: percentage | Integer
|
|
15
|
-
RECOVERY_THRESHOLD: Integer
|
|
16
|
-
|
|
17
|
-
WINDOW_SIZE: duration?
|
|
18
|
-
|
|
19
|
-
TRACKED_ERRORS: Array[_ExceptionMatcher]
|
|
20
|
-
SKIPPED_ERRORS: Array[_ExceptionMatcher]
|
|
21
|
-
|
|
22
|
-
TRAFFIC_CONTROL: Domain::_TrafficControl
|
|
23
|
-
TRAFFIC_RECOVERY: Domain::_TrafficRecovery
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module Wiring
|
|
3
|
-
class DefaultConfiguration
|
|
4
|
-
include _Configuration
|
|
5
|
-
|
|
6
|
-
@config: Domain::Config
|
|
7
|
-
@cool_off_time: optional[duration]
|
|
8
|
-
@threshold: optional[percentage | Integer]
|
|
9
|
-
@recovery_threshold: optional[Integer]
|
|
10
|
-
@window_size: optional[duration?]
|
|
11
|
-
@tracked_errors: optional[Array[_ExceptionMatcher] | _ExceptionMatcher]
|
|
12
|
-
@skipped_errors: optional[Array[_ExceptionMatcher] | _ExceptionMatcher]
|
|
13
|
-
@traffic_control: optional[traffic_control]
|
|
14
|
-
@traffic_recovery: optional[traffic_recovery]
|
|
15
|
-
@error_notifier: optional[error_notifier]
|
|
16
|
-
@data_store: optional[data_store]
|
|
17
|
-
@notifiers: optional[Array[state_transition_notifier]]
|
|
18
|
-
|
|
19
|
-
def to_config!: -> Domain::Config
|
|
20
|
-
|
|
21
|
-
private
|
|
22
|
-
|
|
23
|
-
def tracked_errors: -> optional[Array[_ExceptionMatcher]]
|
|
24
|
-
def skipped_errors: -> optional[Array[_ExceptionMatcher]]
|
|
25
|
-
def traffic_control: -> optional[Domain::_TrafficControl]
|
|
26
|
-
def traffic_recovery: -> optional[Domain::_TrafficRecovery]
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module Wiring
|
|
3
|
-
class LightBuilder
|
|
4
|
-
FAILOVER_DATA_STORE_CONFIG: Stoplight::DataStore::Memory
|
|
5
|
-
MEMORY_REGISTRY: Concurrent::Map[Integer, Infrastructure::Memory::DataStore]
|
|
6
|
-
|
|
7
|
-
attr_reader data_store_config: data_store
|
|
8
|
-
attr_reader error_notifier: error_notifier
|
|
9
|
-
attr_reader factory: Domain::_LightFactory
|
|
10
|
-
attr_reader clock: Domain::_Clock
|
|
11
|
-
|
|
12
|
-
attr_reader traffic_recovery: Domain::_TrafficRecovery
|
|
13
|
-
attr_reader traffic_control: Domain::_TrafficControl
|
|
14
|
-
attr_reader config: Domain::Config
|
|
15
|
-
|
|
16
|
-
@notifiers: Array[state_transition_notifier]
|
|
17
|
-
@name: String
|
|
18
|
-
@cool_off_time: duration
|
|
19
|
-
@error_tracking_policy: Domain::ErrorTrackingPolicy
|
|
20
|
-
|
|
21
|
-
def initialize: (config: Domain::Config, factory: Domain::_LightFactory) -> void
|
|
22
|
-
|
|
23
|
-
def build: -> Domain::Light
|
|
24
|
-
|
|
25
|
-
def state_store: -> Domain::_StateStore
|
|
26
|
-
def notifiers: -> Array[state_transition_notifier]
|
|
27
|
-
def redis_recovery_lock_store: -> Infrastructure::Redis::DataStore::RecoveryLockStore
|
|
28
|
-
def scripting: -> Infrastructure::Redis::DataStore::Scripting
|
|
29
|
-
|
|
30
|
-
def memory_recovery_lock_store: -> Infrastructure::Memory::DataStore::RecoveryLockStore
|
|
31
|
-
def failover_data_store: -> Domain::_DataStore
|
|
32
|
-
def data_store: -> Domain::_DataStore
|
|
33
|
-
|
|
34
|
-
def metrics_store: -> Domain::_MetricsStore
|
|
35
|
-
def recovery_lock_store: -> Domain::_RecoveryLockStore
|
|
36
|
-
def request_tracker: -> Domain::Tracker::Request
|
|
37
|
-
def recovery_probe_tracker: -> Domain::Tracker::RecoveryProbe
|
|
38
|
-
def recovery_metrics_store: -> Domain::_MetricsStore
|
|
39
|
-
|
|
40
|
-
def green_run_strategy: -> Domain::Strategies::GreenRunStrategy
|
|
41
|
-
def yellow_run_strategy: -> Domain::Strategies::YellowRunStrategy
|
|
42
|
-
def red_run_strategy: -> Domain::Strategies::RedRunStrategy
|
|
43
|
-
def create_data_store: (data_store) -> Domain::_DataStore
|
|
44
|
-
def memory_registry: -> Concurrent::Map[Integer, Infrastructure::Memory::DataStore]
|
|
45
|
-
def redis: -> redis
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module Wiring
|
|
3
|
-
class LightFactory
|
|
4
|
-
include Domain::_LightFactory
|
|
5
|
-
attr_reader config: Domain::Config
|
|
6
|
-
|
|
7
|
-
def initialize: (config: Domain::Config) -> void
|
|
8
|
-
|
|
9
|
-
def eql: (untyped other) -> bool
|
|
10
|
-
def hash: -> Integer
|
|
11
|
-
|
|
12
|
-
def light_builder: (config: Domain::Config) -> LightBuilder
|
|
13
|
-
def light_factory: -> Domain::_LightFactory
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module Wiring
|
|
3
|
-
class System
|
|
4
|
-
include _System
|
|
5
|
-
|
|
6
|
-
@name: String
|
|
7
|
-
|
|
8
|
-
attr_reader light_factory: Domain::_LightFactory
|
|
9
|
-
attr_reader lights: Concurrent::Map[String, [_Light, Domain::Config]]
|
|
10
|
-
attr_reader system_config: Domain::Config
|
|
11
|
-
|
|
12
|
-
def initialize: (config: Domain::Config) -> void
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
data/sig/_private/stoplight.rbs
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
T: singleton(Types)
|
|
3
|
-
CONFIG_MUTEX: Mutex
|
|
4
|
-
|
|
5
|
-
self.@configured: bool?
|
|
6
|
-
self.@default_config: Domain::Config?
|
|
7
|
-
self.@systems: Concurrent::Map[String, _System]
|
|
8
|
-
self.@default_light_factory: Wiring::LightFactory?
|
|
9
|
-
|
|
10
|
-
def self.warn_if_reconfiguring: (bool) { () -> void } -> void
|
|
11
|
-
def self.configured?: -> bool
|
|
12
|
-
def self.__stoplight__reset!: -> void
|
|
13
|
-
|
|
14
|
-
def self.system_light: (
|
|
15
|
-
String name,
|
|
16
|
-
?cool_off_time: optional[duration],
|
|
17
|
-
?threshold: optional[percentage | Integer],
|
|
18
|
-
?recovery_threshold: optional[Integer],
|
|
19
|
-
?window_size: optional[duration?],
|
|
20
|
-
?tracked_errors: optional[Array[_ExceptionMatcher]],
|
|
21
|
-
?skipped_errors: optional[Array[_ExceptionMatcher]],
|
|
22
|
-
?data_store: optional[data_store],
|
|
23
|
-
?error_notifier: optional[error_notifier],
|
|
24
|
-
?notifiers: optional[Array[state_transition_notifier]],
|
|
25
|
-
?traffic_control: optional[traffic_control],
|
|
26
|
-
?traffic_recovery: optional[traffic_recovery],
|
|
27
|
-
) -> Domain::Light
|
|
28
|
-
|
|
29
|
-
def self.systems: -> Concurrent::Map[String, _System]
|
|
30
|
-
def self.default_config: -> Domain::Config
|
|
31
|
-
def self.ensure_configured: -> void
|
|
32
|
-
def self.__stoplight__system: (
|
|
33
|
-
_ToS name,
|
|
34
|
-
?cool_off_time: optional[duration],
|
|
35
|
-
?threshold: optional[percentage | Integer],
|
|
36
|
-
?recovery_threshold: optional[Integer],
|
|
37
|
-
?window_size: optional[duration?],
|
|
38
|
-
?tracked_errors: optional[Array[_ExceptionMatcher]],
|
|
39
|
-
?skipped_errors: optional[Array[_ExceptionMatcher]],
|
|
40
|
-
?data_store: optional[data_store],
|
|
41
|
-
?error_notifier: optional[error_notifier],
|
|
42
|
-
?notifiers: optional[Array[state_transition_notifier]],
|
|
43
|
-
?traffic_control: optional[traffic_control],
|
|
44
|
-
?traffic_recovery: optional[traffic_recovery],
|
|
45
|
-
) -> _System
|
|
46
|
-
def self.__stoplight__default_configuration: -> Domain::Config
|
|
47
|
-
def self.__stoplight__default_light_factory: -> Wiring::LightFactory
|
|
48
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
module DataStore
|
|
3
|
-
# Configuration for Redis-backed Stoplight storage.
|
|
4
|
-
#
|
|
5
|
-
# @note This is a configuration object, not the storage implementation itself.
|
|
6
|
-
class Redis < Base
|
|
7
|
-
attr_reader redis: redis
|
|
8
|
-
attr_reader warn_on_clock_skew: bool
|
|
9
|
-
|
|
10
|
-
def initialize: (redis, ?warn_on_clock_skew: bool) -> void
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# Configuration for Memory-backed Stoplight storage.
|
|
14
|
-
#
|
|
15
|
-
# @note This is a configuration object, not the storage implementation itself.
|
|
16
|
-
class Memory < Base
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Stoplight
|
|
4
|
-
interface _Configuration
|
|
5
|
-
def notifiers: -> Array[state_transition_notifier]
|
|
6
|
-
|
|
7
|
-
def cool_off_time=: (duration) -> void
|
|
8
|
-
def threshold=: (percentage | Integer) -> void
|
|
9
|
-
def recovery_threshold=: (Integer) -> void
|
|
10
|
-
def window_size=: (duration?) -> void
|
|
11
|
-
def tracked_errors=: (Array[_ExceptionMatcher] | _ExceptionMatcher) -> void
|
|
12
|
-
def skipped_errors=: (Array[_ExceptionMatcher] | _ExceptionMatcher) -> void
|
|
13
|
-
def traffic_control=: (traffic_control) -> void
|
|
14
|
-
def traffic_recovery=: (traffic_recovery) -> void
|
|
15
|
-
def error_notifier=: (error_notifier) -> void
|
|
16
|
-
def data_store=: (data_store) -> void
|
|
17
|
-
def notifiers=:(Array[state_transition_notifier]) -> void
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
interface _Light
|
|
3
|
-
def name: -> String
|
|
4
|
-
|
|
5
|
-
def state: -> state
|
|
6
|
-
def color: -> color
|
|
7
|
-
def run: [T] (?(^(StandardError?) -> T)?) { () -> T } -> T
|
|
8
|
-
def lock: (color) -> _Light
|
|
9
|
-
def unlock: -> _Light
|
|
10
|
-
def ==: (untyped) -> bool
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Stoplight
|
|
2
|
-
interface _StateTransitionNotifier
|
|
3
|
-
# Sends a notification when a Stoplight changes state.
|
|
4
|
-
#
|
|
5
|
-
# @param config The Stoplight instance triggering the notification.
|
|
6
|
-
# @param from_color The previous state color of the Stoplight.
|
|
7
|
-
# @param to_color The new state color of the Stoplight.
|
|
8
|
-
# @param error The error (if any) that caused the state change.
|
|
9
|
-
def notify: (_LightInfo, color from_color, color to_color, ?StandardError? error) -> void
|
|
10
|
-
|
|
11
|
-
# Object methods needed for comparison/inspection
|
|
12
|
-
def ==: (untyped) -> bool
|
|
13
|
-
def class: -> Class
|
|
14
|
-
end
|
|
15
|
-
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/data/sig/{_private/stoplight → stoplight}/infrastructure/fail_safe/storage/recovery_lock_token.rbs
RENAMED
|
File without changes
|
|
File without changes
|
/data/sig/{_private/stoplight → stoplight}/infrastructure/memory/storage/recovery_metrics.rbs
RENAMED
|
File without changes
|
|
File without changes
|
/data/sig/{_private/stoplight → stoplight}/infrastructure/redis/storage/recovery_metrics.rbs
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|