Unify app configuration among the different enviroments

This commit is contained in:
Daniel García Aubert 2018-06-01 16:52:23 +02:00
parent f732ed970b
commit f851423b68
4 changed files with 53 additions and 44 deletions

View File

@ -61,13 +61,13 @@ var config = {
// Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // 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. // 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`. // 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: // 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. // 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. // 3. {{=it.port}}: will use the `port` from this very same configuration file.
,resources_url_templates: { ,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',
@ -87,12 +87,12 @@ var config = {
// idle socket timeout, in milliseconds // idle socket timeout, in milliseconds
,socket_timeout: 600000 ,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: false ,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 // If log_filename is given logs will be written
// there, in append mode. Otherwise stdout is used (default). // there, in append mode. Otherwise stdout is used (default).
// Log file will be re-opened on receiving the HUP signal // 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 // Templated database username for authorized user
// Supported labels: 'user_id' (read from redis) // Supported labels: 'user_id' (read from redis)
,postgres_auth_user: 'development_cartodb_user_<%= user_id %>' ,postgres_auth_user: 'development_cartodb_user_<%= user_id %>'
@ -100,6 +100,9 @@ var config = {
// Supported labels: 'user_id', 'user_password' (both read from redis) // Supported labels: 'user_id', 'user_password' (both read from redis)
,postgres_auth_pass: '<%= user_password %>' ,postgres_auth_pass: '<%= user_password %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
user: "test_windshaft_publicuser",
user: "publicuser", user: "publicuser",
password: "public", password: "public",
host: '127.0.0.1', host: '127.0.0.1',
@ -118,7 +121,7 @@ var config = {
,statsd: { ,statsd: {
host: 'localhost', host: 'localhost',
port: 8125, port: 8125,
prefix: 'dev.', prefix: 'dev.', // could be hostname, better not containing dots
cacheDns: true cacheDns: true
// support all allowed node-statsd options // support all allowed node-statsd options
} }
@ -267,7 +270,7 @@ var config = {
// If filename is given logs comming from analysis client will be written // 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). // 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 // 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 // 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. // 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 // X-Tiler-Profile header containing elapsed timing for various
// steps taken for producing the response. // steps taken for producing the response.
,useProfiler:true ,useProfiler:true
,serverMetadata: {
cdn_url: {
http: undefined,
https: undefined
}
}
// Settings for the health check available at /health // Settings for the health check available at /health
,health: { ,health: {
enabled: false, enabled: false,

View File

@ -61,13 +61,13 @@ var config = {
// Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // 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. // 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`. // 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: // 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. // 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. // 3. {{=it.port}}: will use the `port` from this very same configuration file.
,resources_url_templates: { ,resources_url_templates: {
http: 'http://{{=it.cdn_url}}/{{=it.user}}/api/v1/map', http: 'http://{{=it.cdn_url}}/{{=it.user}}/api/v1/map',
@ -88,7 +88,7 @@ var config = {
,socket_timeout: 600000 ,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: 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 // If log_filename is given logs will be written
// there, in append mode. Otherwise stdout is used (default). // there, in append mode. Otherwise stdout is used (default).
// Log file will be re-opened on receiving the HUP signal // 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) // Supported labels: 'user_id', 'user_password' (both read from redis)
,postgres_auth_pass: '<%= user_password %>' ,postgres_auth_pass: '<%= user_password %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
user: "publicuser", user: "publicuser",
password: "public", password: "public",
host: '127.0.0.1', host: '127.0.0.1',
@ -130,15 +132,7 @@ var config = {
//If enabled, MVTs will be generated with PostGIS directly, instead of using Mapnik, //If enabled, MVTs will be generated with PostGIS directly, instead of using Mapnik,
//PostGIS 2.4 is required for this to work //PostGIS 2.4 is required for this to work
//If disabled it will use Mapnik MVT generation //If disabled it will use Mapnik MVT generation
usePostGIS: false, 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
}
}, },
mapnik: { mapnik: {
// The size of the pool of internal mapnik backend // 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 // 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). // 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 // 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 // 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. // If analysis or tag are not found in redis this values will be used as default.

View File

@ -61,16 +61,16 @@ var config = {
// Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // 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. // 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`. // 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: // 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. // 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. // 3. {{=it.port}}: will use the `port` from this very same configuration file.
,resources_url_templates: { ,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' https: 'https://{{=it.cdn_url}}/{{=it.user}}/api/v1/map'
} }
@ -88,7 +88,7 @@ var config = {
,socket_timeout: 600000 ,socket_timeout: 600000
,enable_cors: true ,enable_cors: true
,cache_enabled: 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 // If log_filename is given logs will be written
// there, in append mode. Otherwise stdout is used (default). // there, in append mode. Otherwise stdout is used (default).
// Log file will be re-opened on receiving the HUP signal // 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) // Supported labels: 'user_id', 'user_password' (both read from redis)
,postgres_auth_pass: '<%= user_password %>' ,postgres_auth_pass: '<%= user_password %>'
,postgres: { ,postgres: {
// Parameters to pass to datasource plugin of mapnik
// See http://github.com/mapnik/mapnik/wiki/PostGIS
user: "publicuser", user: "publicuser",
password: "public", password: "public",
host: '127.0.0.1', host: '127.0.0.1',
@ -118,7 +120,7 @@ var config = {
,statsd: { ,statsd: {
host: 'localhost', host: 'localhost',
port: 8125, port: 8125,
prefix: 'stage.:host.', prefix: 'stage.:host.', // could be hostname, better not containing dots
cacheDns: true cacheDns: true
// support all allowed node-statsd options // support all allowed node-statsd options
} }
@ -267,7 +269,7 @@ var config = {
// If filename is given logs comming from analysis client will be written // 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). // 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 // 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 // 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. // 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 // Settings for the health check available at /health
,health: { ,health: {
enabled: false, enabled: true,
username: 'localhost', username: 'localhost',
z: 0, z: 0,
x: 0, x: 0,

View File

@ -61,16 +61,17 @@ var config = {
// Resource URLs expose endpoints to request/retrieve metadata associated to Maps: dataviews, analysis node status. // 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. // 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`. // 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: // 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. // 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. // 3. {{=it.port}}: will use the `port` from this very same configuration file.
,resources_url_templates: { ,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 // Maximum number of connections for one process
@ -91,7 +92,7 @@ var config = {
// If log_filename is given logs will be written // If log_filename is given logs will be written
// there, in append mode. Otherwise stdout is used (default). // there, in append mode. Otherwise stdout is used (default).
// Log file will be re-opened on receiving the HUP signal // 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 // Templated database username for authorized user
// Supported labels: 'user_id' (read from redis) // Supported labels: 'user_id' (read from redis)
,postgres_auth_user: 'test_windshaft_cartodb_user_<%= user_id %>' ,postgres_auth_user: 'test_windshaft_cartodb_user_<%= user_id %>'
@ -114,12 +115,12 @@ var config = {
reapInterval: 1000 reapInterval: 1000
} }
} }
,mapnik_version: '' ,mapnik_version: undefined
,mapnik_tile_format: 'png8:m=h' ,mapnik_tile_format: 'png8:m=h'
,statsd: { ,statsd: {
host: 'localhost', host: 'localhost',
port: 8125, port: 8125,
prefix: 'test.:host.', prefix: 'test.:host.', // could be hostname, better not containing dots
cacheDns: true cacheDns: true
// support all allowed node-statsd options // 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, //If enabled, MVTs will be generated with PostGIS directly, instead of using Mapnik,
//PostGIS 2.4 is required for this to work //PostGIS 2.4 is required for this to work
//If disabled it will use Mapnik MVT generation //If disabled it will use Mapnik MVT generation
usePostGIS: false, 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
}
}, },
mapnik: { mapnik: {
// The size of the pool of internal mapnik backend // The size of the pool of internal mapnik backend
@ -234,7 +227,12 @@ var config = {
'cache-features': true, 'cache-features': true,
// Require metrics to the renderer // Require metrics to the renderer
metrics: false metrics: false,
// Options for markers attributes, ellipses and images caches
markers_symbolizer_caches: {
disabled: false
}
}, },
http: { http: {
timeout: 2000, // the timeout in ms for a http tile request 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 // 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). // 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 // 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 // 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. // 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 // X-Tiler-Profile header containing elapsed timing for various
// steps taken for producing the response. // steps taken for producing the response.
,useProfiler:true ,useProfiler:true
,serverMetadata: {
cdn_url: {
http: undefined,
https: undefined
}
}
// Settings for the health check available at /health // Settings for the health check available at /health
,health: { ,health: {
enabled: false, enabled: false,