-
Notifications
You must be signed in to change notification settings - Fork 6
/
weaver.ini.example
260 lines (226 loc) · 9.57 KB
/
weaver.ini.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
# NOTE: This configuration file is employed by Docker smoke test to immediately identify any problematic setting.
###
# app configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/environment.html
###
[app:main]
use = egg:weaver
pyramid.reload_templates = false
pyramid.debug_authorization = false
pyramid.debug_notfound = false
pyramid.debug_routematch = false
pyramid.default_locale_name = en
# mongodb
mongodb.host = mongodb
mongodb.port = 27017
mongodb.db_name = weaver
# caching
cache.type = memory
cache.doc.expire = 86400
cache.doc.enabled = true
cache.request.expire = 60
cache.request.enabled = false
cache.result.expire = 3600
cache.result.enabled = false
cache.quotation.expire = 3600
cache.quotation.enabled = true
# NOTE:
# For all below parameters, settings suffixed by `_url` are automatically generated from their corresponding `_path`
# settings using `weaver.url` if they are not provided. Otherwise, the explicit definition provided by `_url` suffixed
# setting is used. The obtained full URL (either generated or explicitly provided) are used for response body values
# and for external monitoring, resource access, etc. while the `_path` suffixed settings are used internally.
#
# Providing explicit `_url` settings that differ from the generated result of `weaver.url`+`_path` therefore allows
# you to configure the application to report different *external* routes than the *internal* ones, allowing to define,
# amongst other things, secured access points or other advanced server-side behaviour, but it then becomes your
# responsibility to correctly map your server routes to internal routes after applying the server-side operation.
# --- Weaver Configuration ---
# See documentation for more details
# DEFAULT: current instance offers a minimal subset of operations as 'basic' OGC API - Processes (i.e.: no deploy)
# ADES: current instance deploys and executes applications locally (disable remote, providers and Workflow support)
# EMS: current instance dispatches execution to other remote ADES or WPS providers
# HYBRID: current instance does both ADES and EMS roles with flexible combinations depending on situation
weaver.configuration = HYBRID
weaver.url = http://localhost:4001
# Static endpoint to external schema locations for reference in responses.
# If not provided, the current instance OpenAPI JSON path is employed instead.
weaver.schema_url =
# --- Weaver Logging ---
# When provided, this value will override every weaver-specific level defined in other section logging configuration
# Otherwise, their individual levels are employed as provided by other logging sections from this configuration file
weaver.log_level =
# --- Weaver requests extension flags ---
# SSL verification should be enabled for secured connections
# setting is available for convenience, debug purposes and local environments
# preferably, use specific request options
weaver.ssl_verify = true
# file with request options to be used with 'weaver.utils.request_extra'
# see 'requests_options.yml.example'
weaver.request_options =
# --- Weaver Execution settings ---
# maximum wait time allowed for Prefer header to run Job/Quote synchronously
# over this limit, they will automatically fallback to asynchronous execution/estimation
weaver.execute_sync_max_wait = 20
# --- Weaver Quotation settings ---
# enable support of quotation extension
# https://github.com/opengeospatial/ogcapi-processes/tree/master/extensions/quotation
weaver.quotation = true
weaver.quotation_sync_max_wait = 20
# parameters to accomplish quote estimation
weaver.quotation_docker_image = registry.gitlab.com/crim.ca/clients/cubewerx/quote-estimator:0.2.0
weaver.quotation_docker_username =
weaver.quotation_docker_password =
# currency conversion
weaver.quotation_currency_default = USD
weaver.quotation_currency_converter =
weaver.quotation_currency_token =
# --- Weaver CWL settings ---
# NOTE: [experimental]
# enforce provided effective user/group identifiers for Application Package execution
# values must be resolved as integers
# (default: use cwltool auto-resolution according to running machine and current user/group)
weaver.cwl_euid =
weaver.cwl_egid =
# directory where to load predefined process definitions defined with CWL files
# default configuration directory is used if this entry is removed
# only CWL files are considered, lookup in directory is recursive
weaver.cwl_processes_dir =
weaver.cwl_processes_register_error = false
# --- Weaver WPS settings ---
weaver.wps = true
weaver.wps_url =
weaver.wps_path = /ows/wps
weaver.wps_output = true
weaver.wps_output_context =
weaver.wps_output_dir = /tmp/weaver/wps-outputs
weaver.wps_output_url =
weaver.wps_output_path = /wpsoutputs
weaver.wps_output_s3_bucket =
weaver.wps_output_s3_region =
weaver.wps_workdir =
weaver.wps_max_request_size = 30MB
weaver.wps_max_single_input_size = 3GB
# List of comma-separated case-insensitive headers that will be removed from incoming requests before
# passing them down to invoke an operation with the corresponding WPS provider through the WPS client.
weaver.wps_client_headers_filter = Host,
# --- Weaver WPS metadata ---
# all attributes under "metadata:main" can be specified as 'weaver.wps_metadata_<field>'
# (reference: https://pywps.readthedocs.io/en/master/configuration.html#metadata-main)
weaver.wps_metadata_identification_title=Weaver
weaver.wps_metadata_identification_abstract=Weaver internal WPS used for demo and testing.
weaver.wps_metadata_identification_keywords=Weaver,WPS,OGC
# access constraints can be comma-separated
weaver.wps_metadata_identification_accessconstraints=NONE
weaver.wps_metadata_identification_fees=NONE
weaver.wps_metadata_provider_name=CRIM
weaver.wps_metadata_provider_url=http://pavics-weaver.readthedocs.org/en/latest/
weaver.wps_metadata_contact_name=Francis Charette-Migneault
weaver.wps_metadata_contact_position=Research Software Developer
weaver.wps_metadata_contact_phone=1-514-840-1234
weaver.wps_metadata_contact_fax=1-514-840-1244
weaver.wps_metadata_contact_deliveryPoint=405, Ogilvy Avenue, suite 101
weaver.wps_metadata_contact_city=Montréal
weaver.wps_metadata_contact_stateorprovince=Québec
weaver.wps_metadata_contact_country=Canada
weaver.wps_metadata_contact_postalcode=H3N 1M3
weaver.wps_metadata_contact_url=https://www.crim.ca/en/contact-us
weaver.wps_metadata_contact_role=Information
# --- Weaver WPS REST API ---
weaver.wps_restapi = true
weaver.wps_restapi_url =
weaver.wps_restapi_path = /
# Allow OGC API - Processes endpoints to render
# contents in HTML as alternate responses to JSON.
weaver.wps_restapi_html = true
# Special handling of rendering default HTML vs JSON by web browsers.
# See documentation for details.
weaver.wps_restapi_html_override_user_agent = false
# --- Weaver job email notification ---
weaver.wps_email_encrypt_salt = salty-email
weaver.wps_email_encrypt_rounds = 100000
weaver.wps_email_notify_smtp_host =
weaver.wps_email_notify_from_addr = [email protected]
weaver.wps_email_notify_password = 123456
weaver.wps_email_notify_timeout = 10
weaver.wps_email_notify_port = 25
weaver.wps_email_notify_ssl = true
weaver.wps_email_notify_template_dir =
weaver.wps_email_notify_template_default =
# --- Weaver other configurations ---
# additional processes to load at startup (see 'wps_processes.yml.example')
weaver.wps_processes_file = wps_processes.yml
# known remote ADES for processes redirection based on data-sources when using EMS configuration
# (see 'data_sources.yml.example' and 'weaver.processes.sources' for more details)
weaver.data_sources = data_sources.yml
# comma-separated list of key=value options to add to settings
weaver.extra_options =
# vault location
weaver.vault = true
weaver.vault_dir = /tmp/vault
###
# celery scheduler config
# https://pypi.python.org/pypi/pyramid_celery
###
[celery]
#USE_CELERYCONFIG = True
BROKER_URL = mongodb://mongodb:27017/celery
# Result backend is required for SYNC execution.
# Using only the backend type matching the broker URL will automatically resolve to use it database location.
# For an alternative result location, provide the full backend directly rather than using "mongodb_backend_settings".
# This setting is not correctly parsed (dict) by "pyramid_celery", and separate [celery:mongodb_backend_settings] is
# also not found. If more configuration are required, consider using a "celeryconfig" (and "USE_CELERYCONFIG = True").
# That configuration should be placed at the root of weaver since "pyramid_celery" doesn't support custom locations.
# https://github.com/sontek/pyramid_celery/pull/89
RESULT_BACKEND = mongodb
# RESULT_BACKEND = mongodb://mongodb:27017/celery
###
# wsgi server configuration
###
[server:main]
# NOTE: Gunicorn not supported on Windows, use waitress instead
# --- gunicorn ---
use = egg:gunicorn#main
bind = 0.0.0.0:4001
workers = 10
timeout = 10
# --- waitress ---
# use = egg:waitress#main
# listen = localhost:4002
# threads = 10
# channel_timeout = 10
###
# logging configuration
# http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/logging.html
###
[loggers]
keys = root, weaver, celery, cwltool
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = INFO
handlers = console
[logger_weaver]
level = INFO
handlers = console
qualname = weaver
propagate = 0
[logger_celery]
level = INFO
handlers = console
qualname = celery
propagate = 0
[logger_cwltool]
level = INFO
handlers = console
qualname = cwltool
propagate = 0
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[formatter_generic]
format = [%(asctime)s] %(levelname)-8.8s [%(threadName)s][%(name)s] %(message)s