decidim-generators 0.30.1 → 0.31.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +377 -288
- data/lib/decidim/generators/app_generator.rb +60 -65
- data/lib/decidim/generators/app_templates/.node-version +1 -1
- data/lib/decidim/generators/app_templates/database.yml.erb +3 -3
- data/lib/decidim/generators/app_templates/dummy_signature_handler.rb +124 -0
- data/lib/decidim/generators/app_templates/dummy_signature_handler_form.html.erb +73 -0
- data/lib/decidim/generators/app_templates/dummy_sms_mobile_phone_validator.rb +11 -0
- data/lib/decidim/generators/app_templates/elections_initializer.rb +11 -0
- data/lib/decidim/generators/app_templates/initiatives_initializer.rb +54 -0
- data/lib/decidim/generators/app_templates/sidekiq.yml.erb +1 -1
- data/lib/decidim/generators/app_templates/storage.yml +42 -0
- data/lib/decidim/generators/component_templates/.node-version +1 -1
- data/lib/decidim/generators/component_templates/Gemfile.erb +2 -2
- data/lib/decidim/generators/component_templates/config/assets.rb.erb +3 -3
- data/lib/decidim/generators/component_templates/github/ci.yml.erb +2 -2
- data/lib/decidim/generators/component_templates/lib/decidim/component/engine.rb.erb +1 -1
- data/lib/decidim/generators/install_generator.rb +18 -21
- data/lib/decidim/generators/test/generator_examples.rb +24 -88
- data/lib/decidim/generators/version.rb +1 -1
- metadata +10 -8
- data/lib/decidim/generators/app_templates/ai_initializer.rb +0 -113
- data/lib/decidim/generators/app_templates/initializer.rb +0 -477
- data/lib/decidim/generators/app_templates/secrets.yml.erb +0 -190
- data/lib/decidim/generators/app_templates/storage.yml.erb +0 -42
@@ -1,477 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
Decidim.configure do |config|
|
4
|
-
# The name of the application
|
5
|
-
config.application_name = Rails.application.secrets.decidim[:application_name]
|
6
|
-
|
7
|
-
# The email that will be used as sender in all emails from Decidim
|
8
|
-
config.mailer_sender = Rails.application.secrets.decidim[:mailer_sender]
|
9
|
-
|
10
|
-
# Sets the list of available locales for the whole application.
|
11
|
-
#
|
12
|
-
# When an organization is created through the System area, system admins will
|
13
|
-
# be able to choose the available languages for that organization. That list
|
14
|
-
# of languages will be equal or a subset of the list in this file.
|
15
|
-
config.available_locales = Rails.application.secrets.decidim[:available_locales].presence || [:en]
|
16
|
-
# Or block set it up manually and prevent ENV manipulation:
|
17
|
-
# config.available_locales = %w(en ca es)
|
18
|
-
|
19
|
-
# Sets the default locale for new organizations. When creating a new
|
20
|
-
# organization from the System area, system admins will be able to overwrite
|
21
|
-
# this value for that specific organization.
|
22
|
-
config.default_locale = Rails.application.secrets.decidim[:default_locale].presence || :en
|
23
|
-
|
24
|
-
# Restrict access to the system part with an authorized ip list.
|
25
|
-
# You can use a single ip like ("1.2.3.4"), or an ip subnet like ("1.2.3.4/24")
|
26
|
-
# You may specify multiple ip in an array ["1.2.3.4", "1.2.3.4/24"]
|
27
|
-
config.system_accesslist_ips = Rails.application.secrets.decidim[:system_accesslist_ips] if Rails.application.secrets.decidim[:system_accesslist_ips].present?
|
28
|
-
|
29
|
-
# Defines a list of custom content processors. They are used to parse and
|
30
|
-
# render specific tags inside some user-provided content. Check the docs for
|
31
|
-
# more info.
|
32
|
-
# config.content_processors = []
|
33
|
-
|
34
|
-
# Whether SSL should be enabled or not.
|
35
|
-
# if this var is not defined, it is decided automatically per-rails-environment
|
36
|
-
config.force_ssl = Rails.application.secrets.decidim[:force_ssl].present? unless Rails.application.secrets.decidim[:force_ssl] == "auto"
|
37
|
-
# or set it up manually and prevent any ENV manipulation:
|
38
|
-
# config.force_ssl = true
|
39
|
-
|
40
|
-
# Enable the service worker. By default is disabled in development and enabled in the rest of environments
|
41
|
-
config.service_worker_enabled = Rails.application.secrets.decidim[:service_worker_enabled].present?
|
42
|
-
|
43
|
-
# Sets the list of static pages' slugs that can include content blocks.
|
44
|
-
# By default is only enabled in the terms-of-service static page to allow a summary to be added and include
|
45
|
-
# sections with a two-pane view
|
46
|
-
config.page_blocks = Rails.application.secrets.decidim[:page_blocks].presence || %w(terms-of-service)
|
47
|
-
|
48
|
-
# Map and Geocoder configuration
|
49
|
-
#
|
50
|
-
# See Decidim docs at https://docs.decidim.org/en/develop/services/maps.html
|
51
|
-
# for more information about how it works and how to set it up.
|
52
|
-
#
|
53
|
-
# == HERE Maps ==
|
54
|
-
# config.maps = {
|
55
|
-
# provider: :here,
|
56
|
-
# api_key: Rails.application.secrets.maps[:api_key],
|
57
|
-
# static: { url: "https://image.maps.hereapi.com/mia/v3/base/mc/overlay" }
|
58
|
-
# }
|
59
|
-
#
|
60
|
-
# == OpenStreetMap (OSM) services ==
|
61
|
-
# To use the OSM map service providers, you will need a service provider for
|
62
|
-
# the following map servers or host all of them yourself:
|
63
|
-
# - A tile server for the dynamic maps
|
64
|
-
# (https://wiki.openstreetmap.org/wiki/Tile_servers)
|
65
|
-
# - A Nominatim geocoding server for the geocoding functionality
|
66
|
-
# (https://wiki.openstreetmap.org/wiki/Nominatim)
|
67
|
-
# - A static map server for static map images
|
68
|
-
# (https://github.com/jperelli/osm-static-maps)
|
69
|
-
#
|
70
|
-
# When used, please read carefully the terms of service for your service
|
71
|
-
# provider.
|
72
|
-
#
|
73
|
-
# config.maps = {
|
74
|
-
# provider: :osm,
|
75
|
-
# api_key: Rails.application.secrets.maps[:api_key],
|
76
|
-
# dynamic: {
|
77
|
-
# tile_layer: {
|
78
|
-
# url: "https://tiles.example.org/{z}/{x}/{y}.png?key={apiKey}&{foo}",
|
79
|
-
# api_key: true,
|
80
|
-
# foo: "bar=baz",
|
81
|
-
# attribution: %(
|
82
|
-
# <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap</a> contributors
|
83
|
-
# ).strip
|
84
|
-
# # Translatable attribution:
|
85
|
-
# # attribution: -> { I18n.t("tile_layer_attribution") }
|
86
|
-
# }
|
87
|
-
# },
|
88
|
-
# static: { url: "https://staticmap.example.org/" },
|
89
|
-
# geocoding: { host: "nominatim.example.org", use_https: true }
|
90
|
-
# }
|
91
|
-
#
|
92
|
-
# == Combination (OpenStreetMap default + HERE Maps dynamic map tiles) ==
|
93
|
-
# config.maps = {
|
94
|
-
# provider: :osm,
|
95
|
-
# api_key: Rails.application.secrets.maps[:api_key],
|
96
|
-
# dynamic: {
|
97
|
-
# provider: :here,
|
98
|
-
# api_key: Rails.application.secrets.maps[:here_api_key]
|
99
|
-
# },
|
100
|
-
# static: { url: "https://staticmap.example.org/" },
|
101
|
-
# geocoding: { host: "nominatim.example.org", use_https: true }
|
102
|
-
# }
|
103
|
-
|
104
|
-
# Geocoder configurations if you want to customize the default geocoding
|
105
|
-
# settings. The maps configuration will manage which geocoding service to use,
|
106
|
-
# so that does not need any additional configuration here. Use this only for
|
107
|
-
# the global geocoder preferences.
|
108
|
-
# config.geocoder = {
|
109
|
-
# # geocoding service request timeout, in seconds (default 3):
|
110
|
-
# timeout: 5,
|
111
|
-
# # set default units to kilometers:
|
112
|
-
# units: :km,
|
113
|
-
# # caching (see https://github.com/alexreisner/geocoder#caching for details):
|
114
|
-
# cache: Redis.new,
|
115
|
-
# cache_prefix: "..."
|
116
|
-
# }
|
117
|
-
if Rails.application.secrets.maps.present? && Rails.application.secrets.maps[:static_provider].present?
|
118
|
-
static_provider = Rails.application.secrets.maps[:static_provider]
|
119
|
-
dynamic_provider = Rails.application.secrets.maps[:dynamic_provider]
|
120
|
-
dynamic_url = Rails.application.secrets.maps[:dynamic_url]
|
121
|
-
static_url = Rails.application.secrets.maps[:static_url]
|
122
|
-
static_url = "https://image.maps.hereapi.com/mia/v3/base/mc/overlay" if static_provider == "here"
|
123
|
-
config.maps = {
|
124
|
-
provider: static_provider,
|
125
|
-
api_key: Rails.application.secrets.maps[:static_api_key],
|
126
|
-
static: { url: static_url },
|
127
|
-
dynamic: {
|
128
|
-
provider: dynamic_provider,
|
129
|
-
api_key: Rails.application.secrets.maps[:dynamic_api_key]
|
130
|
-
}
|
131
|
-
}
|
132
|
-
config.maps[:geocoding] = { host: Rails.application.secrets.maps[:geocoding_host], use_https: true } if Rails.application.secrets.maps[:geocoding_host]
|
133
|
-
config.maps[:dynamic][:tile_layer] = {}
|
134
|
-
config.maps[:dynamic][:tile_layer][:url] = dynamic_url if dynamic_url
|
135
|
-
config.maps[:dynamic][:tile_layer][:attribution] = Rails.application.secrets.maps[:attribution] if Rails.application.secrets.maps[:attribution]
|
136
|
-
if Rails.application.secrets.maps[:extra_vars].present?
|
137
|
-
vars = URI.decode_www_form(Rails.application.secrets.maps[:extra_vars])
|
138
|
-
vars.each do |key, value|
|
139
|
-
# perform a naive type conversion
|
140
|
-
config.maps[:dynamic][:tile_layer][key] = case value
|
141
|
-
when /^true$|^false$/i
|
142
|
-
value.downcase == "true"
|
143
|
-
when /\A[-+]?\d+\z/
|
144
|
-
value.to_i
|
145
|
-
else
|
146
|
-
value
|
147
|
-
end
|
148
|
-
end
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
# Custom resource reference generator method. Check the docs for more info.
|
153
|
-
# config.reference_generator = lambda do |resource, component|
|
154
|
-
# # Implement your custom method to generate resources references
|
155
|
-
# "1234-#{resource.id}"
|
156
|
-
# end
|
157
|
-
|
158
|
-
# Currency unit
|
159
|
-
config.currency_unit = Rails.application.secrets.decidim[:currency_unit] if Rails.application.secrets.decidim[:currency_unit].present?
|
160
|
-
|
161
|
-
# Workaround to enable SVG assets cors
|
162
|
-
config.cors_enabled = Rails.application.secrets.decidim[:cors_enabled].present?
|
163
|
-
|
164
|
-
# Defines the quality of image uploads after processing. Image uploads are
|
165
|
-
# processed by Decidim, this value helps reduce the size of the files.
|
166
|
-
config.image_uploader_quality = Rails.application.secrets.decidim[:image_uploader_quality].to_i
|
167
|
-
|
168
|
-
config.maximum_attachment_size = Rails.application.secrets.decidim[:maximum_attachment_size].to_i.megabytes
|
169
|
-
config.maximum_avatar_size = Rails.application.secrets.decidim[:maximum_avatar_size].to_i.megabytes
|
170
|
-
|
171
|
-
# The number of reports which a resource can receive before hiding it
|
172
|
-
config.max_reports_before_hiding = Rails.application.secrets.decidim[:max_reports_before_hiding].to_i
|
173
|
-
|
174
|
-
# Custom HTML Header snippets
|
175
|
-
#
|
176
|
-
# The most common use is to integrate third-party services that require some
|
177
|
-
# extra JavaScript or CSS. Also, you can use it to add extra meta tags to the
|
178
|
-
# HTML. Note that this will only be rendered in public pages, not in the admin
|
179
|
-
# section.
|
180
|
-
#
|
181
|
-
# Before enabling this you should ensure that any tracking that might be done
|
182
|
-
# is in accordance with the rules and regulations that apply to your
|
183
|
-
# environment and usage scenarios. This component also comes with the risk
|
184
|
-
# that an organization's administrator injects malicious scripts to spy on or
|
185
|
-
# take over user accounts.
|
186
|
-
#
|
187
|
-
config.enable_html_header_snippets = Rails.application.secrets.decidim[:enable_html_header_snippets].present?
|
188
|
-
|
189
|
-
# Allow organizations admins to track newsletter links.
|
190
|
-
config.track_newsletter_links = Rails.application.secrets.decidim[:track_newsletter_links].present? unless Rails.application.secrets.decidim[:track_newsletter_links] == "auto"
|
191
|
-
|
192
|
-
# Amount of time that the download your data files will be available in the server.
|
193
|
-
config.download_your_data_expiry_time = Rails.application.secrets.decidim[:download_your_data_expiry_time].to_i.days
|
194
|
-
|
195
|
-
# Max requests in a time period to prevent DoS attacks. Only applied on production.
|
196
|
-
config.throttling_max_requests = Rails.application.secrets.decidim[:throttling_max_requests].to_i
|
197
|
-
|
198
|
-
# Time window in which the throttling is applied.
|
199
|
-
config.throttling_period = Rails.application.secrets.decidim[:throttling_period].to_i.minutes
|
200
|
-
|
201
|
-
# Time window were users can access the website even if their email is not confirmed.
|
202
|
-
config.unconfirmed_access_for = Rails.application.secrets.decidim[:unconfirmed_access_for].to_i.days
|
203
|
-
|
204
|
-
# A base path for the uploads. If set, make sure it ends in a slash.
|
205
|
-
# Uploads will be set to `<base_path>/uploads/`. This can be useful if you
|
206
|
-
# want to use the same uploads place for both staging and production
|
207
|
-
# environments, but in different folders.
|
208
|
-
#
|
209
|
-
# If not set, it will be ignored.
|
210
|
-
config.base_uploads_path = Rails.application.secrets.decidim[:base_uploads_path] if Rails.application.secrets.decidim[:base_uploads_path].present?
|
211
|
-
|
212
|
-
# SMS gateway configuration
|
213
|
-
#
|
214
|
-
# If you want to verify your users by sending a verification code via
|
215
|
-
# SMS you need to provide a SMS gateway service class.
|
216
|
-
#
|
217
|
-
# An example class would be something like:
|
218
|
-
#
|
219
|
-
# class MySMSGatewayService
|
220
|
-
# attr_reader :mobile_phone_number, :code
|
221
|
-
#
|
222
|
-
# def initialize(mobile_phone_number, code)
|
223
|
-
# @mobile_phone_number = mobile_phone_number
|
224
|
-
# @code = code
|
225
|
-
# end
|
226
|
-
#
|
227
|
-
# def deliver_code
|
228
|
-
# # Actual code to deliver the code
|
229
|
-
# true
|
230
|
-
# end
|
231
|
-
# end
|
232
|
-
#
|
233
|
-
# config.sms_gateway_service = "MySMSGatewayService"
|
234
|
-
|
235
|
-
# Timestamp service configuration
|
236
|
-
#
|
237
|
-
# Provide a class to generate a timestamp for a document. The instances of
|
238
|
-
# this class are initialized with a hash containing the :document key with
|
239
|
-
# the document to be timestamped as value. The instances respond to a
|
240
|
-
# timestamp public method with the timestamp
|
241
|
-
#
|
242
|
-
# An example class would be something like:
|
243
|
-
#
|
244
|
-
# class MyTimestampService
|
245
|
-
# attr_accessor :document
|
246
|
-
#
|
247
|
-
# def initialize(args = {})
|
248
|
-
# @document = args.fetch(:document)
|
249
|
-
# end
|
250
|
-
#
|
251
|
-
# def timestamp
|
252
|
-
# # Code to generate timestamp
|
253
|
-
# "My timestamp"
|
254
|
-
# end
|
255
|
-
# end
|
256
|
-
#
|
257
|
-
#
|
258
|
-
# config.timestamp_service = "MyTimestampService"
|
259
|
-
|
260
|
-
# PDF signature service configuration
|
261
|
-
#
|
262
|
-
# Provide a class to process a pdf and return the document including a
|
263
|
-
# digital signature. The instances of this class are initialized with a hash
|
264
|
-
# containing the :pdf key with the pdf file content as value. The instances
|
265
|
-
# respond to a signed_pdf method containing the pdf with the signature
|
266
|
-
#
|
267
|
-
# An example class would be something like:
|
268
|
-
#
|
269
|
-
# class MyPDFSignatureService
|
270
|
-
# attr_accessor :pdf
|
271
|
-
#
|
272
|
-
# def initialize(args = {})
|
273
|
-
# @pdf = args.fetch(:pdf)
|
274
|
-
# end
|
275
|
-
#
|
276
|
-
# def signed_pdf
|
277
|
-
# # Code to return the pdf signed
|
278
|
-
# end
|
279
|
-
# end
|
280
|
-
#
|
281
|
-
# config.pdf_signature_service = "MyPDFSignatureService"
|
282
|
-
|
283
|
-
# Etherpad configuration
|
284
|
-
#
|
285
|
-
# Only needed if you want to have Etherpad integration with Decidim. See
|
286
|
-
# Decidim docs at https://docs.decidim.org/en/services/etherpad/ in order to set it up.
|
287
|
-
#
|
288
|
-
if Rails.application.secrets.etherpad.present? && Rails.application.secrets.etherpad[:server].present?
|
289
|
-
config.etherpad = {
|
290
|
-
server: Rails.application.secrets.etherpad[:server],
|
291
|
-
api_key: Rails.application.secrets.etherpad[:api_key],
|
292
|
-
api_version: Rails.application.secrets.etherpad[:api_version]
|
293
|
-
}
|
294
|
-
end
|
295
|
-
|
296
|
-
# Sets Decidim::Exporters::CSV's default column separator
|
297
|
-
config.default_csv_col_sep = Rails.application.secrets.decidim[:default_csv_col_sep] if Rails.application.secrets.decidim[:default_csv_col_sep].present?
|
298
|
-
|
299
|
-
# The list of roles a user can have, not considering the space-specific roles.
|
300
|
-
# config.user_roles = %w(admin user_manager)
|
301
|
-
|
302
|
-
# The list of visibility options for amendments. An Array of Strings that
|
303
|
-
# serve both as locale keys and values to construct the input collection in
|
304
|
-
# Decidim::Amendment::VisibilityStepSetting::options.
|
305
|
-
#
|
306
|
-
# This collection is used in Decidim::Admin::SettingsHelper to generate a
|
307
|
-
# radio buttons collection input field form for a Decidim::Component
|
308
|
-
# step setting :amendments_visibility.
|
309
|
-
# config.amendments_visibility_options = %w(all participants)
|
310
|
-
|
311
|
-
# Machine Translation Configuration
|
312
|
-
#
|
313
|
-
# See Decidim docs at https://docs.decidim.org/en/develop/machine_translations/
|
314
|
-
# for more information about how it works and how to set it up.
|
315
|
-
#
|
316
|
-
# Enable machine translations
|
317
|
-
config.enable_machine_translations = false
|
318
|
-
#
|
319
|
-
# If you want to enable machine translation you can create your own service
|
320
|
-
# to interact with third party service to translate the user content.
|
321
|
-
#
|
322
|
-
# If you still want to use "Decidim::Dev::DummyTranslator" as translator placeholder,
|
323
|
-
# add the following line at the beginning of this file:
|
324
|
-
# require "decidim/dev/dummy_translator"
|
325
|
-
#
|
326
|
-
# An example class would be something like:
|
327
|
-
#
|
328
|
-
# class MyTranslationService
|
329
|
-
# attr_reader :text, :original_locale, :target_locale
|
330
|
-
#
|
331
|
-
# def initialize(text, original_locale, target_locale)
|
332
|
-
# @text = text
|
333
|
-
# @original_locale = original_locale
|
334
|
-
# @target_locale = target_locale
|
335
|
-
# end
|
336
|
-
#
|
337
|
-
# def translate
|
338
|
-
# # Actual code to translate the text
|
339
|
-
# end
|
340
|
-
# end
|
341
|
-
#
|
342
|
-
# config.machine_translation_service = "MyTranslationService"
|
343
|
-
|
344
|
-
# Defines the social networking services used for social sharing
|
345
|
-
config.social_share_services = Rails.application.secrets.decidim[:social_share_services]
|
346
|
-
|
347
|
-
# Defines the name of the cookie used to check if the user allows Decidim to
|
348
|
-
# set cookies.
|
349
|
-
config.consent_cookie_name = Rails.application.secrets.decidim[:consent_cookie_name] if Rails.application.secrets.decidim[:consent_cookie_name].present?
|
350
|
-
|
351
|
-
# Defines data consent categories and the data stored in each category.
|
352
|
-
# config.consent_categories = [
|
353
|
-
# {
|
354
|
-
# slug: "essential",
|
355
|
-
# mandatory: true,
|
356
|
-
# items: [
|
357
|
-
# {
|
358
|
-
# type: "cookie",
|
359
|
-
# name: "_session_id"
|
360
|
-
# },
|
361
|
-
# {
|
362
|
-
# type: "cookie",
|
363
|
-
# name: Decidim.consent_cookie_name
|
364
|
-
# }
|
365
|
-
# ]
|
366
|
-
# },
|
367
|
-
# {
|
368
|
-
# slug: "preferences",
|
369
|
-
# mandatory: false
|
370
|
-
# },
|
371
|
-
# {
|
372
|
-
# slug: "analytics",
|
373
|
-
# mandatory: false
|
374
|
-
# },
|
375
|
-
# {
|
376
|
-
# slug: "marketing",
|
377
|
-
# mandatory: false
|
378
|
-
# }
|
379
|
-
# ]
|
380
|
-
|
381
|
-
# Defines additional content security policies following the structure
|
382
|
-
# Read more: https://docs.decidim.org/en/develop/configure/initializer#_content_security_policy
|
383
|
-
config.content_security_policies_extra = {}
|
384
|
-
|
385
|
-
# Admin admin password configurations
|
386
|
-
Rails.application.secrets.dig(:decidim, :admin_password, :strong).tap do |strong_pw|
|
387
|
-
# When the strong password is not configured, default to true
|
388
|
-
config.admin_password_strong = strong_pw.nil? ? true : strong_pw.present?
|
389
|
-
end
|
390
|
-
config.admin_password_expiration_days = Rails.application.secrets.dig(:decidim, :admin_password, :expiration_days).presence || 90
|
391
|
-
config.admin_password_min_length = Rails.application.secrets.dig(:decidim, :admin_password, :min_length).presence || 15
|
392
|
-
config.admin_password_repetition_times = Rails.application.secrets.dig(:decidim, :admin_password, :repetition_times).presence || 5
|
393
|
-
|
394
|
-
# Additional optional configurations (see decidim-core/lib/decidim/core.rb)
|
395
|
-
config.cache_key_separator = Rails.application.secrets.decidim[:cache_key_separator] if Rails.application.secrets.decidim[:cache_key_separator].present?
|
396
|
-
config.cache_expiry_time = Rails.application.secrets.decidim[:cache_expiry_time].to_i.minutes if Rails.application.secrets.decidim[:cache_expiry_time].present?
|
397
|
-
config.stats_cache_expiry_time = Rails.application.secrets.decidim[:stats_cache_expiry_time].to_i.minutes if Rails.application.secrets.decidim[:stats_cache_expiry_time].present?
|
398
|
-
config.expire_session_after = Rails.application.secrets.decidim[:expire_session_after].to_i.minutes if Rails.application.secrets.decidim[:expire_session_after].present?
|
399
|
-
config.enable_remember_me = Rails.application.secrets.decidim[:enable_remember_me].present? unless Rails.application.secrets.decidim[:enable_remember_me] == "auto"
|
400
|
-
if Rails.application.secrets.decidim[:session_timeout_interval].present?
|
401
|
-
config.session_timeout_interval = Rails.application.secrets.decidim[:session_timeout_interval].to_i.seconds
|
402
|
-
end
|
403
|
-
config.follow_http_x_forwarded_host = Rails.application.secrets.decidim[:follow_http_x_forwarded_host].present?
|
404
|
-
config.maximum_conversation_message_length = Rails.application.secrets.decidim[:maximum_conversation_message_length].to_i
|
405
|
-
config.password_similarity_length = Rails.application.secrets.decidim[:password_similarity_length] if Rails.application.secrets.decidim[:password_similarity_length].present?
|
406
|
-
config.denied_passwords = Rails.application.secrets.decidim[:denied_passwords] if Rails.application.secrets.decidim[:denied_passwords].present?
|
407
|
-
config.allow_open_redirects = Rails.application.secrets.decidim[:allow_open_redirects] if Rails.application.secrets.decidim[:allow_open_redirects].present?
|
408
|
-
config.enable_etiquette_validator = Rails.application.secrets.decidim[:enable_etiquette_validator] if Rails.application.secrets.decidim[:enable_etiquette_validator].present?
|
409
|
-
end
|
410
|
-
|
411
|
-
if Decidim.module_installed? :api
|
412
|
-
Decidim::Api.configure do |config|
|
413
|
-
config.schema_max_per_page = Rails.application.secrets.dig(:decidim, :api, :schema_max_per_page).presence || 50
|
414
|
-
config.schema_max_complexity = Rails.application.secrets.dig(:decidim, :api, :schema_max_complexity).presence || 5000
|
415
|
-
config.schema_max_depth = Rails.application.secrets.dig(:decidim, :api, :schema_max_depth).presence || 15
|
416
|
-
end
|
417
|
-
end
|
418
|
-
|
419
|
-
if Decidim.module_installed? :proposals
|
420
|
-
Decidim::Proposals.configure do |config|
|
421
|
-
config.participatory_space_highlighted_proposals_limit = Rails.application.secrets.dig(:decidim, :proposals, :participatory_space_highlighted_proposals_limit).presence || 4
|
422
|
-
config.process_group_highlighted_proposals_limit = Rails.application.secrets.dig(:decidim, :proposals, :process_group_highlighted_proposals_limit).presence || 3
|
423
|
-
end
|
424
|
-
end
|
425
|
-
|
426
|
-
if Decidim.module_installed? :meetings
|
427
|
-
Decidim::Meetings.configure do |config|
|
428
|
-
config.upcoming_meeting_notification = Rails.application.secrets.dig(:decidim, :meetings, :upcoming_meeting_notification).to_i.days
|
429
|
-
if Rails.application.secrets.dig(:decidim, :meetings, :embeddable_services).present?
|
430
|
-
config.embeddable_services = Rails.application.secrets.dig(:decidim, :meetings, :embeddable_services)
|
431
|
-
end
|
432
|
-
unless Rails.application.secrets.dig(:decidim, :meetings, :enable_proposal_linking) == "auto"
|
433
|
-
config.enable_proposal_linking = Rails.application.secrets.dig(:decidim, :meetings, :enable_proposal_linking).present?
|
434
|
-
end
|
435
|
-
end
|
436
|
-
end
|
437
|
-
|
438
|
-
if Decidim.module_installed? :budgets
|
439
|
-
Decidim::Budgets.configure do |config|
|
440
|
-
unless Rails.application.secrets.dig(:decidim, :budgets, :enable_proposal_linking) == "auto"
|
441
|
-
config.enable_proposal_linking = Rails.application.secrets.dig(:decidim, :budgets, :enable_proposal_linking).present?
|
442
|
-
end
|
443
|
-
end
|
444
|
-
end
|
445
|
-
|
446
|
-
if Decidim.module_installed? :accountability
|
447
|
-
Decidim::Accountability.configure do |config|
|
448
|
-
unless Rails.application.secrets.dig(:decidim, :accountability, :enable_proposal_linking) == "auto"
|
449
|
-
config.enable_proposal_linking = Rails.application.secrets.dig(:decidim, :accountability, :enable_proposal_linking).present?
|
450
|
-
end
|
451
|
-
end
|
452
|
-
end
|
453
|
-
|
454
|
-
if Decidim.module_installed? :initiatives
|
455
|
-
Decidim::Initiatives.configure do |config|
|
456
|
-
unless Rails.application.secrets.dig(:decidim, :initiatives, :creation_enabled) == "auto"
|
457
|
-
config.creation_enabled = Rails.application.secrets.dig(:decidim, :initiatives, :creation_enabled).present?
|
458
|
-
end
|
459
|
-
config.minimum_committee_members = Rails.application.secrets.dig(:decidim, :initiatives, :minimum_committee_members).presence || 2
|
460
|
-
config.default_signature_time_period_length = Rails.application.secrets.dig(:decidim, :initiatives, :default_signature_time_period_length).presence || 120
|
461
|
-
config.default_components = Rails.application.secrets.dig(:decidim, :initiatives, :default_components)
|
462
|
-
config.first_notification_percentage = Rails.application.secrets.dig(:decidim, :initiatives, :first_notification_percentage).presence || 33
|
463
|
-
config.second_notification_percentage = Rails.application.secrets.dig(:decidim, :initiatives, :second_notification_percentage).presence || 66
|
464
|
-
config.stats_cache_expiration_time = Rails.application.secrets.dig(:decidim, :initiatives, :stats_cache_expiration_time).to_i.minutes
|
465
|
-
config.max_time_in_validating_state = Rails.application.secrets.dig(:decidim, :initiatives, :max_time_in_validating_state).to_i.days
|
466
|
-
unless Rails.application.secrets.dig(:decidim, :initiatives, :print_enabled) == "auto"
|
467
|
-
config.print_enabled = Rails.application.secrets.dig(:decidim, :initiatives, :print_enabled).present?
|
468
|
-
end
|
469
|
-
config.do_not_require_authorization = Rails.application.secrets.dig(:decidim, :initiatives, :do_not_require_authorization).present?
|
470
|
-
end
|
471
|
-
end
|
472
|
-
|
473
|
-
Rails.application.config.i18n.available_locales = Decidim.available_locales
|
474
|
-
Rails.application.config.i18n.default_locale = Decidim.default_locale
|
475
|
-
|
476
|
-
# Inform Decidim about the assets folder
|
477
|
-
Decidim.register_assets_path File.expand_path("app/packs", Rails.application.root)
|
@@ -1,190 +0,0 @@
|
|
1
|
-
# Be sure to restart your server when you modify this file.
|
2
|
-
|
3
|
-
# Your secret key is used for verifying the integrity of signed cookies.
|
4
|
-
# If you change this key, all old signed cookies will become invalid!
|
5
|
-
|
6
|
-
# Make sure the secret is at least 30 characters and all random,
|
7
|
-
# no regular words or you will be exposed to dictionary attacks.
|
8
|
-
# You can use `rails secret` to generate a secure secret key.
|
9
|
-
|
10
|
-
# Make sure the secrets in this file are kept private
|
11
|
-
# if you are sharing your code publicly.
|
12
|
-
|
13
|
-
decidim_default: &decidim_default
|
14
|
-
application_name: <%%= Decidim::Env.new("DECIDIM_APPLICATION_NAME", "My Application Name").to_json %>
|
15
|
-
mailer_sender: <%%= Decidim::Env.new("DECIDIM_MAILER_SENDER", "change-me@example.org").to_s %>
|
16
|
-
available_locales: <%%= Decidim::Env.new("DECIDIM_AVAILABLE_LOCALES", "ca,cs,de,en,es,eu,fi,fr,it,ja,nl,pl,pt,ro").to_array.to_json %>
|
17
|
-
default_locale: <%%= Decidim::Env.new("DECIDIM_DEFAULT_LOCALE", "en").to_s %>
|
18
|
-
force_ssl: <%%= Decidim::Env.new("DECIDIM_FORCE_SSL", "auto").default_or_present_if_exists.to_s %>
|
19
|
-
enable_html_header_snippets: <%%= Decidim::Env.new("DECIDIM_ENABLE_HTML_HEADER_SNIPPETS").to_boolean_string %>
|
20
|
-
currency_unit: <%%= Decidim::Env.new("DECIDIM_CURRENCY_UNIT", "€").to_s %>
|
21
|
-
cors_enabled: <%%= Decidim::Env.new("DECIDIM_CORS_ENABLED").to_boolean_string %>
|
22
|
-
image_uploader_quality: <%%= Decidim::Env.new("DECIDIM_IMAGE_UPLOADER_QUALITY", "80").to_i %>
|
23
|
-
maximum_attachment_size: <%%= Decidim::Env.new("DECIDIM_MAXIMUM_ATTACHMENT_SIZE", "10").to_i %>
|
24
|
-
maximum_avatar_size: <%%= Decidim::Env.new("DECIDIM_MAXIMUM_AVATAR_SIZE", "5").to_i %>
|
25
|
-
max_reports_before_hiding: <%%= Decidim::Env.new("DECIDIM_MAX_REPORTS_BEFORE_HIDING", "3").to_i %>
|
26
|
-
track_newsletter_links: <%%= Decidim::Env.new("DECIDIM_TRACK_NEWSLETTER_LINKS", "auto").default_or_present_if_exists.to_s %>
|
27
|
-
download_your_data_expiry_time: <%%= Decidim::Env.new("DECIDIM_DOWNLOAD_YOUR_DATA_EXPIRY_TIME", "7").to_i %>
|
28
|
-
throttling_max_requests: <%%= Decidim::Env.new("DECIDIM_THROTTLING_MAX_REQUESTS", "100").to_i %>
|
29
|
-
throttling_period: <%%= Decidim::Env.new("DECIDIM_THROTTLING_PERIOD", "1").to_i %>
|
30
|
-
unconfirmed_access_for: <%%= Decidim::Env.new("DECIDIM_UNCONFIRMED_ACCESS_FOR", "0").to_i %>
|
31
|
-
system_accesslist_ips: <%%= Decidim::Env.new("DECIDIM_SYSTEM_ACCESSLIST_IPS").to_array.to_json %>
|
32
|
-
base_uploads_path: <%%= Decidim::Env.new("DECIDIM_BASE_UPLOADS_PATH").to_json %>
|
33
|
-
default_csv_col_sep: <%%= Decidim::Env.new("DECIDIM_DEFAULT_CSV_COL_SEP", ";").to_json %>
|
34
|
-
consent_cookie_name: <%%= Decidim::Env.new("DECIDIM_CONSENT_COOKIE_NAME", "decidim-consent").to_json %>
|
35
|
-
cache_key_separator: <%%= Decidim::Env.new("DECIDIM_CACHE_KEY_SEPARATOR", "/").to_json %>
|
36
|
-
cache_expiry_time: <%%= Decidim::Env.new("DECIDIM_CACHE_EXPIRATION_TIME", "1440").to_i %>
|
37
|
-
stats_cache_expiry_time: <%%= Decidim::Env.new("DECIDIM_STATS_CACHE_EXPIRATION_TIME", 10).to_i %>
|
38
|
-
expire_session_after: <%%= Decidim::Env.new("DECIDIM_EXPIRE_SESSION_AFTER", "30").to_i %>
|
39
|
-
session_timeout_interval: <%%= Decidim::Env.new("DECIDIM_SESSION_TIMEOUT_INTERVAL", "10").to_i %>
|
40
|
-
enable_remember_me: <%%= Decidim::Env.new("DECIDIM_ENABLE_REMEMBER_ME", "auto").default_or_present_if_exists.to_s %>
|
41
|
-
follow_http_x_forwarded_host: <%%= Decidim::Env.new("DECIDIM_FOLLOW_HTTP_X_FORWARDED_HOST").to_boolean_string %>
|
42
|
-
maximum_conversation_message_length: <%%= Decidim::Env.new("DECIDIM_MAXIMUM_CONVERSATION_MESSAGE_LENGTH", "1000").to_i %>
|
43
|
-
password_similarity_length: <%%= Decidim::Env.new("DECIDIM_PASSWORD_SIMILARITY_LENGTH", 4).to_i %>
|
44
|
-
denied_passwords: <%%= Decidim::Env.new("DECIDIM_DENIED_PASSWORDS").to_array(separator: ", ").to_json %>
|
45
|
-
allow_open_redirects: <%%= Decidim::Env.new("DECIDIM_ALLOW_OPEN_REDIRECTS").to_boolean_string %>
|
46
|
-
social_share_services: <%%= Decidim::Env.new("DECIDIM_SOCIAL_SHARE_SERVICES", "X, Facebook, WhatsApp, Telegram").to_array.to_json %>
|
47
|
-
service_worker_enabled: <%%= Decidim::Env.new("DECIDIM_SERVICE_WORKER_ENABLED", Rails.env.exclude?("development")).to_boolean_string %>
|
48
|
-
page_blocks: <%%= Decidim::Env.new("DECIDIM_PAGE_BLOCKS", "terms-of-service").to_array %>
|
49
|
-
enable_etiquette_validator: <%%= Decidim::Env.new("DECIDIM_ENABLE_ETIQUETTE_VALIDATOR", true).to_boolean_string %>
|
50
|
-
admin_password:
|
51
|
-
expiration_days: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_EXPIRATION_DAYS", 90).to_i %>
|
52
|
-
min_length: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_MIN_LENGTH", 15).to_i %>
|
53
|
-
repetition_times: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_REPETITION_TIMES", 5).to_i %>
|
54
|
-
strong: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_STRONG", true).to_boolean_string %>
|
55
|
-
api:
|
56
|
-
schema_max_per_page: <%%= Decidim::Env.new("API_SCHEMA_MAX_PER_PAGE", 50).to_i %>
|
57
|
-
schema_max_complexity: <%%= Decidim::Env.new("API_SCHEMA_MAX_COMPLEXITY", 5000).to_i %>
|
58
|
-
schema_max_depth: <%%= Decidim::Env.new("API_SCHEMA_MAX_DEPTH", 15).to_i %>
|
59
|
-
proposals:
|
60
|
-
participatory_space_highlighted_proposals_limit: <%%= Decidim::Env.new("PROPOSALS_PARTICIPATORY_SPACE_HIGHLIGHTED_PROPOSALS_LIMIT", 4).to_i %>
|
61
|
-
process_group_highlighted_proposals_limit: <%%= Decidim::Env.new("PROPOSALS_PROCESS_GROUP_HIGHLIGHTED_PROPOSALS_LIMIT", 3).to_i %>
|
62
|
-
meetings:
|
63
|
-
upcoming_meeting_notification: <%%= Decidim::Env.new("MEETINGS_UPCOMING_MEETING_NOTIFICATION", 2).to_i %>
|
64
|
-
enable_proposal_linking: <%%= Decidim::Env.new("MEETINGS_ENABLE_PROPOSAL_LINKING", "auto").default_or_present_if_exists.to_s %>
|
65
|
-
embeddable_services: <%%= Decidim::Env.new("MEETINGS_EMBEDDABLE_SERVICES").to_array(separator: " ").to_json %>
|
66
|
-
budgets:
|
67
|
-
enable_proposal_linking: <%%= Decidim::Env.new("BUDGETS_ENABLE_PROPOSAL_LINKING", "auto").default_or_present_if_exists.to_s %>
|
68
|
-
accountability:
|
69
|
-
enable_proposal_linking: <%%= Decidim::Env.new("ACCOUNTABILITY_ENABLE_PROPOSAL_LINKING", "auto").default_or_present_if_exists.to_s %>
|
70
|
-
initiatives:
|
71
|
-
creation_enabled: <%%= Decidim::Env.new("INITIATIVES_CREATION_ENABLED", "auto").default_or_present_if_exists.to_s %>
|
72
|
-
minimum_committee_members: <%%= Decidim::Env.new("INITIATIVES_MINIMUM_COMMITTEE_MEMBERS", 2).to_i %>
|
73
|
-
default_signature_time_period_length: <%%= Decidim::Env.new("INITIATIVES_DEFAULT_SIGNATURE_TIME_PERIOD_LENGTH", 120).to_i %>
|
74
|
-
default_components: <%%= Decidim::Env.new("INITIATIVES_DEFAULT_COMPONENTS", "pages, meetings, blogs").to_array.to_json %>
|
75
|
-
first_notification_percentage: <%%= Decidim::Env.new("INITIATIVES_FIRST_NOTIFICATION_PERCENTAGE", 33).to_i %>
|
76
|
-
second_notification_percentage: <%%= Decidim::Env.new("INITIATIVES_SECOND_NOTIFICATION_PERCENTAGE", 66).to_i %>
|
77
|
-
stats_cache_expiration_time: <%%= Decidim::Env.new("INITIATIVES_STATS_CACHE_EXPIRATION_TIME", 5).to_i %>
|
78
|
-
max_time_in_validating_state: <%%= Decidim::Env.new("INITIATIVES_MAX_TIME_IN_VALIDATING_STATE", 60).to_i %>
|
79
|
-
print_enabled: <%%= Decidim::Env.new("INITIATIVES_PRINT_ENABLED", "auto").default_or_present_if_exists.to_s %>
|
80
|
-
do_not_require_authorization: <%%= Decidim::Env.new("INITIATIVES_DO_NOT_REQUIRE_AUTHORIZATION").to_boolean_string %>
|
81
|
-
verifications:
|
82
|
-
document_types: <%%= Decidim::Env.new("VERIFICATIONS_DOCUMENT_TYPES", "identification_number,passport").to_array %>
|
83
|
-
|
84
|
-
storage_default: &storage_default
|
85
|
-
provider: <%%= Decidim::Env.new("STORAGE_PROVIDER", "local").to_s %>
|
86
|
-
cdn_host: <%%= ENV["STORAGE_CDN_HOST"] %>
|
87
|
-
s3:
|
88
|
-
access_key_id: <%%= ENV["AWS_ACCESS_KEY_ID"] %>
|
89
|
-
secret_access_key: <%%= ENV["AWS_SECRET_ACCESS_KEY"] %>
|
90
|
-
region: <%%= ENV["AWS_REGION"] %>
|
91
|
-
bucket: <%%= ENV["AWS_BUCKET"] %>
|
92
|
-
endpoint: <%%= ENV["AWS_ENDPOINT"] %>
|
93
|
-
azure:
|
94
|
-
storage_access_key: <%%= ENV["AZURE_STORAGE_ACCESS_KEY"] %>
|
95
|
-
storage_account_name: <%%= ENV["AZURE_STORAGE_ACCOUNT_NAME"] %>
|
96
|
-
container: <%%= ENV["AZURE_CONTAINER"] %>
|
97
|
-
gcs:
|
98
|
-
project: <%%= ENV["GCS_PROJECT"] %>
|
99
|
-
bucket: <%%= ENV["GCS_BUCKET"] %>
|
100
|
-
type: <%%= Decidim::Env.new("GCS_TYPE", "service_account").to_s %>
|
101
|
-
project_id: <%%= Decidim::Env.new("GCS_PROJECT_ID").to_s %>
|
102
|
-
private_key_id: <%%= Decidim::Env.new("GCS_PRIVATE_KEY_ID").to_s %>
|
103
|
-
private_key: <%%= Decidim::Env.new("GCS_PRIVATE_KEY").to_s %>
|
104
|
-
client_email: <%%= Decidim::Env.new("GCS_CLIENT_EMAIL").to_s %>
|
105
|
-
client_id: <%%= Decidim::Env.new("GCS_CLIENT_ID").to_s %>
|
106
|
-
auth_uri: <%%= Decidim::Env.new("GCS_AUTH_URI", "https://accounts.google.com/o/oauth2/auth").to_s %>
|
107
|
-
token_uri: <%%= Decidim::Env.new("GCS_TOKEN_URI", "https://accounts.google.com/o/oauth2/token").to_s %>
|
108
|
-
auth_provider_x509_cert_url: <%%= Decidim::Env.new("GCS_AUTH_PROVIDER_X509_CERT_URL", "https://www.googleapis.com/oauth2/v1/certs").to_s %>
|
109
|
-
client_x509_cert_url: <%%= Decidim::Env.new("GCS_CLIENT_X509_CERT_URL").to_s %>
|
110
|
-
|
111
|
-
default: &default
|
112
|
-
decidim:
|
113
|
-
<<: *decidim_default
|
114
|
-
omniauth:
|
115
|
-
google_oauth2:
|
116
|
-
enabled: <%%= Decidim::Env.new("OMNIAUTH_GOOGLE_CLIENT_ID").to_boolean_string %>
|
117
|
-
icon_path: "media/images/google.svg"
|
118
|
-
client_id: <%%= ENV["OMNIAUTH_GOOGLE_CLIENT_ID"] %>
|
119
|
-
client_secret: <%%= ENV["OMNIAUTH_GOOGLE_CLIENT_SECRET"] %>
|
120
|
-
facebook:
|
121
|
-
enabled: <%%= Decidim::Env.new("OMNIAUTH_FACEBOOK_APP_ID").to_boolean_string %>
|
122
|
-
app_id: <%%= ENV["OMNIAUTH_FACEBOOK_APP_ID"] %>
|
123
|
-
app_secret: <%%= ENV["OMNIAUTH_FACEBOOK_APP_SECRET"] %>
|
124
|
-
icon_path: "media/images/facebook.svg"
|
125
|
-
twitter:
|
126
|
-
enabled: <%%= Decidim::Env.new("OMNIAUTH_TWITTER_API_KEY").to_boolean_string %>
|
127
|
-
api_key: <%%= ENV["OMNIAUTH_TWITTER_API_KEY"] %>
|
128
|
-
api_secret: <%%= ENV["OMNIAUTH_TWITTER_API_SECRET"] %>
|
129
|
-
icon_path: "media/images/twitter-x.svg"
|
130
|
-
maps:
|
131
|
-
dynamic_provider: <%%= Decidim::Env.new("MAPS_DYNAMIC_PROVIDER", ENV["MAPS_PROVIDER"]).to_s %>
|
132
|
-
static_provider: <%%= Decidim::Env.new("MAPS_STATIC_PROVIDER", ENV["MAPS_PROVIDER"]).to_s %>
|
133
|
-
static_api_key: <%%= Decidim::Env.new("MAPS_STATIC_API_KEY", ENV["MAPS_API_KEY"]).to_s %>
|
134
|
-
dynamic_api_key: <%%= Decidim::Env.new("MAPS_DYNAMIC_API_KEY", ENV["MAPS_API_KEY"]).to_s %>
|
135
|
-
dynamic_url: <%%= ENV["MAPS_DYNAMIC_URL"] %>
|
136
|
-
static_url: <%%= ENV["MAPS_STATIC_URL"] %>
|
137
|
-
attribution: <%%= ENV["MAPS_ATTRIBUTION"].to_json %>
|
138
|
-
extra_vars: <%%= ENV["MAPS_EXTRA_VARS"].to_json %>
|
139
|
-
geocoding_host: <%%= ENV["MAPS_GEOCODING_HOST"] %>
|
140
|
-
etherpad:
|
141
|
-
server: <%%= ENV["ETHERPAD_SERVER"] %>
|
142
|
-
api_key: <%%= ENV["ETHERPAD_API_KEY"] %>
|
143
|
-
api_version: <%%= Decidim::Env.new("ETHERPAD_API_VERSION", "1.2.1") %>
|
144
|
-
storage:
|
145
|
-
<<: *storage_default
|
146
|
-
vapid:
|
147
|
-
enabled: <%%= Decidim::Env.new("VAPID_PUBLIC_KEY").to_boolean_string %>
|
148
|
-
public_key: <%%= ENV["VAPID_PUBLIC_KEY"] %>
|
149
|
-
private_key: <%%= ENV["VAPID_PRIVATE_KEY"] %>
|
150
|
-
|
151
|
-
development:
|
152
|
-
<<: *default
|
153
|
-
secret_key_base: <%= SecureRandom.hex(64) %>
|
154
|
-
omniauth:
|
155
|
-
developer:
|
156
|
-
enabled: true
|
157
|
-
icon: phone-line
|
158
|
-
|
159
|
-
test:
|
160
|
-
<<: *default
|
161
|
-
secret_key_base: <%= SecureRandom.hex(64) %>
|
162
|
-
omniauth:
|
163
|
-
facebook:
|
164
|
-
enabled: true
|
165
|
-
app_id: fake-facebook-app-id
|
166
|
-
app_secret: fake-facebook-app-secret
|
167
|
-
twitter:
|
168
|
-
enabled: true
|
169
|
-
api_key: fake-twitter-api-key
|
170
|
-
api_secret: fake-twitter-api-secret
|
171
|
-
google_oauth2:
|
172
|
-
enabled: true
|
173
|
-
client_id:
|
174
|
-
client_secret:
|
175
|
-
test:
|
176
|
-
enabled: true
|
177
|
-
icon: tools-line
|
178
|
-
|
179
|
-
# Do not keep production secrets in the repository,
|
180
|
-
# instead read values from the environment.
|
181
|
-
production:
|
182
|
-
<<: *default
|
183
|
-
secret_key_base: <%%= ENV["SECRET_KEY_BASE"] %>
|
184
|
-
smtp_username: <%%= ENV["SMTP_USERNAME"] %>
|
185
|
-
smtp_password: <%%= ENV["SMTP_PASSWORD"] %>
|
186
|
-
smtp_address: <%%= ENV["SMTP_ADDRESS"] %>
|
187
|
-
smtp_domain: <%%= ENV["SMTP_DOMAIN"] %>
|
188
|
-
smtp_port: <%%= Decidim::Env.new("SMTP_PORT", 587).to_i %>
|
189
|
-
smtp_starttls_auto: <%%= Decidim::Env.new("SMTP_STARTTLS_AUTO").to_boolean_string %>
|
190
|
-
smtp_authentication: <%%= Decidim::Env.new("SMTP_AUTHENTICATION", "plain").to_s %>
|