11167: Refuse to start when keep-web isn't configured.
[arvados.git] / apps / workbench / config / application.default.yml
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 # Do not use this file for site configuration. Create application.yml
6 # instead (see application.yml.example).
7
8 # Below is a sample setting for diagnostics testing.
9 # Configure workbench URL as "arvados_workbench_url"
10 # Configure test user tokens as "user_tokens".
11 #   At this time the tests need an "active" user token.
12 # Also, configure the pipelines to be executed as "pipelines_to_test".
13 # For each of the pipelines identified by the name of your choice
14 #     ("pipeline_1" and "pipeline_2" in this sample), provide the following:
15 #   template_uuid: is the uuid of the template to be executed
16 #   input_paths: an array of inputs for the pipeline. Use either a collection's "uuid"
17 #     or a file's "uuid/file_name" path in this array. If the pipeline does not require
18 #     any inputs, this can be omitted.
19 #   max_wait_seconds: max time in seconds to wait for the pipeline run to complete.
20 #     Default value of 30 seconds is used when this value is not provided.
21 diagnostics:
22   arvados_workbench_url: https://localhost:3031
23   user_tokens:
24     active: eu33jurqntstmwo05h1jr3eblmi961e802703y6657s8zb14r
25   pipelines_to_test:
26     pipeline_1:
27       template_uuid: zzzzz-p5p6p-rxj8d71854j9idn
28       input_paths: [zzzzz-4zz18-nz98douzhaa3jh2]
29       max_wait_seconds: 10
30     pipeline_2:
31       template_uuid: zzzzz-p5p6p-1xbobfobk94ppbv
32       input_paths: [zzzzz-4zz18-nz98douzhaa3jh2, zzzzz-4zz18-gpw9o5wpcti3nib]
33   container_requests_to_test:
34     container_request_1:
35       workflow_uuid: zzzzz-7fd4e-60e96shgwspt4mw
36       input_paths: []
37       max_wait_seconds: 10
38
39 # Below is a sample setting for performance testing.
40 # Configure workbench URL as "arvados_workbench_url"
41 # Configure test user token as "user_token".
42 performance:
43   arvados_workbench_url: https://localhost:3031
44   user_token: eu33jurqntstmwo05h1jr3eblmi961e802703y6657s8zb14r
45
46 development:
47   cache_classes: false
48   eager_load: true
49   consider_all_requests_local: true
50   action_controller.perform_caching: false
51   action_mailer.raise_delivery_errors: false
52   active_support.deprecation: :log
53   action_dispatch.best_standards_support: :builtin
54   assets.debug: true
55   profiling_enabled: true
56   site_name: Arvados Workbench (dev)
57
58   # API server configuration
59   arvados_login_base: ~
60   arvados_v1_base: ~
61   arvados_insecure_https: ~
62
63 production:
64   force_ssl: true
65   cache_classes: true
66   eager_load: true
67   consider_all_requests_local: false
68   action_controller.perform_caching: true
69   serve_static_assets: false
70   assets.compile: false
71   assets.digest: true
72   i18n.fallbacks: true
73   active_support.deprecation: :notify
74   profiling_enabled: false
75
76   arvados_insecure_https: false
77
78   data_import_dir: /data/arvados-workbench-upload/data
79   data_export_dir: /data/arvados-workbench-download/data
80
81   # API server configuration
82   arvados_login_base: ~
83   arvados_v1_base: ~
84   arvados_insecure_https: ~
85
86   site_name: Arvados Workbench
87
88 test:
89   cache_classes: true
90   eager_load: false
91   serve_static_assets: true
92   static_cache_control: public, max-age=3600
93   consider_all_requests_local: true
94   action_controller.perform_caching: false
95   action_dispatch.show_exceptions: false
96   action_controller.allow_forgery_protection: false
97   action_mailer.delivery_method: :test
98   active_support.deprecation: :stderr
99   profiling_enabled: true
100   secret_token: <%= rand(2**256).to_s(36) %>
101   secret_key_base: <%= rand(2**256).to_s(36) %>
102   keep_web_url: http://example/c=%{uuid_or_pdh}
103
104   # When you run the Workbench's integration tests, it starts the API
105   # server as a dependency.  These settings should match the API
106   # server's Rails defaults.  If you adjust those, change these
107   # settings in application.yml to match.
108   arvados_login_base: https://localhost:3000/login
109   arvados_v1_base: https://localhost:3000/arvados/v1
110   arvados_insecure_https: true
111
112   site_name: Workbench:test
113
114   # Enable user profile with one required field
115   user_profile_form_fields:
116     - key: organization
117       type: text
118       form_field_title: Institution
119       form_field_description: Your organization
120       required: true
121     - key: role
122       type: select
123       form_field_title: Your role
124       form_field_description: Choose the category that best describes your role in your organization.
125       options:
126         - Bio-informatician
127         - Computational biologist
128         - Biologist or geneticist
129         - Software developer
130         - IT
131         - Other
132
133 common:
134   assets.js_compressor: false
135   assets.css_compressor: false
136   data_import_dir: /tmp/arvados-workbench-upload
137   data_export_dir: /tmp/arvados-workbench-download
138   arvados_login_base: https://arvados.local/login
139   arvados_v1_base: https://arvados.local/arvados/v1
140   arvados_insecure_https: true
141   activation_contact_link: mailto:info@arvados.org
142   arvados_docsite: http://doc.arvados.org
143   arvados_public_data_doc_url: http://arvados.org/projects/arvados/wiki/Public_Pipelines_and_Datasets
144   arvados_theme: default
145   show_user_agreement_inline: false
146   secret_token: ~
147   secret_key_base: false
148   default_openid_prefix: https://www.google.com/accounts/o8/id
149   send_user_setup_notification_email: true
150
151   # Scratch directory used by the remote repository browsing
152   # feature. If it doesn't exist, it (and any missing parents) will be
153   # created using mkdir_p.
154   repository_cache: <%= File.expand_path 'tmp/git', Rails.root %>
155
156   # Set user_profile_form_fields to enable and configure the user
157   # profile page. Default is set to false. A commented example with
158   # full description is provided below.
159   user_profile_form_fields: false
160
161   # Below is a sample setting of user_profile_form_fields config parameter.
162   # This configuration parameter should be set to either false (to disable) or
163   # to an array as shown below.
164   # Configure the list of input fields to be displayed in the profile page
165   # using the attribute "key" for each of the input fields.
166   # This sample shows configuration with one required and one optional form fields.
167   # For each of these input fields:
168   #   You can specify "type" as "text" or "select".
169   #   List the "options" to be displayed for each of the "select" menu.
170   #   Set "required" as "true" for any of these fields to make them required.
171   # If any of the required fields are missing in the user's profile, the user will be
172   # redirected to the profile page before they can access any Workbench features.
173   #user_profile_form_fields:
174   #  - key: organization
175   #    type: text
176   #    form_field_title: Institution/Company
177   #    form_field_description: Your organization
178   #    required: true
179   #  - key: role
180   #    type: select
181   #    form_field_title: Your role
182   #    form_field_description: Choose the category that best describes your role in your organization.
183   #    options:
184   #      - Bio-informatician
185   #      - Computational biologist
186   #      - Biologist or geneticist
187   #      - Software developer
188   #      - IT
189   #      - Other
190
191   # Use "user_profile_form_message" to configure the message you want to display on
192   # the profile page.
193   user_profile_form_message: Welcome to Arvados. All <span style="color:red">required fields</span> must be completed before you can proceed.
194
195   # Override the automatic version string. With the default value of
196   # false, the version string is read from git-commit.version in
197   # Rails.root (included in vendor packages) or determined by invoking
198   # "git log".
199   source_version: false
200
201   # report notification to and from addresses
202   issue_reporter_email_from: arvados@example.com
203   issue_reporter_email_to: arvados@example.com
204   support_email_address: arvados@example.com
205
206   # generic issue email from
207   email_from: arvados@example.com
208
209   # Mimetypes of applications for which the view icon
210   # would be enabled in a collection's show page.
211   # It is sufficient to list only applications here.
212   # No need to list text and image types.
213   application_mimetypes_with_view_icon: [fasta, go, javascript, json, pdf, python, r, rtf, sam, sh, xml, xsl]
214
215   # the maximum number of bytes to load in the log viewer
216   log_viewer_max_bytes: 1000000
217
218   # Set anonymous_user_token to enable anonymous user access. You can get
219   # the token by running "bundle exec ./script/get_anonymous_user_token.rb"
220   # in the directory where your API server is running.
221   anonymous_user_token: false
222
223   # when anonymous_user_token is configured, show public projects page
224   enable_public_projects_page: true
225
226   # by default, disable the "Getting Started" popup which is specific to the public beta install
227   enable_getting_started_popup: false
228
229   # Ask Arvados API server to compress its response payloads.
230   api_response_compression: true
231
232   # Timeouts for API requests.
233   api_client_connect_timeout: 120
234   api_client_receive_timeout: 300
235
236   # ShellInABox service endpoint URL for a given VM.  If false, do not
237   # offer web shell logins.
238   #
239   # E.g., using a path-based proxy server to forward connections to shell hosts:
240   # https://webshell.uuid_prefix.arvadosapi.com/%{hostname}
241   #
242   # E.g., using a name-based proxy server to forward connections to shell hosts:
243   # https://%{hostname}.webshell.uuid_prefix.arvadosapi.com/
244   shell_in_a_box_url: false
245
246   # Format of preview links. If false, use keep_web_download_url
247   # instead, and disable inline preview.
248   # If both are false, Workbench won't start, this is a mandatory configuration.
249   #
250   # Examples:
251   # keep_web_url: https://%{uuid_or_pdh}.collections.uuid_prefix.arvadosapi.com
252   # keep_web_url: https://%{uuid_or_pdh}--collections.uuid_prefix.arvadosapi.com
253   #
254   # Example supporting only public data and collection-sharing links
255   # (other data will be handled as downloads via keep_web_download_url):
256   # keep_web_url: https://collections.uuid_prefix.arvadosapi.com/c=%{uuid_or_pdh}
257   keep_web_url: false
258
259   # Format of download links. If false, use keep_web_url with
260   # disposition=attachment query param.
261   #
262   # The host part of the keep_web_download_url value here must match
263   # the -attachment-only-host argument given to keep-web: if
264   # keep_web_download_url is "https://FOO.EXAMPLE/c=..." then keep-web
265   # must run with "-attachment-only-host=FOO.EXAMPLE".
266   #
267   # If keep_web_download_url is false, and keep_web_url uses a
268   # single-origin form, then Workbench will show an error page
269   # when asked to download or preview private data.
270   #
271   # Example:
272   # keep_web_download_url: https://download.uuid_prefix.arvadosapi.com/c=%{uuid_or_pdh}
273   keep_web_download_url: false
274
275   # In "trust all content" mode, Workbench will redirect download
276   # requests to keep-web, even in the cases when keep-web would have
277   # to expose XSS vulnerabilities in order to handle the redirect.
278   #
279   # When enabling this setting, the -trust-all-content flag on the
280   # keep-web server must also be enabled.  For more detail, see
281   # https://godoc.org/github.com/curoverse/arvados/services/keep-web
282   #
283   # This setting has no effect in the recommended configuration, where
284   # the host part of keep_web_url begins with %{uuid_or_pdh}: in this
285   # case XSS protection is provided by browsers' same-origin policy.
286   #
287   # The default setting (false) is appropriate for a multi-user site.
288   trust_all_content: false
289
290   # Maximum number of historic log records of a running job to fetch
291   # and display in the Log tab, while subscribing to web sockets.
292   running_job_log_records_to_fetch: 2000
293
294   # In systems with many shared projects, loading of dashboard and topnav
295   # cab be slow due to collections indexing; use the following parameters
296   # to suppress these properties
297   show_recent_collections_on_dashboard: true
298   show_user_notifications: true