apisonator 2.100.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +317 -0
- data/Gemfile +11 -0
- data/Gemfile.base +65 -0
- data/Gemfile.lock +319 -0
- data/Gemfile.on_prem +1 -0
- data/Gemfile.on_prem.lock +297 -0
- data/LICENSE +202 -0
- data/NOTICE +15 -0
- data/README.md +230 -0
- data/Rakefile +287 -0
- data/apisonator.gemspec +47 -0
- data/app/api/api.rb +13 -0
- data/app/api/internal/alert_limits.rb +32 -0
- data/app/api/internal/application_keys.rb +49 -0
- data/app/api/internal/application_referrer_filters.rb +43 -0
- data/app/api/internal/applications.rb +77 -0
- data/app/api/internal/errors.rb +54 -0
- data/app/api/internal/events.rb +42 -0
- data/app/api/internal/internal.rb +104 -0
- data/app/api/internal/metrics.rb +40 -0
- data/app/api/internal/service_tokens.rb +46 -0
- data/app/api/internal/services.rb +58 -0
- data/app/api/internal/stats.rb +42 -0
- data/app/api/internal/usagelimits.rb +62 -0
- data/app/api/internal/utilization.rb +23 -0
- data/bin/3scale_backend +223 -0
- data/bin/3scale_backend_worker +26 -0
- data/config.ru +4 -0
- data/config/puma.rb +192 -0
- data/config/schedule.rb +9 -0
- data/ext/mkrf_conf.rb +64 -0
- data/lib/3scale/backend.rb +67 -0
- data/lib/3scale/backend/alert_limit.rb +56 -0
- data/lib/3scale/backend/alerts.rb +137 -0
- data/lib/3scale/backend/analytics/kinesis.rb +3 -0
- data/lib/3scale/backend/analytics/kinesis/adapter.rb +180 -0
- data/lib/3scale/backend/analytics/kinesis/exporter.rb +86 -0
- data/lib/3scale/backend/analytics/kinesis/job.rb +135 -0
- data/lib/3scale/backend/analytics/redshift.rb +3 -0
- data/lib/3scale/backend/analytics/redshift/adapter.rb +367 -0
- data/lib/3scale/backend/analytics/redshift/importer.rb +83 -0
- data/lib/3scale/backend/analytics/redshift/job.rb +33 -0
- data/lib/3scale/backend/application.rb +330 -0
- data/lib/3scale/backend/application_events.rb +76 -0
- data/lib/3scale/backend/background_job.rb +65 -0
- data/lib/3scale/backend/configurable.rb +20 -0
- data/lib/3scale/backend/configuration.rb +151 -0
- data/lib/3scale/backend/configuration/loader.rb +42 -0
- data/lib/3scale/backend/constants.rb +19 -0
- data/lib/3scale/backend/cors.rb +84 -0
- data/lib/3scale/backend/distributed_lock.rb +67 -0
- data/lib/3scale/backend/environment.rb +21 -0
- data/lib/3scale/backend/error_storage.rb +52 -0
- data/lib/3scale/backend/errors.rb +343 -0
- data/lib/3scale/backend/event_storage.rb +120 -0
- data/lib/3scale/backend/experiment.rb +84 -0
- data/lib/3scale/backend/extensions.rb +5 -0
- data/lib/3scale/backend/extensions/array.rb +19 -0
- data/lib/3scale/backend/extensions/hash.rb +26 -0
- data/lib/3scale/backend/extensions/nil_class.rb +13 -0
- data/lib/3scale/backend/extensions/redis.rb +44 -0
- data/lib/3scale/backend/extensions/string.rb +13 -0
- data/lib/3scale/backend/extensions/time.rb +110 -0
- data/lib/3scale/backend/failed_jobs_scheduler.rb +141 -0
- data/lib/3scale/backend/job_fetcher.rb +122 -0
- data/lib/3scale/backend/listener.rb +728 -0
- data/lib/3scale/backend/listener_metrics.rb +99 -0
- data/lib/3scale/backend/logging.rb +48 -0
- data/lib/3scale/backend/logging/external.rb +44 -0
- data/lib/3scale/backend/logging/external/impl.rb +93 -0
- data/lib/3scale/backend/logging/external/impl/airbrake.rb +66 -0
- data/lib/3scale/backend/logging/external/impl/bugsnag.rb +69 -0
- data/lib/3scale/backend/logging/external/impl/default.rb +18 -0
- data/lib/3scale/backend/logging/external/resque.rb +57 -0
- data/lib/3scale/backend/logging/logger.rb +18 -0
- data/lib/3scale/backend/logging/middleware.rb +62 -0
- data/lib/3scale/backend/logging/middleware/json_writer.rb +21 -0
- data/lib/3scale/backend/logging/middleware/text_writer.rb +60 -0
- data/lib/3scale/backend/logging/middleware/writer.rb +143 -0
- data/lib/3scale/backend/logging/worker.rb +107 -0
- data/lib/3scale/backend/manifest.rb +80 -0
- data/lib/3scale/backend/memoizer.rb +277 -0
- data/lib/3scale/backend/metric.rb +275 -0
- data/lib/3scale/backend/metric/collection.rb +91 -0
- data/lib/3scale/backend/oauth.rb +4 -0
- data/lib/3scale/backend/oauth/token.rb +26 -0
- data/lib/3scale/backend/oauth/token_key.rb +30 -0
- data/lib/3scale/backend/oauth/token_storage.rb +313 -0
- data/lib/3scale/backend/oauth/token_value.rb +25 -0
- data/lib/3scale/backend/period.rb +3 -0
- data/lib/3scale/backend/period/boundary.rb +107 -0
- data/lib/3scale/backend/period/cache.rb +28 -0
- data/lib/3scale/backend/period/period.rb +402 -0
- data/lib/3scale/backend/queue_storage.rb +16 -0
- data/lib/3scale/backend/rack.rb +49 -0
- data/lib/3scale/backend/rack/exception_catcher.rb +136 -0
- data/lib/3scale/backend/rack/internal_error_catcher.rb +23 -0
- data/lib/3scale/backend/rack/prometheus.rb +19 -0
- data/lib/3scale/backend/saas.rb +6 -0
- data/lib/3scale/backend/saas_analytics.rb +4 -0
- data/lib/3scale/backend/server.rb +30 -0
- data/lib/3scale/backend/server/falcon.rb +52 -0
- data/lib/3scale/backend/server/puma.rb +71 -0
- data/lib/3scale/backend/service.rb +317 -0
- data/lib/3scale/backend/service_token.rb +97 -0
- data/lib/3scale/backend/stats.rb +8 -0
- data/lib/3scale/backend/stats/aggregator.rb +170 -0
- data/lib/3scale/backend/stats/aggregators/base.rb +72 -0
- data/lib/3scale/backend/stats/aggregators/response_code.rb +58 -0
- data/lib/3scale/backend/stats/aggregators/usage.rb +34 -0
- data/lib/3scale/backend/stats/bucket_reader.rb +135 -0
- data/lib/3scale/backend/stats/bucket_storage.rb +108 -0
- data/lib/3scale/backend/stats/cleaner.rb +195 -0
- data/lib/3scale/backend/stats/codes_commons.rb +14 -0
- data/lib/3scale/backend/stats/delete_job_def.rb +60 -0
- data/lib/3scale/backend/stats/key_generator.rb +73 -0
- data/lib/3scale/backend/stats/keys.rb +104 -0
- data/lib/3scale/backend/stats/partition_eraser_job.rb +58 -0
- data/lib/3scale/backend/stats/partition_generator_job.rb +46 -0
- data/lib/3scale/backend/stats/period_commons.rb +34 -0
- data/lib/3scale/backend/stats/stats_parser.rb +141 -0
- data/lib/3scale/backend/stats/storage.rb +113 -0
- data/lib/3scale/backend/statsd.rb +14 -0
- data/lib/3scale/backend/storable.rb +35 -0
- data/lib/3scale/backend/storage.rb +40 -0
- data/lib/3scale/backend/storage_async.rb +4 -0
- data/lib/3scale/backend/storage_async/async_redis.rb +21 -0
- data/lib/3scale/backend/storage_async/client.rb +205 -0
- data/lib/3scale/backend/storage_async/pipeline.rb +79 -0
- data/lib/3scale/backend/storage_async/resque_extensions.rb +30 -0
- data/lib/3scale/backend/storage_helpers.rb +278 -0
- data/lib/3scale/backend/storage_key_helpers.rb +9 -0
- data/lib/3scale/backend/storage_sync.rb +43 -0
- data/lib/3scale/backend/transaction.rb +62 -0
- data/lib/3scale/backend/transactor.rb +177 -0
- data/lib/3scale/backend/transactor/limit_headers.rb +54 -0
- data/lib/3scale/backend/transactor/notify_batcher.rb +139 -0
- data/lib/3scale/backend/transactor/notify_job.rb +47 -0
- data/lib/3scale/backend/transactor/process_job.rb +33 -0
- data/lib/3scale/backend/transactor/report_job.rb +84 -0
- data/lib/3scale/backend/transactor/status.rb +236 -0
- data/lib/3scale/backend/transactor/usage_report.rb +182 -0
- data/lib/3scale/backend/usage.rb +63 -0
- data/lib/3scale/backend/usage_limit.rb +115 -0
- data/lib/3scale/backend/use_cases/provider_key_change_use_case.rb +60 -0
- data/lib/3scale/backend/util.rb +17 -0
- data/lib/3scale/backend/validators.rb +26 -0
- data/lib/3scale/backend/validators/base.rb +36 -0
- data/lib/3scale/backend/validators/key.rb +17 -0
- data/lib/3scale/backend/validators/limits.rb +57 -0
- data/lib/3scale/backend/validators/oauth_key.rb +15 -0
- data/lib/3scale/backend/validators/oauth_setting.rb +15 -0
- data/lib/3scale/backend/validators/redirect_uri.rb +33 -0
- data/lib/3scale/backend/validators/referrer.rb +60 -0
- data/lib/3scale/backend/validators/service_state.rb +15 -0
- data/lib/3scale/backend/validators/state.rb +15 -0
- data/lib/3scale/backend/version.rb +5 -0
- data/lib/3scale/backend/views/oauth_access_tokens.builder +14 -0
- data/lib/3scale/backend/views/oauth_app_id_by_token.builder +4 -0
- data/lib/3scale/backend/worker.rb +87 -0
- data/lib/3scale/backend/worker_async.rb +88 -0
- data/lib/3scale/backend/worker_metrics.rb +44 -0
- data/lib/3scale/backend/worker_sync.rb +32 -0
- data/lib/3scale/bundler_shim.rb +17 -0
- data/lib/3scale/prometheus_server.rb +10 -0
- data/lib/3scale/tasks/connectivity.rake +41 -0
- data/lib/3scale/tasks/helpers.rb +3 -0
- data/lib/3scale/tasks/helpers/environment.rb +23 -0
- data/lib/3scale/tasks/stats.rake +131 -0
- data/lib/3scale/tasks/swagger.rake +46 -0
- data/licenses.xml +1215 -0
- metadata +227 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: '02689c2d07caa6e88eb1079c13064378fafa921ffb28e4da095cd8ad5fbac578'
|
|
4
|
+
data.tar.gz: 434d69fc1eb06088b1c4111bd41979567f1b00c22b149e5b4a7bdbda48c447a1
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: edc21e4dedc90447e734e7afe0fe681127d9a4a88cd4ba3d9f9633b7eae3ee31488aa54b9cfaaeb6e28c158eb822c9679e325c4b6773130779fd63f5a6498fe9
|
|
7
|
+
data.tar.gz: 3267cfad364babfafb0c563feea99ecd0ff346b7a12d224b37178ff28e13a92fcce8a25372b1901f54a1bfcf6ecdeea0f9665ac2e30dcc6fe0fa3aff15bce468
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
Notable changes to Apisonator will be tracked in this document.
|
|
4
|
+
|
|
5
|
+
## 2.100.0 - 2020-04-21
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- The behavior of the referrer filters validator is now configurable
|
|
10
|
+
([#190](https://github.com/3scale/apisonator/pull/190)).
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- When running the listeners in async mode, Apisonator no longer returns
|
|
15
|
+
exception messages to the caller
|
|
16
|
+
([#186](https://github.com/3scale/apisonator/pull/186)).
|
|
17
|
+
- Fixed a small concurrency issue when running the workers in async mode. It
|
|
18
|
+
only affected to some job run times that appear in the logs
|
|
19
|
+
([#191](https://github.com/3scale/apisonator/pull/191)).
|
|
20
|
+
|
|
21
|
+
### Removed
|
|
22
|
+
|
|
23
|
+
- Deleted some unused rake tasks for uploading swagger specs
|
|
24
|
+
([#193](https://github.com/3scale/apisonator/pull/193)).
|
|
25
|
+
|
|
26
|
+
## 2.99.0 - 2020-03-31
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
|
|
30
|
+
- Support for specifying transaction timestamps as UNIX epoch timestamps
|
|
31
|
+
([#167](https://github.com/3scale/apisonator/pull/167))
|
|
32
|
+
- Prometheus metrics for the listener
|
|
33
|
+
([#174](https://github.com/3scale/apisonator/pull/174),
|
|
34
|
+
[#178](https://github.com/3scale/apisonator/pull/178))
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- Updated yabeda-prometheus to v0.5.0
|
|
39
|
+
([#171](https://github.com/3scale/apisonator/pull/171))
|
|
40
|
+
- Updated async-container to v0.16.4
|
|
41
|
+
([#179](https://github.com/3scale/apisonator/pull/179))
|
|
42
|
+
- Stopped propagating unused log attributes unnecessarily
|
|
43
|
+
([#180](https://github.com/3scale/apisonator/pull/180))
|
|
44
|
+
- No longer sets a default of 1 for `CONFIG_NOTIFICATION_BATCH` in the
|
|
45
|
+
Dockerfiles ([#183](https://github.com/3scale/apisonator/pull/183))
|
|
46
|
+
|
|
47
|
+
### Removed
|
|
48
|
+
|
|
49
|
+
- The "latest transactions" functionality has been removed. It was no longer
|
|
50
|
+
needed by Porta ([#169](https://github.com/3scale/apisonator/pull/169))
|
|
51
|
+
|
|
52
|
+
## 2.98.1.1 - 2020-03-05
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- Updated Nokogiri to v1.10.9 [#163](https://github.com/3scale/apisonator/pull/163)
|
|
57
|
+
- Updated Rake to v13.0.1 [#162](https://github.com/3scale/apisonator/pull/162)
|
|
58
|
+
|
|
59
|
+
## 2.98.1 - 2020-02-18
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- No longer crashes when the address of a sentinel cannot be resolved. It tries
|
|
64
|
+
to connect to another sentinel in the list instead.
|
|
65
|
+
[#158](https://github.com/3scale/apisonator/pull/158)
|
|
66
|
+
|
|
67
|
+
## 2.98.0 - 2020-02-04
|
|
68
|
+
|
|
69
|
+
### Added
|
|
70
|
+
|
|
71
|
+
- Listeners can now be deployed in async mode using Falcon. Still experimental
|
|
72
|
+
[#150](https://github.com/3scale/apisonator/pull/150)
|
|
73
|
+
- Added the delete stats task to the `backend-cron` executable
|
|
74
|
+
[#156](https://github.com/3scale/apisonator/pull/156)
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
|
|
78
|
+
- Fixed a minor bug in the stats deletion feature. The task no longer crashes
|
|
79
|
+
with invalid keys [#154](https://github.com/3scale/apisonator/pull/154)
|
|
80
|
+
- `backend-cron` no longer crashes when `RESCHEDULE_JOBS_FREQ` is set
|
|
81
|
+
[#155](https://github.com/3scale/apisonator/pull/155)
|
|
82
|
+
|
|
83
|
+
## 2.97.0 - 2020-01-13
|
|
84
|
+
|
|
85
|
+
### Added
|
|
86
|
+
|
|
87
|
+
- New "flat_usage" extension, useful for caching. [#142](https://github.com/3scale/apisonator/pull/142)
|
|
88
|
+
|
|
89
|
+
### Changed
|
|
90
|
+
|
|
91
|
+
- New approach to delete the stats of a service [#143](https://github.com/3scale/apisonator/pull/143)
|
|
92
|
+
- Updated Rack to 2.0.8 [#144](https://github.com/3scale/apisonator/pull/144)
|
|
93
|
+
|
|
94
|
+
## 2.96.2 - 2019-10-17
|
|
95
|
+
|
|
96
|
+
### Added
|
|
97
|
+
|
|
98
|
+
- Async params can be configured using environment variables [#138](https://github.com/3scale/apisonator/pull/138)
|
|
99
|
+
|
|
100
|
+
### Fixed
|
|
101
|
+
|
|
102
|
+
- Rake tasks now work when using the async redis client [#137](https://github.com/3scale/apisonator/pull/137)
|
|
103
|
+
|
|
104
|
+
## 2.96.1 - 2019-10-10
|
|
105
|
+
|
|
106
|
+
### Changed
|
|
107
|
+
|
|
108
|
+
- Updated async-redis to v0.4.1 [#132](https://github.com/3scale/apisonator/pull/132)
|
|
109
|
+
- Updated rubyzip to v2.0.0 [#133](https://github.com/3scale/apisonator/pull/133)
|
|
110
|
+
|
|
111
|
+
## 2.96.0 - 2019-09-30
|
|
112
|
+
|
|
113
|
+
### Added
|
|
114
|
+
|
|
115
|
+
- Support for non-blocking Redis calls using the redis-async gem. The feature is
|
|
116
|
+
opt-in and can be enabled only in workers for now. The feature is enabled with
|
|
117
|
+
`CONFIG_REDIS_ASYNC=true` [#96](https://github.com/3scale/apisonator/pull/96)
|
|
118
|
+
|
|
119
|
+
## 2.95.0 - 2019-09-25
|
|
120
|
+
|
|
121
|
+
### Changed
|
|
122
|
+
|
|
123
|
+
- Dropped support for end-users [#128](https://github.com/3scale/apisonator/pull/128)
|
|
124
|
+
|
|
125
|
+
## 2.94.2 - 2019-09-10
|
|
126
|
+
|
|
127
|
+
### Changed
|
|
128
|
+
|
|
129
|
+
- Perf optimization: `Usage.usage` is more efficient now because it does not create unnecessary instance periods [#126](https://github.com/3scale/apisonator/pull/126)
|
|
130
|
+
|
|
131
|
+
## 2.94.1 - 2019-09-09
|
|
132
|
+
|
|
133
|
+
### Changed
|
|
134
|
+
|
|
135
|
+
- Perf optimization: `Metric.ascendants` and `Metric.descendants` are memoized now [#124](https://github.com/3scale/apisonator/pull/124)
|
|
136
|
+
|
|
137
|
+
## 2.94.0 - 2019-09-04
|
|
138
|
+
|
|
139
|
+
### Added
|
|
140
|
+
|
|
141
|
+
- Prometheus metrics for workers [#111](https://github.com/3scale/apisonator/pull/111)
|
|
142
|
+
- Support for metric hierarchies with more than 2 levels [#119](https://github.com/3scale/apisonator/pull/119), [#121](https://github.com/3scale/apisonator/pull/121), [#122](https://github.com/3scale/apisonator/pull/122)
|
|
143
|
+
|
|
144
|
+
### Changed
|
|
145
|
+
|
|
146
|
+
- Updated Nokogiri to v1.10.4 [#118](https://github.com/3scale/apisonator/pull/118)
|
|
147
|
+
|
|
148
|
+
## 2.93.0 - 2019-07-31
|
|
149
|
+
|
|
150
|
+
### Changed
|
|
151
|
+
|
|
152
|
+
- Dropped support for Ruby < 2.4 [#109](https://github.com/3scale/apisonator/pull/109)
|
|
153
|
+
|
|
154
|
+
## 2.92.0 - 2019-06-12
|
|
155
|
+
|
|
156
|
+
### Added
|
|
157
|
+
|
|
158
|
+
- Support for password-protected Redis sentinels [#101](https://github.com/3scale/apisonator/pull/101)
|
|
159
|
+
- New limit header with the max value for the limit [#103](https://github.com/3scale/apisonator/pull/103)
|
|
160
|
+
- CI tests now run on Ruby 2.5 and Ruby 2.6 too [#84](https://github.com/3scale/apisonator/pull/84), [#97](https://github.com/3scale/apisonator/pull/97)
|
|
161
|
+
|
|
162
|
+
### Changed
|
|
163
|
+
|
|
164
|
+
- Updated redis gem to v4.1.1 [#99](https://github.com/3scale/apisonator/pull/99)
|
|
165
|
+
- Performance optimizations in some time methods [#80](https://github.com/3scale/apisonator/pull/80), [#81](https://github.com/3scale/apisonator/pull/81)
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
## 2.91.1 - 2019-03-08
|
|
169
|
+
|
|
170
|
+
### Changed
|
|
171
|
+
|
|
172
|
+
- The endpoint of the internal API to delete stats of a service has been disabled because of performance issues. It will be re-enabled once those are solved. [#87](https://github.com/3scale/apisonator/pull/87)
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
## 2.91.0 - 2019-03-05
|
|
176
|
+
|
|
177
|
+
### Added
|
|
178
|
+
|
|
179
|
+
- New endpoint in the internal API to delete the stats of a service. [#72](https://github.com/3scale/apisonator/pull/72), [#73](https://github.com/3scale/apisonator/pull/73), [#74](https://github.com/3scale/apisonator/pull/74), [#78](https://github.com/3scale/apisonator/pull/78), [#82](https://github.com/3scale/apisonator/pull/82).
|
|
180
|
+
|
|
181
|
+
### Changed
|
|
182
|
+
|
|
183
|
+
- Rakefile now accepts a list of files as an argument in the "bench" target [#79](https://github.com/3scale/apisonator/pull/79)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
## 2.90.0 - 2019-02-20
|
|
187
|
+
|
|
188
|
+
### Added
|
|
189
|
+
|
|
190
|
+
- New endpoint in the internal API to delete the users of a service. [#38](https://github.com/3scale/apisonator/pull/38)
|
|
191
|
+
|
|
192
|
+
### Changed
|
|
193
|
+
|
|
194
|
+
- Updated rack to v2.0.6. [#63](https://github.com/3scale/apisonator/pull/63)
|
|
195
|
+
- Updated Nokogiri to v1.9.1. [#70](https://github.com/3scale/apisonator/pull/70)
|
|
196
|
+
|
|
197
|
+
### Fixed
|
|
198
|
+
|
|
199
|
+
- Small fixes and improvements in the Makefiles and Dockerfiles used to build the docker images and the dev environment. [#61](https://github.com/3scale/apisonator/pull/61), [#64](https://github.com/3scale/apisonator/pull/64), [#67](https://github.com/3scale/apisonator/pull/67), [#68](https://github.com/3scale/apisonator/pull/68), [#69](https://github.com/3scale/apisonator/pull/69).
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
## 2.89.0 - 2018-10-23
|
|
203
|
+
|
|
204
|
+
### Added
|
|
205
|
+
|
|
206
|
+
- Tasks to check redis storage and queue storage connection. [#58](https://github.com/3scale/apisonator/pull/58)
|
|
207
|
+
|
|
208
|
+
### Security
|
|
209
|
+
|
|
210
|
+
- Updated rubyzip to version 1.2.2 due to [CVE-2018-1000544](https://access.redhat.com/security/cve/cve-2018-1000544). [#57](https://github.com/3scale/apisonator/pull/57)
|
|
211
|
+
|
|
212
|
+
## 2.88.1 - 2018-10-10
|
|
213
|
+
|
|
214
|
+
### Fixed
|
|
215
|
+
|
|
216
|
+
- The Limit Headers now show the correct information when the request is
|
|
217
|
+
rate-limited. [#55](https://github.com/3scale/apisonator/pull/55)
|
|
218
|
+
|
|
219
|
+
## 2.88.0 - 2018-09-19
|
|
220
|
+
|
|
221
|
+
### Added
|
|
222
|
+
|
|
223
|
+
- Add documentation about utilization alerts. [#43](https://github.com/3scale/apisonator/pull/43)
|
|
224
|
+
- Set sentinel default port when no port is provided in Redis sentinel configuration. [#46](https://github.com/3scale/apisonator/pull/46)
|
|
225
|
+
|
|
226
|
+
### Changed
|
|
227
|
+
|
|
228
|
+
- When a Service is deleted delete all of its errors. [#44](https://github.com/3scale/apisonator/pull/44)
|
|
229
|
+
- When a Service is deleted all its transactions are deleted. [#45](https://github.com/3scale/apisonator/pull/45)
|
|
230
|
+
- Allow deletion of default service when it is the only existing one. [#51](https://github.com/3scale/apisonator/pull/51)
|
|
231
|
+
|
|
232
|
+
### Fixes
|
|
233
|
+
|
|
234
|
+
- Fix apisonator docker commands order in README. [#49](https://github.com/3scale/apisonator/pull/49)
|
|
235
|
+
|
|
236
|
+
## 2.87.2 - 2018-07-02
|
|
237
|
+
|
|
238
|
+
### Changed
|
|
239
|
+
|
|
240
|
+
- Allow defining Resque configuration without sentinels and defining non-localhost
|
|
241
|
+
Resque configuration for development and test environments. [#41](https://github.com/3scale/apisonator/pull/41)
|
|
242
|
+
|
|
243
|
+
## 2.87.1 - 2018-06-27
|
|
244
|
+
|
|
245
|
+
### Fixes
|
|
246
|
+
|
|
247
|
+
- Fix existing Services prior the 2.87.0 release not being set as active by
|
|
248
|
+
default [#39](https://github.com/3scale/apisonator/pull/39)
|
|
249
|
+
|
|
250
|
+
## 2.87.0 - 2018-06-21
|
|
251
|
+
|
|
252
|
+
### Added
|
|
253
|
+
|
|
254
|
+
- Services now can be active (default) or inactive. Calls on inactive services
|
|
255
|
+
always fail, with authorizations being denied. ([#34](https://github.com/3scale/apisonator/issues/34))
|
|
256
|
+
|
|
257
|
+
### Changed
|
|
258
|
+
|
|
259
|
+
- Small cleaups and refactor of transactor code. ([#26](https://github.com/3scale/apisonator/pull/26))
|
|
260
|
+
- Allow multiple job schedulers to be executed in parallel with multiple Resque
|
|
261
|
+
Redis servers. ([#29](https://github.com/3scale/apisonator/pull/29))
|
|
262
|
+
- Revamp README.md so that it is more oriented to usage and extract dev
|
|
263
|
+
instructions to DEVELOPMENT.md. ([#33](https://github.com/3scale/apisonator/pull/33))
|
|
264
|
+
|
|
265
|
+
### Fixes
|
|
266
|
+
|
|
267
|
+
- Fix a race condition in a spec that tests a race condition. ([#32](https://github.com/3scale/apisonator/pull/32))
|
|
268
|
+
|
|
269
|
+
### Security
|
|
270
|
+
|
|
271
|
+
- Updated Sinatra to version 2.0.3 due to [CVE-2018-11627](https://nvd.nist.gov/vuln/detail/CVE-2018-11627). ([#30](https://github.com/3scale/apisonator/pull/30))
|
|
272
|
+
- Updated Nokogiri to version 1.8.3 due to multiple libxml2 CVEs including
|
|
273
|
+
[CVE-2017-18258](https://nvd.nist.gov/vuln/detail/CVE-2017-18258).
|
|
274
|
+
This library is only used in the test suite. ([#28](https://github.com/3scale/apisonator/pull/28), [#37](https://github.com/3scale/apisonator/pull/37))
|
|
275
|
+
|
|
276
|
+
## 2.86.0 - 2018-05-10
|
|
277
|
+
|
|
278
|
+
### Added
|
|
279
|
+
|
|
280
|
+
- The metrics used for reporting transactions and authorizations to the master
|
|
281
|
+
account are now configurable under `master.metrics.transactions` and
|
|
282
|
+
`master.metrics.transactions_authorize`. ([#15](https://github.com/3scale/apisonator/pull/15))
|
|
283
|
+
- There is now a set of rake targets for selectively run tests and specs by type
|
|
284
|
+
(ie. integration, unit, etc) and by specific file. ([#11](https://github.com/3scale/apisonator/issues/11))
|
|
285
|
+
- The `make dev` command supports specifying an env variable `PORT` to expose
|
|
286
|
+
the listener in that port on the local machine. ([#8](https://github.com/3scale/apisonator/pull/8))
|
|
287
|
+
- Minor miscellaneous improvements. ([#7](https://github.com/3scale/apisonator/pull/7), [#9](https://github.com/3scale/apisonator/pull/9), [#12](https://github.com/3scale/apisonator/issues/12), [#16](https://github.com/3scale/apisonator/pull/16), [#17](https://github.com/3scale/apisonator/pull/17), [#20](https://github.com/3scale/apisonator/pull/20), [#23](https://github.com/3scale/apisonator/pull/23), [#24](https://github.com/3scale/apisonator/pull/24))
|
|
288
|
+
|
|
289
|
+
### Changed
|
|
290
|
+
|
|
291
|
+
- Added extra measures to avoid creating applications through the internal API
|
|
292
|
+
without mandatory attributes. ([#13](https://github.com/3scale/apisonator/pull/13))
|
|
293
|
+
- Some error conditions that produced empty or incorrect responses now behave
|
|
294
|
+
like other errors and output XML bodies. ([#14](https://github.com/3scale/apisonator/pull/14), [#19](https://github.com/3scale/apisonator/pull/19))
|
|
295
|
+
|
|
296
|
+
### Fixed
|
|
297
|
+
|
|
298
|
+
- Running make in systems with a non-GNU version of `time` should stop failing
|
|
299
|
+
because of using options supported only by GNU time. ([#5](https://github.com/3scale/apisonator/pull/5))
|
|
300
|
+
- Fixed a bug that made extra requests for stats with the inexistent `seconds`
|
|
301
|
+
period. ([#21](https://github.com/3scale/apisonator/pull/21))
|
|
302
|
+
- Fixed a bug in dealing with the `notification_batch` configuration that made
|
|
303
|
+
Apisonator enqueue NotifyJobs continuously when the setting was left
|
|
304
|
+
unspecified. ([#22](https://github.com/3scale/apisonator/pull/22))
|
|
305
|
+
|
|
306
|
+
## 2.85.0 - 2018-03-19
|
|
307
|
+
|
|
308
|
+
### Added
|
|
309
|
+
|
|
310
|
+
- Support for specifying Redis Sentinel roles in the configuration file. This
|
|
311
|
+
finished support for Redis HA through Sentinels. Use settings
|
|
312
|
+
`config.redis.role` and `config.queues.role` to specify either `:master` or
|
|
313
|
+
`:slave` _if_ you are using the Sentinel support.
|
|
314
|
+
- Set up the CI for the project in CircleCI with multiple Ruby versions.
|
|
315
|
+
- `make dev` will create a container for you to work in Apisonator sync'ing the
|
|
316
|
+
contents with the repository.
|
|
317
|
+
- `make test` will optionally build the CI image from scratch.
|
data/Gemfile
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
eval_gemfile(File.expand_path('../Gemfile.base', __FILE__))
|
|
2
|
+
|
|
3
|
+
platform :ruby do
|
|
4
|
+
gem 'pg', '= 0.20.0'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
gem 'aws-sdk', '= 2.4.2'
|
|
8
|
+
gem 'whenever', '= 0.9.7'
|
|
9
|
+
gem 'scientist', '= 1.0.0'
|
|
10
|
+
gem 'statsd-ruby', '= 1.4.0'
|
|
11
|
+
gem 'airbrake', '= 4.3.1', require: nil
|
data/Gemfile.base
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
gemspec
|
|
4
|
+
|
|
5
|
+
# C-API only gems
|
|
6
|
+
#
|
|
7
|
+
# It is useful to tag these because not all Ruby implementations support these
|
|
8
|
+
# kinds of gems. In particular, gems here have NO alternative non C-API
|
|
9
|
+
# implementations (ie. pure Ruby, java, etc).
|
|
10
|
+
#
|
|
11
|
+
platform :ruby do
|
|
12
|
+
gem 'hiredis', '= 0.6.1'
|
|
13
|
+
gem 'yajl-ruby', '~> 1.3.1', require: 'yajl'
|
|
14
|
+
gem 'pry-byebug', '~> 3.5.1', groups: [:development]
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
group :test do
|
|
18
|
+
gem 'benchmark-ips', '~> 2.7.2'
|
|
19
|
+
gem 'mocha', '~> 1.3'
|
|
20
|
+
gem 'nokogiri', '~> 1.10.8'
|
|
21
|
+
gem 'pkg-config', '~> 1.1.7'
|
|
22
|
+
gem 'rack-test', '~> 0.8.2'
|
|
23
|
+
gem 'resque_unit', '~> 0.4.4', source: 'https://rubygems.org'
|
|
24
|
+
gem 'test-unit', '~> 3.2.6'
|
|
25
|
+
gem 'resque_spec', '~> 0.17.0'
|
|
26
|
+
gem 'timecop', '~> 0.9.1'
|
|
27
|
+
gem 'rspec', '~> 3.7.0', require: nil
|
|
28
|
+
gem 'geminabox', '~> 0.13.11', require: false
|
|
29
|
+
gem 'codeclimate-test-reporter', '~> 0.6.0', require: nil
|
|
30
|
+
gem 'async-rspec'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
group :development do
|
|
34
|
+
gem 'sshkit'
|
|
35
|
+
gem 'source2swagger', git: 'https://github.com/3scale/source2swagger', branch: 'backend'
|
|
36
|
+
gem 'pry', '~> 0.11.3'
|
|
37
|
+
gem 'pry-doc', '~> 0.11.1'
|
|
38
|
+
gem 'license_finder', '~> 5'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
group :development, :test do
|
|
42
|
+
gem 'rspec_api_documentation', '~> 5.0'
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Default server by platform
|
|
46
|
+
gem 'puma', git: 'https://github.com/3scale/puma', ref: 'b034371406690d3e6c2a9301c4a48bd721f3efc3'
|
|
47
|
+
# gems required by the runner
|
|
48
|
+
gem 'gli', '~> 2.16.1', require: nil
|
|
49
|
+
# Workers
|
|
50
|
+
gem 'daemons', '= 1.2.4'
|
|
51
|
+
|
|
52
|
+
# Production gems
|
|
53
|
+
gem 'rake', '~> 13.0'
|
|
54
|
+
gem 'builder', '= 3.2.3'
|
|
55
|
+
gem 'redis', '= 4.1.1'
|
|
56
|
+
# Use a patched resque to allow reusing their Airbrake Failure class
|
|
57
|
+
gem 'resque', git: 'https://github.com/3scale/resque', branch: '3scale'
|
|
58
|
+
gem 'rack', '~> 2.0.8'
|
|
59
|
+
gem 'sinatra', '~> 2.0.3'
|
|
60
|
+
gem 'sinatra-contrib', '~> 2.0.3'
|
|
61
|
+
# Optional external error logging services
|
|
62
|
+
gem 'bugsnag', '~> 6', require: nil
|
|
63
|
+
gem 'yabeda-prometheus', '~> 0.5.0'
|
|
64
|
+
gem 'async-redis', '~> 0.4.1'
|
|
65
|
+
gem 'falcon', '~> 0.35'
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: https://github.com/3scale/puma
|
|
3
|
+
revision: b034371406690d3e6c2a9301c4a48bd721f3efc3
|
|
4
|
+
ref: b034371406690d3e6c2a9301c4a48bd721f3efc3
|
|
5
|
+
specs:
|
|
6
|
+
puma (2.15.3)
|
|
7
|
+
|
|
8
|
+
GIT
|
|
9
|
+
remote: https://github.com/3scale/resque
|
|
10
|
+
revision: 88839e71756ea9b6edfc9426a0af71e94109c135
|
|
11
|
+
branch: 3scale
|
|
12
|
+
specs:
|
|
13
|
+
resque (1.27.4)
|
|
14
|
+
mono_logger (~> 1.0)
|
|
15
|
+
multi_json (~> 1.0)
|
|
16
|
+
redis-namespace (~> 1.3)
|
|
17
|
+
sinatra (>= 0.9.2)
|
|
18
|
+
vegas (~> 0.1.2)
|
|
19
|
+
|
|
20
|
+
GIT
|
|
21
|
+
remote: https://github.com/3scale/source2swagger
|
|
22
|
+
revision: 9a787007577fc58b5822b55720e977cc063057fd
|
|
23
|
+
branch: backend
|
|
24
|
+
specs:
|
|
25
|
+
source2swagger (0.0.2)
|
|
26
|
+
json
|
|
27
|
+
|
|
28
|
+
PATH
|
|
29
|
+
remote: .
|
|
30
|
+
specs:
|
|
31
|
+
apisonator (2.100.0)
|
|
32
|
+
|
|
33
|
+
GEM
|
|
34
|
+
remote: https://rubygems.org/
|
|
35
|
+
specs:
|
|
36
|
+
activesupport (5.1.4)
|
|
37
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
38
|
+
i18n (~> 0.7)
|
|
39
|
+
minitest (~> 5.1)
|
|
40
|
+
tzinfo (~> 1.1)
|
|
41
|
+
airbrake (4.3.1)
|
|
42
|
+
builder
|
|
43
|
+
multi_json
|
|
44
|
+
async (1.24.2)
|
|
45
|
+
console (~> 1.0)
|
|
46
|
+
nio4r (~> 2.3)
|
|
47
|
+
timers (~> 4.1)
|
|
48
|
+
async-container (0.16.4)
|
|
49
|
+
async (~> 1.0)
|
|
50
|
+
async-io (~> 1.26)
|
|
51
|
+
process-group
|
|
52
|
+
async-http (0.50.7)
|
|
53
|
+
async (~> 1.23)
|
|
54
|
+
async-io (~> 1.27.0)
|
|
55
|
+
async-pool (~> 0.2)
|
|
56
|
+
protocol-http (~> 0.15.1)
|
|
57
|
+
protocol-http1 (~> 0.10.0)
|
|
58
|
+
protocol-http2 (~> 0.11.0)
|
|
59
|
+
async-http-cache (0.1.5)
|
|
60
|
+
async-http
|
|
61
|
+
protocol-http (~> 0.14)
|
|
62
|
+
async-io (1.27.5)
|
|
63
|
+
async (~> 1.14)
|
|
64
|
+
async-pool (0.2.0)
|
|
65
|
+
async (~> 1.8)
|
|
66
|
+
async-redis (0.4.1)
|
|
67
|
+
async (~> 1.8)
|
|
68
|
+
async-io (~> 1.10)
|
|
69
|
+
protocol-redis (~> 0.2.0)
|
|
70
|
+
async-rspec (1.13.0)
|
|
71
|
+
rspec (~> 3.0)
|
|
72
|
+
rspec-files (~> 1.0)
|
|
73
|
+
rspec-memory (~> 1.0)
|
|
74
|
+
aws-sdk (2.4.2)
|
|
75
|
+
aws-sdk-resources (= 2.4.2)
|
|
76
|
+
aws-sdk-core (2.4.2)
|
|
77
|
+
jmespath (~> 1.0)
|
|
78
|
+
aws-sdk-resources (2.4.2)
|
|
79
|
+
aws-sdk-core (= 2.4.2)
|
|
80
|
+
backports (3.11.3)
|
|
81
|
+
benchmark-ips (2.7.2)
|
|
82
|
+
bugsnag (6.6.4)
|
|
83
|
+
concurrent-ruby (~> 1.0)
|
|
84
|
+
build-environment (1.13.0)
|
|
85
|
+
builder (3.2.3)
|
|
86
|
+
byebug (9.1.0)
|
|
87
|
+
chronic (0.10.2)
|
|
88
|
+
codeclimate-test-reporter (0.6.0)
|
|
89
|
+
simplecov (>= 0.7.1, < 1.0.0)
|
|
90
|
+
coderay (1.1.2)
|
|
91
|
+
concurrent-ruby (1.0.5)
|
|
92
|
+
console (1.8.2)
|
|
93
|
+
daemons (1.2.4)
|
|
94
|
+
diff-lcs (1.3)
|
|
95
|
+
docile (1.1.5)
|
|
96
|
+
dry-initializer (3.0.3)
|
|
97
|
+
falcon (0.35.6)
|
|
98
|
+
async (~> 1.13)
|
|
99
|
+
async-container (~> 0.16.0)
|
|
100
|
+
async-http (~> 0.50.4)
|
|
101
|
+
async-http-cache (~> 0.1.0)
|
|
102
|
+
async-io (~> 1.22)
|
|
103
|
+
build-environment (~> 1.13)
|
|
104
|
+
localhost (~> 1.1)
|
|
105
|
+
process-metrics (~> 0.1.0)
|
|
106
|
+
rack (>= 1.0)
|
|
107
|
+
samovar (~> 2.1)
|
|
108
|
+
faraday (0.13.1)
|
|
109
|
+
multipart-post (>= 1.2, < 3)
|
|
110
|
+
ffi (1.12.2)
|
|
111
|
+
geminabox (0.13.11)
|
|
112
|
+
builder
|
|
113
|
+
faraday
|
|
114
|
+
httpclient (>= 2.2.7)
|
|
115
|
+
nesty
|
|
116
|
+
reentrant_flock
|
|
117
|
+
sinatra (>= 1.2.7)
|
|
118
|
+
gli (2.16.1)
|
|
119
|
+
hiredis (0.6.1)
|
|
120
|
+
httpclient (2.8.3)
|
|
121
|
+
i18n (0.9.1)
|
|
122
|
+
concurrent-ruby (~> 1.0)
|
|
123
|
+
jmespath (1.3.1)
|
|
124
|
+
json (2.1.0)
|
|
125
|
+
license_finder (5.9.2)
|
|
126
|
+
bundler
|
|
127
|
+
rubyzip
|
|
128
|
+
thor
|
|
129
|
+
toml (= 0.2.0)
|
|
130
|
+
with_env (= 1.1.0)
|
|
131
|
+
xml-simple
|
|
132
|
+
localhost (1.1.6)
|
|
133
|
+
mapping (1.1.1)
|
|
134
|
+
metaclass (0.0.4)
|
|
135
|
+
method_source (0.9.0)
|
|
136
|
+
mini_portile2 (2.4.0)
|
|
137
|
+
minitest (5.10.3)
|
|
138
|
+
mocha (1.3.0)
|
|
139
|
+
metaclass (~> 0.0.1)
|
|
140
|
+
mono_logger (1.1.0)
|
|
141
|
+
multi_json (1.13.1)
|
|
142
|
+
multipart-post (2.0.0)
|
|
143
|
+
mustache (1.0.5)
|
|
144
|
+
mustermann (1.0.2)
|
|
145
|
+
nesty (1.0.2)
|
|
146
|
+
net-scp (1.2.1)
|
|
147
|
+
net-ssh (>= 2.6.5)
|
|
148
|
+
net-ssh (4.2.0)
|
|
149
|
+
nio4r (2.5.2)
|
|
150
|
+
nokogiri (1.10.9)
|
|
151
|
+
mini_portile2 (~> 2.4.0)
|
|
152
|
+
parslet (1.8.2)
|
|
153
|
+
pg (0.20.0)
|
|
154
|
+
pkg-config (1.1.9)
|
|
155
|
+
power_assert (1.1.1)
|
|
156
|
+
process-group (1.2.1)
|
|
157
|
+
process-terminal (~> 0.2.0)
|
|
158
|
+
process-metrics (0.1.1)
|
|
159
|
+
process-terminal (0.2.0)
|
|
160
|
+
ffi
|
|
161
|
+
prometheus-client (1.0.0)
|
|
162
|
+
protocol-hpack (1.4.2)
|
|
163
|
+
protocol-http (0.15.1)
|
|
164
|
+
protocol-http1 (0.10.3)
|
|
165
|
+
protocol-http (~> 0.15)
|
|
166
|
+
protocol-http2 (0.11.6)
|
|
167
|
+
protocol-hpack (~> 1.4)
|
|
168
|
+
protocol-http (~> 0.15)
|
|
169
|
+
protocol-redis (0.2.0)
|
|
170
|
+
pry (0.11.3)
|
|
171
|
+
coderay (~> 1.1.0)
|
|
172
|
+
method_source (~> 0.9.0)
|
|
173
|
+
pry-byebug (3.5.1)
|
|
174
|
+
byebug (~> 9.1)
|
|
175
|
+
pry (~> 0.10)
|
|
176
|
+
pry-doc (0.11.1)
|
|
177
|
+
pry (~> 0.9)
|
|
178
|
+
yard (~> 0.9)
|
|
179
|
+
rack (2.0.9)
|
|
180
|
+
rack-protection (2.0.3)
|
|
181
|
+
rack
|
|
182
|
+
rack-test (0.8.2)
|
|
183
|
+
rack (>= 1.0, < 3)
|
|
184
|
+
rake (13.0.1)
|
|
185
|
+
redis (4.1.1)
|
|
186
|
+
redis-namespace (1.6.0)
|
|
187
|
+
redis (>= 3.0.4)
|
|
188
|
+
reentrant_flock (0.1.1)
|
|
189
|
+
resque_spec (0.17.0)
|
|
190
|
+
resque (>= 1.19.0)
|
|
191
|
+
rspec-core (>= 3.0.0)
|
|
192
|
+
rspec-expectations (>= 3.0.0)
|
|
193
|
+
rspec-mocks (>= 3.0.0)
|
|
194
|
+
resque_unit (0.4.8)
|
|
195
|
+
json (>= 1.4.6)
|
|
196
|
+
rspec (3.7.0)
|
|
197
|
+
rspec-core (~> 3.7.0)
|
|
198
|
+
rspec-expectations (~> 3.7.0)
|
|
199
|
+
rspec-mocks (~> 3.7.0)
|
|
200
|
+
rspec-core (3.7.0)
|
|
201
|
+
rspec-support (~> 3.7.0)
|
|
202
|
+
rspec-expectations (3.7.0)
|
|
203
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
204
|
+
rspec-support (~> 3.7.0)
|
|
205
|
+
rspec-files (1.0.1)
|
|
206
|
+
rspec (~> 3.0)
|
|
207
|
+
rspec-memory (1.0.1)
|
|
208
|
+
rspec (~> 3.0)
|
|
209
|
+
rspec-mocks (3.7.0)
|
|
210
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
211
|
+
rspec-support (~> 3.7.0)
|
|
212
|
+
rspec-support (3.7.0)
|
|
213
|
+
rspec_api_documentation (5.1.0)
|
|
214
|
+
activesupport (>= 3.0.0)
|
|
215
|
+
mustache (~> 1.0, >= 0.99.4)
|
|
216
|
+
rspec (~> 3.0)
|
|
217
|
+
rubyzip (2.0.0)
|
|
218
|
+
samovar (2.1.4)
|
|
219
|
+
console (~> 1.0)
|
|
220
|
+
mapping (~> 1.0)
|
|
221
|
+
scientist (1.0.0)
|
|
222
|
+
simplecov (0.15.1)
|
|
223
|
+
docile (~> 1.1.0)
|
|
224
|
+
json (>= 1.8, < 3)
|
|
225
|
+
simplecov-html (~> 0.10.0)
|
|
226
|
+
simplecov-html (0.10.2)
|
|
227
|
+
sinatra (2.0.3)
|
|
228
|
+
mustermann (~> 1.0)
|
|
229
|
+
rack (~> 2.0)
|
|
230
|
+
rack-protection (= 2.0.3)
|
|
231
|
+
tilt (~> 2.0)
|
|
232
|
+
sinatra-contrib (2.0.3)
|
|
233
|
+
activesupport (>= 4.0.0)
|
|
234
|
+
backports (>= 2.8.2)
|
|
235
|
+
multi_json
|
|
236
|
+
mustermann (~> 1.0)
|
|
237
|
+
rack-protection (= 2.0.3)
|
|
238
|
+
sinatra (= 2.0.3)
|
|
239
|
+
tilt (>= 1.3, < 3)
|
|
240
|
+
sshkit (1.15.1)
|
|
241
|
+
net-scp (>= 1.1.2)
|
|
242
|
+
net-ssh (>= 2.8.0)
|
|
243
|
+
statsd-ruby (1.4.0)
|
|
244
|
+
test-unit (3.2.6)
|
|
245
|
+
power_assert
|
|
246
|
+
thor (0.20.3)
|
|
247
|
+
thread_safe (0.3.6)
|
|
248
|
+
tilt (2.0.8)
|
|
249
|
+
timecop (0.9.1)
|
|
250
|
+
timers (4.3.0)
|
|
251
|
+
toml (0.2.0)
|
|
252
|
+
parslet (~> 1.8.0)
|
|
253
|
+
tzinfo (1.2.4)
|
|
254
|
+
thread_safe (~> 0.1)
|
|
255
|
+
vegas (0.1.11)
|
|
256
|
+
rack (>= 1.0.0)
|
|
257
|
+
whenever (0.9.7)
|
|
258
|
+
chronic (>= 0.6.3)
|
|
259
|
+
with_env (1.1.0)
|
|
260
|
+
xml-simple (1.1.5)
|
|
261
|
+
yabeda (0.5.0)
|
|
262
|
+
concurrent-ruby
|
|
263
|
+
dry-initializer
|
|
264
|
+
yabeda-prometheus (0.5.0)
|
|
265
|
+
prometheus-client (~> 1.0)
|
|
266
|
+
yabeda (~> 0.5)
|
|
267
|
+
yajl-ruby (1.3.1)
|
|
268
|
+
yard (0.9.20)
|
|
269
|
+
|
|
270
|
+
PLATFORMS
|
|
271
|
+
ruby
|
|
272
|
+
|
|
273
|
+
DEPENDENCIES
|
|
274
|
+
airbrake (= 4.3.1)
|
|
275
|
+
apisonator!
|
|
276
|
+
async-redis (~> 0.4.1)
|
|
277
|
+
async-rspec
|
|
278
|
+
aws-sdk (= 2.4.2)
|
|
279
|
+
benchmark-ips (~> 2.7.2)
|
|
280
|
+
bugsnag (~> 6)
|
|
281
|
+
builder (= 3.2.3)
|
|
282
|
+
codeclimate-test-reporter (~> 0.6.0)
|
|
283
|
+
daemons (= 1.2.4)
|
|
284
|
+
falcon (~> 0.35)
|
|
285
|
+
geminabox (~> 0.13.11)
|
|
286
|
+
gli (~> 2.16.1)
|
|
287
|
+
hiredis (= 0.6.1)
|
|
288
|
+
license_finder (~> 5)
|
|
289
|
+
mocha (~> 1.3)
|
|
290
|
+
nokogiri (~> 1.10.8)
|
|
291
|
+
pg (= 0.20.0)
|
|
292
|
+
pkg-config (~> 1.1.7)
|
|
293
|
+
pry (~> 0.11.3)
|
|
294
|
+
pry-byebug (~> 3.5.1)
|
|
295
|
+
pry-doc (~> 0.11.1)
|
|
296
|
+
puma!
|
|
297
|
+
rack (~> 2.0.8)
|
|
298
|
+
rack-test (~> 0.8.2)
|
|
299
|
+
rake (~> 13.0)
|
|
300
|
+
redis (= 4.1.1)
|
|
301
|
+
resque!
|
|
302
|
+
resque_spec (~> 0.17.0)
|
|
303
|
+
resque_unit (~> 0.4.4)!
|
|
304
|
+
rspec (~> 3.7.0)
|
|
305
|
+
rspec_api_documentation (~> 5.0)
|
|
306
|
+
scientist (= 1.0.0)
|
|
307
|
+
sinatra (~> 2.0.3)
|
|
308
|
+
sinatra-contrib (~> 2.0.3)
|
|
309
|
+
source2swagger!
|
|
310
|
+
sshkit
|
|
311
|
+
statsd-ruby (= 1.4.0)
|
|
312
|
+
test-unit (~> 3.2.6)
|
|
313
|
+
timecop (~> 0.9.1)
|
|
314
|
+
whenever (= 0.9.7)
|
|
315
|
+
yabeda-prometheus (~> 0.5.0)
|
|
316
|
+
yajl-ruby (~> 1.3.1)
|
|
317
|
+
|
|
318
|
+
BUNDLED WITH
|
|
319
|
+
1.16.6
|