Javier Goizueta
63c03894cc
Fix bugs
2017-03-21 15:45:05 +01:00
Javier Goizueta
942c6ac63d
Fix indentation
2017-03-21 15:44:50 +01:00
Javier Goizueta
73f97128ed
Reorganization of configuration modules, fix circular dependencies
...
The new module cartodb_services/config is intended for services configuration objects
Some legacy configuration objects remain under cartodb_services/metrics.
The refactored configuration backends are also not moved here
2017-03-21 15:42:53 +01:00
Javier Goizueta
945c6cd685
WIP: support for storing rate limits configuration
2017-03-16 19:12:39 +01:00
Javier Goizueta
7f6c19b292
Minor changes for clarity
...
* ServiceManager check method renamed as assert_within_limits
* Legacy classes moved to separate files
2017-03-16 17:59:22 +01:00
Javier Goizueta
9a04ad06a0
Move rate limits out of Config
...
The (legacy) Config object rate limit-related modifications are reverted.
For the legacy case, configuration is handled in a specific RateLimits builder class.
2017-03-15 19:32:50 +01:00
Javier Goizueta
680206a437
Missing import
2017-03-15 12:51:56 +01:00
Javier Goizueta
05b29967c7
Merge branch 'development' into 346-user-rate-limits
...
# Conflicts:
# README.md
# server/extension/sql/20_geocode_street.sql
# server/lib/python/cartodb_services/cartodb_services/metrics/config.py
2017-03-14 19:00:53 +01:00
Javier Goizueta
6c5ca97468
Complete rate-limiting for Mapzen & Here gecoding
...
ServiceManager class has been introduced to handle service configuration at
SQL level (with a LegacyServiceManager alternative for non-refactored services).
These new classes take the responsibility of rate limits and quota checking.
Tests have been added for ServiceManager and rate limits, but currently they
check only the limits configuration since Lua support would be needed
to use rratelimit with MockRedis.
2017-03-14 18:51:18 +01:00
Javier Goizueta
250d384d06
Geocoder, per user, cofigurable rate limits
...
WIP, specially the GeocoderConfig part is flaky and ugly
2017-03-09 18:42:48 +01:00
Javier Goizueta
29cdd8099a
Add service configuration (URL, etc) for Mapzen Geocoding
2017-03-06 10:20:20 +01:00
Mario de Frutos
356135672b
Sanitize quota get in the refactor part
2016-12-20 16:17:42 +01:00
Mario de Frutos
6c71d73498
Use the current quota for mapzen services
2016-12-20 11:52:06 +01:00
Rafa de la Torre
efb10e43e4
Merge remote-tracking branch 'origin/development' into 302-expose-quotas
2016-11-24 12:36:23 +01:00
Rafa de la Torre
1dc6060570
Fix: deal with string values for soft limits #302
2016-11-23 18:51:13 +01:00
Mario de Frutos
d1b17da70b
Don't make mandatory to have a metrics file
2016-11-11 11:48:08 +01:00
Rafa de la Torre
6d0ad85d48
Fix for crash when sentinel_master_id is absent in config
2016-10-06 15:04:25 +02:00
Rafa de la Torre
e1b357137a
Rename s/storage/backend for consistency
2016-10-04 14:59:57 +02:00
Rafa de la Torre
3844cfc226
Tests for environment module
2016-10-04 14:56:06 +02:00
Rafa de la Torre
35da7e48fd
Implement a ServerConfigBackendFactory
...
mostly to keep layers separated.
2016-10-03 17:42:19 +02:00
Rafa de la Torre
12aebb7eee
Rename ConfigStorageInterface to ConfigBackendInterface
2016-10-03 17:35:33 +02:00
Rafa de la Torre
0d87a95270
Inject the environment into the LoggerConfigBuilder
2016-10-03 17:06:57 +02:00
Rafa de la Torre
18e1a5c7c9
Remove the class User and its tests
...
as it is not used.
2016-10-03 16:54:40 +02:00
Rafa de la Torre
fcca5da302
Add a RedisMetricsConnectionFactory class
2016-10-03 16:47:45 +02:00
Rafa de la Torre
1aec541906
Add ServerEnvironment and ServerEnvironmentBuilder
2016-10-03 16:21:28 +02:00
Rafa de la Torre
9e98e0794d
Add backends for user and org configs
2016-10-03 16:05:08 +02:00
Rafa de la Torre
8fbb41742c
Rename redis conf factories to builders
2016-10-03 15:25:01 +02:00
Rafa de la Torre
275a6dc27f
Move redis_config related classes to separate file
2016-10-03 13:33:46 +02:00
Rafa de la Torre
073163eb1a
Rename redis_config.py to redis_connection_config.py
2016-10-03 13:20:30 +02:00
Rafa de la Torre
0c62c4bada
Move the NullConfigStorage to a separate file
2016-10-03 13:17:04 +02:00
Rafa de la Torre
3361960cfc
Move InMemoryConfigStorage to a separate file
2016-10-03 13:12:49 +02:00
Rafa de la Torre
86ab3abc53
Rename mapzen_geocoder module to mapzen_geocoder_config
2016-10-03 12:58:15 +02:00
Rafa de la Torre
c1dd410201
Make RedisConnectionConfigBuilder abstract
...
and also use custom ConfigException instead of generic one.
2016-10-03 12:21:45 +02:00
Rafa de la Torre
34ddd28e6b
Move ConfigException to a separate file
2016-10-03 12:20:17 +02:00
Carla
443fe88d5a
Add newline to end fle
2016-09-30 13:08:27 +02:00
Carla Iriberri
74d2fba763
Add Redis Mock -- tested and working
2016-09-30 12:28:27 +02:00
Rafa de la Torre
1e6ee8d5c1
Add an Environment class
2016-09-30 11:21:35 +02:00
Rafa de la Torre
3a6cc4c364
Add mapzen config and integrate into legacy code
2016-09-29 18:41:16 +02:00
Rafa de la Torre
0b7b44d8a5
Add a couple of factories to abstract user/org configs
2016-09-29 17:46:17 +02:00
Rafa de la Torre
4b4a02905c
Implement the RedisConfigStorage
2016-09-29 17:18:45 +02:00
Rafa de la Torre
1f3a655ae5
Add all the code to instantiate a user_config_storage (WIP)
2016-09-29 16:57:31 +02:00
Rafa de la Torre
9d60fde0b8
A stubb for RedisConfigStorage (WIP)
2016-09-29 13:07:40 +02:00
Rafa de la Torre
efdc151282
Add things to get logger config from storage
2016-09-28 18:22:51 +02:00
Rafa de la Torre
fd2cc21942
Add server config storage classes
2016-09-28 17:32:26 +02:00
Rafa de la Torre
18f05fbd4f
User class with tests
2016-09-28 16:30:37 +02:00