From f851423b688187c037d1b4268e3e459b215c7869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Fri, 1 Jun 2018 16:52:23 +0200 Subject: [PATCH] Unify app configuration among the different enviroments --- config/environments/development.js.example | 23 +++++++++---- config/environments/production.js.example | 20 ++++-------- config/environments/staging.js.example | 16 +++++---- config/environments/test.js.example | 38 ++++++++++++---------- 4 files changed, 53 insertions(+), 44 deletions(-) diff --git a/config/environments/development.js.example b/config/environments/development.js.example index d6345b82..36bd3fe7 100644 --- a/config/environments/development.js.example +++ b/config/environments/development.js.example @@ -61,13 +61,13 @@ var config = { // Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // - // This URLs depend on how `base_url_detached` and `user_from_host` are configured: the application can be + // This URLs depend on how `routes` and `user_from_host` are configured: the application can be // configured to accept request with the {user} in the header host or in the request path. // It also might depend on the configured cdn_url via `serverMetadata.cdn_url`. // // This template allows to make the endpoints generation more flexible, the template exposes the following params: // 1. {{=it.cdn_url}}: will be used when `serverMetadata.cdn_url` exists. - // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `base_url_detached`. + // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `routes`. // 3. {{=it.port}}: will use the `port` from this very same configuration file. ,resources_url_templates: { http: 'http://{{=it.user}}.localhost.lan:{{=it.port}}/api/v1/map', @@ -87,12 +87,12 @@ var config = { // idle socket timeout, in milliseconds ,socket_timeout: 600000 ,enable_cors: true - ,cache_enabled: false - ,log_format: ':req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type] (:res[X-Tiler-Profiler]) (:res[X-Tiler-Errors])' + ,cache_enabled: true + ,log_format: '[:date] :req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type] (:res[X-Tiler-Profiler]) (:res[X-Tiler-Errors])' // If log_filename is given logs will be written // there, in append mode. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal - ,log_filename: undefined + ,log_filename: 'logs/node-windshaft.log' // Templated database username for authorized user // Supported labels: 'user_id' (read from redis) ,postgres_auth_user: 'development_cartodb_user_<%= user_id %>' @@ -100,6 +100,9 @@ var config = { // Supported labels: 'user_id', 'user_password' (both read from redis) ,postgres_auth_pass: '<%= user_password %>' ,postgres: { + // Parameters to pass to datasource plugin of mapnik + // See http://github.com/mapnik/mapnik/wiki/PostGIS + user: "test_windshaft_publicuser", user: "publicuser", password: "public", host: '127.0.0.1', @@ -118,7 +121,7 @@ var config = { ,statsd: { host: 'localhost', port: 8125, - prefix: 'dev.', + prefix: 'dev.', // could be hostname, better not containing dots cacheDns: true // support all allowed node-statsd options } @@ -267,7 +270,7 @@ var config = { // If filename is given logs comming from analysis client will be written // there, in append mode. Otherwise 'log_filename' is used. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal - filename: '/tmp/analysis.log' + filename: 'logs/node-windshaft-analysis.log' }, // Define max execution time in ms for analyses or tags // If analysis or tag are not found in redis this values will be used as default. @@ -337,6 +340,12 @@ var config = { // X-Tiler-Profile header containing elapsed timing for various // steps taken for producing the response. ,useProfiler:true + ,serverMetadata: { + cdn_url: { + http: undefined, + https: undefined + } + } // Settings for the health check available at /health ,health: { enabled: false, diff --git a/config/environments/production.js.example b/config/environments/production.js.example index d601dbc5..a092ca03 100644 --- a/config/environments/production.js.example +++ b/config/environments/production.js.example @@ -61,13 +61,13 @@ var config = { // Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // - // This URLs depend on how `base_url_detached` and `user_from_host` are configured: the application can be + // This URLs depend on how `routes` and `user_from_host` are configured: the application can be // configured to accept request with the {user} in the header host or in the request path. // It also might depend on the configured cdn_url via `serverMetadata.cdn_url`. // // This template allows to make the endpoints generation more flexible, the template exposes the following params: // 1. {{=it.cdn_url}}: will be used when `serverMetadata.cdn_url` exists. - // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `base_url_detached`. + // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `routes`. // 3. {{=it.port}}: will use the `port` from this very same configuration file. ,resources_url_templates: { http: 'http://{{=it.cdn_url}}/{{=it.user}}/api/v1/map', @@ -88,7 +88,7 @@ var config = { ,socket_timeout: 600000 ,enable_cors: true ,cache_enabled: true - ,log_format: ':req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type] (:res[X-Tiler-Profiler]) (:res[X-Tiler-Errors])' + ,log_format: '[:date] :req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type] (:res[X-Tiler-Profiler]) (:res[X-Tiler-Errors])' // If log_filename is given logs will be written // there, in append mode. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal @@ -100,6 +100,8 @@ var config = { // Supported labels: 'user_id', 'user_password' (both read from redis) ,postgres_auth_pass: '<%= user_password %>' ,postgres: { + // Parameters to pass to datasource plugin of mapnik + // See http://github.com/mapnik/mapnik/wiki/PostGIS user: "publicuser", password: "public", host: '127.0.0.1', @@ -130,15 +132,7 @@ var config = { //If enabled, MVTs will be generated with PostGIS directly, instead of using Mapnik, //PostGIS 2.4 is required for this to work //If disabled it will use Mapnik MVT generation - usePostGIS: false, - dbPoolParams: { - // maximum number of resources to create at any given time - size: 16, - // max milliseconds a resource can go unused before it should be destroyed - idleTimeout: 3000, - // frequency to check for idle resources - reapInterval: 1000 - } + usePostGIS: false }, mapnik: { // The size of the pool of internal mapnik backend @@ -275,7 +269,7 @@ var config = { // If filename is given logs comming from analysis client will be written // there, in append mode. Otherwise 'log_filename' is used. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal - filename: 'logs/analysis.log' + filename: 'logs/node-windshaft-analysis.log' }, // Define max execution time in ms for analyses or tags // If analysis or tag are not found in redis this values will be used as default. diff --git a/config/environments/staging.js.example b/config/environments/staging.js.example index 76260b8f..e6f7e5fa 100644 --- a/config/environments/staging.js.example +++ b/config/environments/staging.js.example @@ -61,16 +61,16 @@ var config = { // Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // - // This URLs depend on how `base_url_detached` and `user_from_host` are configured: the application can be + // This URLs depend on how `routes` and `user_from_host` are configured: the application can be // configured to accept request with the {user} in the header host or in the request path. // It also might depend on the configured cdn_url via `serverMetadata.cdn_url`. // // This template allows to make the endpoints generation more flexible, the template exposes the following params: // 1. {{=it.cdn_url}}: will be used when `serverMetadata.cdn_url` exists. - // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `base_url_detached`. + // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `routes`. // 3. {{=it.port}}: will use the `port` from this very same configuration file. ,resources_url_templates: { - http: 'http://{{=it.user}}.localhost.lan:{{=it.port}}/api/v1/map', + http: 'http://{{=it.cdn_url}}/{{=it.user}}/api/v1/map', https: 'https://{{=it.cdn_url}}/{{=it.user}}/api/v1/map' } @@ -88,7 +88,7 @@ var config = { ,socket_timeout: 600000 ,enable_cors: true ,cache_enabled: true - ,log_format: ':req[X-Real-IP] :method :req[Host]:url :status :response-time ms (:res[X-Tiler-Profiler]) -> :res[Content-Type] (:res[X-Tiler-Errors])' + ,log_format: '[:date] :req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type] (:res[X-Tiler-Profiler]) (:res[X-Tiler-Errors])' // If log_filename is given logs will be written // there, in append mode. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal @@ -100,6 +100,8 @@ var config = { // Supported labels: 'user_id', 'user_password' (both read from redis) ,postgres_auth_pass: '<%= user_password %>' ,postgres: { + // Parameters to pass to datasource plugin of mapnik + // See http://github.com/mapnik/mapnik/wiki/PostGIS user: "publicuser", password: "public", host: '127.0.0.1', @@ -118,7 +120,7 @@ var config = { ,statsd: { host: 'localhost', port: 8125, - prefix: 'stage.:host.', + prefix: 'stage.:host.', // could be hostname, better not containing dots cacheDns: true // support all allowed node-statsd options } @@ -267,7 +269,7 @@ var config = { // If filename is given logs comming from analysis client will be written // there, in append mode. Otherwise 'log_filename' is used. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal - filename: 'logs/analysis.log' + filename: 'logs/node-windshaft-analysis.log' }, // Define max execution time in ms for analyses or tags // If analysis or tag are not found in redis this values will be used as default. @@ -345,7 +347,7 @@ var config = { } // Settings for the health check available at /health ,health: { - enabled: false, + enabled: true, username: 'localhost', z: 0, x: 0, diff --git a/config/environments/test.js.example b/config/environments/test.js.example index 0dd475fe..a3ee9aba 100644 --- a/config/environments/test.js.example +++ b/config/environments/test.js.example @@ -61,16 +61,17 @@ var config = { // Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // - // This URLs depend on how `base_url_detached` and `user_from_host` are configured: the application can be + // This URLs depend on how `routes` and `user_from_host` are configured: the application can be // configured to accept request with the {user} in the header host or in the request path. // It also might depend on the configured cdn_url via `serverMetadata.cdn_url`. // // This template allows to make the endpoints generation more flexible, the template exposes the following params: // 1. {{=it.cdn_url}}: will be used when `serverMetadata.cdn_url` exists. - // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `base_url_detached`. + // 2. {{=it.user}}: will use the username as extraced from `user_from_host` or `routes`. // 3. {{=it.port}}: will use the `port` from this very same configuration file. ,resources_url_templates: { - http: 'http://{{=it.user}}.localhost.lan:{{=it.port}}/api/v1/map' + http: 'http://{{=it.user}}.localhost.lan:{{=it.port}}/api/v1/map', + https: 'https://{{=it.user}}.localhost.lan:{{=it.port}}/api/v1/map' } // Maximum number of connections for one process @@ -91,7 +92,7 @@ var config = { // If log_filename is given logs will be written // there, in append mode. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal - //,log_filename: 'logs/node-windshaft.log' + ,log_filename: 'logs/node-windshaft.log' // Templated database username for authorized user // Supported labels: 'user_id' (read from redis) ,postgres_auth_user: 'test_windshaft_cartodb_user_<%= user_id %>' @@ -114,12 +115,12 @@ var config = { reapInterval: 1000 } } - ,mapnik_version: '' + ,mapnik_version: undefined ,mapnik_tile_format: 'png8:m=h' ,statsd: { host: 'localhost', port: 8125, - prefix: 'test.:host.', + prefix: 'test.:host.', // could be hostname, better not containing dots cacheDns: true // support all allowed node-statsd options } @@ -131,15 +132,7 @@ var config = { //If enabled, MVTs will be generated with PostGIS directly, instead of using Mapnik, //PostGIS 2.4 is required for this to work //If disabled it will use Mapnik MVT generation - usePostGIS: false, - dbPoolParams: { - // maximum number of resources to create at any given time - size: 16, - // max milliseconds a resource can go unused before it should be destroyed - idleTimeout: 3000, - // frequency to check for idle resources - reapInterval: 1000 - } + usePostGIS: false }, mapnik: { // The size of the pool of internal mapnik backend @@ -234,7 +227,12 @@ var config = { 'cache-features': true, // Require metrics to the renderer - metrics: false + metrics: false, + + // Options for markers attributes, ellipses and images caches + markers_symbolizer_caches: { + disabled: false + } }, http: { timeout: 2000, // the timeout in ms for a http tile request @@ -273,7 +271,7 @@ var config = { // If filename is given logs comming from analysis client will be written // there, in append mode. Otherwise 'log_filename' is used. Otherwise stdout is used (default). // Log file will be re-opened on receiving the HUP signal - filename: 'node-windshaft.log' + filename: 'logs/node-windshaft-analysis.log' }, // Define max execution time in ms for analyses or tags // If analysis or tag are not found in redis this values will be used as default. @@ -343,6 +341,12 @@ var config = { // X-Tiler-Profile header containing elapsed timing for various // steps taken for producing the response. ,useProfiler:true + ,serverMetadata: { + cdn_url: { + http: undefined, + https: undefined + } + } // Settings for the health check available at /health ,health: { enabled: false,