decidim-generators 0.26.2 → 0.27.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,8 +10,77 @@
10
10
  # Make sure the secrets in this file are kept private
11
11
  # if you're sharing your code publicly.
12
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
+ expire_session_after: <%%= Decidim::Env.new("DECIDIM_EXPIRE_SESSION_AFTER", "30").to_i %>
37
+ session_timeout_interval: <%%= Decidim::Env.new("DECIDIM_SESSION_TIMEOUT_INTERVAL", "10").to_i %>
38
+ enable_remember_me: <%%= Decidim::Env.new("DECIDIM_ENABLE_REMEMBER_ME", "auto").default_or_present_if_exists.to_s %>
39
+ follow_http_x_forwarded_host: <%%= Decidim::Env.new("DECIDIM_FOLLOW_HTTP_X_FORWARDED_HOST").to_boolean_string %>
40
+ maximum_conversation_message_length: <%%= Decidim::Env.new("DECIDIM_MAXIMUM_CONVERSATION_MESSAGE_LENGTH", "1000").to_i %>
41
+ password_blacklist: <%%= Decidim::Env.new("DECIDIM_PASSWORD_BLACKLIST").to_array(separator: ", ").to_json %>
42
+ allow_open_redirects: <%%= Decidim::Env.new("DECIDIM_ALLOW_OPEN_REDIRECTS").to_boolean_string %>
43
+ service_worker_enabled: <%%= Decidim::Env.new("DECIDIM_SERVICE_WORKER_ENABLED", Rails.env.exclude?("development")).to_boolean_string %>
44
+ admin_password:
45
+ expiration_days: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_EXPIRATION_DAYS", 90).to_i %>
46
+ min_length: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_MIN_LENGTH", 15).to_i %>
47
+ repetition_times: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_REPETITION_TIMES", 5).to_i %>
48
+ strong: <%%= Decidim::Env.new("DECIDIM_ADMIN_PASSWORD_STRONG", true).to_boolean_string %>
49
+ api:
50
+ schema_max_per_page: <%%= Decidim::Env.new("API_SCHEMA_MAX_PER_PAGE", 50).to_i %>
51
+ schema_max_complexity: <%%= Decidim::Env.new("API_SCHEMA_MAX_COMPLEXITY", 5000).to_i %>
52
+ schema_max_depth: <%%= Decidim::Env.new("API_SCHEMA_MAX_DEPTH", 15).to_i %>
53
+ proposals:
54
+ similarity_threshold: <%%= Decidim::Env.new("PROPOSALS_SIMILARITY_THRESHOLD", 0.25).to_f %>
55
+ similarity_limit: <%%= Decidim::Env.new("PROPOSALS_SIMILARITY_LIMIT", 10).to_i %>
56
+ participatory_space_highlighted_proposals_limit: <%%= Decidim::Env.new("PROPOSALS_PARTICIPATORY_SPACE_HIGHLIGHTED_PROPOSALS_LIMIT", 4).to_i %>
57
+ process_group_highlighted_proposals_limit: <%%= Decidim::Env.new("PROPOSALS_PROCESS_GROUP_HIGHLIGHTED_PROPOSALS_LIMIT", 3).to_i %>
58
+ meetings:
59
+ upcoming_meeting_notification: <%%= Decidim::Env.new("MEETINGS_UPCOMING_MEETING_NOTIFICATION", 2).to_i %>
60
+ enable_proposal_linking: <%%= Decidim::Env.new("MEETINGS_ENABLE_PROPOSAL_LINKING", "auto").default_or_present_if_exists.to_s %>
61
+ embeddable_services: <%%= Decidim::Env.new("MEETINGS_EMBEDDABLE_SERVICES").to_array(separator: " ").to_json %>
62
+ budgets:
63
+ enable_proposal_linking: <%%= Decidim::Env.new("BUDGETS_ENABLE_PROPOSAL_LINKING", "auto").default_or_present_if_exists.to_s %>
64
+ accountability:
65
+ enable_proposal_linking: <%%= Decidim::Env.new("ACCOUNTABILITY_ENABLE_PROPOSAL_LINKING", "auto").default_or_present_if_exists.to_s %>
66
+ consultations:
67
+ stats_cache_expiration_time: <%%= Decidim::Env.new("CONSULTATIONS_STATS_CACHE_EXPIRATION_TIME", 5).to_i %>
68
+ initiatives:
69
+ creation_enabled: <%%= Decidim::Env.new("INITIATIVES_CREATION_ENABLED", "auto").default_or_present_if_exists.to_s %>
70
+ similarity_threshold: <%%= Decidim::Env.new("INITIATIVES_SIMILARITY_THRESHOLD", 0.25).to_f %>
71
+ similarity_limit: <%%= Decidim::Env.new("INITIATIVES_SIMILARITY_LIMIT", 5).to_i %>
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").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
+
13
82
  elections_default: &elections_default
14
- bulletin_board_server: <%%= ENV["ELECTIONS_BULLETIN_BOARD_SERVER"] || 'http://bulletin-board.lvh.me:8000/api' %>
83
+ bulletin_board_server: <%%= Decidim::Env.new("ELECTIONS_BULLETIN_BOARD_SERVER", 'http://bulletin-board.lvh.me:8000/api').to_s %>
15
84
  bulletin_board_public_key: {"kty":"RSA","n":"zMXsZpYPKkDlSmezX898y7zNOaJ7ENIN4kj4UhQ95Vm4HlgTpIs2VMMsO0eqynMaOR_G1mXdqbpbaJtXijBe4V8323QwGm6WVAa71E7pDXa5g6-uo5f8GePitN0YER9y2yNQN4uTaNzJiWV2uLBUYfMdj3SIif31YwLULHAOj3B_oleFK8coE_Qr3NzATcYBmsqE8AR4NljxTO6KDmP1SLdf5GBOBhOAIFbnL_Kpj2xkm7MS3hjMVKpiRhqA1UgX5oKZ8ixBv46fNJF0pBsHi3fHNjK9oZzgdx_AI-YFpdE_40-8bh_g9sWzxacqOM2-MdQLHbvRPEVltO3E8tr6I5YWrylcP7l9VD8OJeqjq2qFYHnGYdmLoD2XuXmI9EuBvSb9H4-qcartxZSIQCimKib_fxZvgrG1FSRRhK6YpvIdGv4-G2zfCCRsC4XD80TYI2bf-oYCoy7eU3_eVHFMV2yg4p1Wnuw2Vgq0edPL_bKaV9JvGx7F-U5juxNN0WZR9LzbPl4ReejzN95lyHgbj0nTH_u3bSpZmgJrQF-PwdnPcG46deVjJgUeosrlC4lQxVrRz0GL58BuFunnz2uYDBDrcJCiG60EbdkAFHjOcXU4wrUWATin7je_aqdBXhSnkTafcJAMvL7Y2Ld7vDge8nLqjAVlAi5am3rN0kqKT6M","e":"AQAB","kid":"a8e86f02ca27e1861bfc49e2a9a4614ca9068f8efdb6d42d19d3aab0eb2a31be"}
16
85
  authority_private_key: {"kty":"RSA","n":"pNgMt8lnPDD3TlWYGhRiV1oZkPQmnLdiUzwyb_-35qKD9k-HU86xo0uSgoOUWkBtnvFscq8zNDPAGAlZVokaN_z9ksZblSce0LEl8lJa3ICgghg7e8vg_7Lz5dyHSQ3PCLgenyFGcL401aglDde1Xo4ujdz33Lklc4U9zoyoLUI2_viYmNOU6n5Mn0sJd30FeICMrLD2gX46pGe3MGug6groT9EvpKcdOoJHKoO5yGSVaeY5-Bo3gngvlgjlS2mfwjCtF4NYwIQSd2al-p4BKnuYAVKRSgr8rYnnjhWfJ4GsCaqiyXNi5NPYRV6gl_cx_1jUcA1rRJqQR32I8c8QbAXm5qNO4URcdaKys9tNcVgXBL1FsSdbrLVVFWen1tfWNfHm-8BjiWCWD79-uk5gI0SjC9tWvTzVvswWXI5weNqqVXqpDydr46AsHE2sG40HRCR3UF3LupT-HwXTcYcOZr5dJClJIsU3Hrvy4wLssub69YSNR1Jxn-KX2vUc06xY8CNIuSMpfufEq5cZopL6O2l1pRsW1FQnF3s078_Y9MaQ1gPyBo0IipLBVUj5IjEIfPuiEk4jxkiUYDeqzf7bAvSFckp94yLkRWTs_pEZs7b_ogwRG6WMHjtcaNYe4CufhIm9ekkKDeAWOPRTHfKNmohRBh09XuvSjqrx5Z7rqb8","e":"AQAB","kid":"b8dba1459df956d60107690c34fa490db681eac4f73ffaf6e4055728c02ddc8e","d":"Uh3KIBe1VJez6pLbBUrYPlmE2N-3CGSWF46qNX62lq6ofB_b8xTJCuaPonJ3iYoE0aPEeVDrefq5m3-0wFXl-LQPgXlMj_1_7UgB9jeuSZ_N1WDK6P2EJPx5YS09O1gkpVxK7Mx_sZQe77wmUUH-eI7tg__qfUrB7E0Yn_cTpBATI2qlYaQsz6-A7e1MVvixq_ilmzVAZvuBrPp5mCZVb6FlXrV_PU9-UPIrD3O1La1lfO6SPBSbSGQkmGHwD2QbkHn9D_R_Vs-z_0TkM_dX71jIPQhrle3pN222KuJ8eQqwr9QP6biQMBuT5eKgr3MVtfUDRpp4sCEq9GIFwSd8LvbmGPrOoz8ueOEQ05nisIBQuOTYiWpYs2CEV062HR1bLFRLDUcSlflGNr0bgiXTUFx4wxRG06OaI-rQ6nG3M8TE0I0phMNCG3c7YyV28z_k2I65oQF9aKtiwFwc0YsUSGPTOFZGWHuCCPLm0lFeebpI_JIYqIv70NJxbSZEBY8DAIqZPqP6y_CRo2_C7piCgsjg9pnF8cp45vz4L6DWZ0Tumc_5aRuqIBkYXXwP9TjqhzxL-2SQHIqUAjj6Y6S35tZT6ekZSbnPIKX_e42y6bDT_Ztf01QfKiTkcx3_I8RwOuh6CzJzr72AykQpU3XKOKF1x1GBtYyrno4jG5LgaGE","p":"1UARZ-rRnpKG5NHKlXTys3irCy-d91edHL3fEIzDKvhMRQCIWh7dt8l0_sIpcBF-EbVilbFKj7yfgZBTr8EkAXHgweayK8rnlMqi2jte1_u-5DBtrGVVUTSQltSLDOZHK5QfUxVK6Bbk8K5ROLvef91oNgnSNWNOeoCZdlS55nMZcAgY_6mxSuuMq54Tgy8o4Ip890-ZEYY6OSFXhU-ieoGO4Jw--c6QzmCa3gGo2oVClidMNaM1jquK4Pj6xaoxR2NWeIX9Ix7k1P2B24pegyHXjSIpQ6JYdn352VViXi2tx7TTJh6ClNVjgoRmL4Gfy_IJNx0GhF5OB3yughUc7w","q":"xePJGBt466qM9F0BPxWFjyWbIs_GNXr-lBGASui0Z94cfgFbsZwqRsWQEf7jDVQsDNVnPSWZ_Wd6UqoQaIxc0tE8gaokPG6A4EUDyoLaZ231ZydDVoWof8FnPDaJwrcPwZ4R6ZLKGmkfytCZuU9I_9B4uuV0dyjEzKfS-Os3UcLumKPlgJ71OZAb49GTqUHuTePcSJjyYOYXx6eE7i_1m8TjU9Ut18BJNQhLqWmerA6X1ijbR2_syY6GXhGSfciSBH8xVkiUnqXb2jt1bE8nwWw-Sam5ikjzNbXqqs978IcCE5HTddQmy99bwuArA8PLqIFj3OOO1CSo8oyn2XDgMQ","dp":"Diky_rOZN-6DBq7nxQT_GOvqb9O5qbMnu8DgDzlJvJDAf9SJOXLTRmEaY9CA7_A5bvOcmFQtn13nObNb20_4FCB7zGSFcGMI_dh2-Ab5RV5yTrTok4onID1dXKbAlRq1ny825U2Eq-TZTyJEQoA3RkZtpSkBzInLrFbd2f3GWodKKSZggpnCLDd4H-1fXlbDYCXSJpoikAdZ1nFgXnnrUDdKRaAajnwpIYtIvXVewSQYR-BULzunUtIRZt8hx_6FRzhRha9gH_TtPTeYZ_vISuz0Y2rhUpx1Q2kaLlR9M8PUxm47l0xvX3LMKN6h6oWxFtn7wq0qwZ-Bjv24mOrOAQ","dq":"nXGD10hURrwk9W7hxP0sjB2Rdnr06iv3THs4JWFL16_h32bZO1BSWoho_chbgYlMmtFXGFFIWVLxAcAI2gWC_MA4cbmapvIMW2LNh1vgxJW5v95_NuGUlECeEEwcAu1-_b7z5XBCmAy3nLem9sbb_5wv0hMpPH0VRvbnZeBO3SBIkO0lddYCqU-8wN9HqkyoexQleSUnAm1O0iy4GIHT2aEmdNaRaKy2EhmNiTZdZeseZueOvyGPtTVONp2ofacMdcN0z39jr22qo9DWtdusd7nVPOpqkllEF6GrGUeHBnGD92n4YjDuxRnqefu8fXxUFrcLav0p8CNSv9ek291woQ","qi":"w6hfKEBLLHRWPkjajgxZyyetj-UFfVkILRT0plOllJ2JV8whcOXRXbiXH2r8zqMeyMFrrMwmuvv4TVQaruKB0ZQOG7Tz5Lw0RZEREOLnBwc3vSi_iLd-jBz01LdExTpqsAHMkaMQR9x62J8DE1ZNxVdn3ELYKik0f1L2r_WErzhvT1uq69HAybUp6WHcFYH0PSqHg4LOneXAdU1_g-ji2Zn9dlA_2oYGQ5S6JXPV7v2IVbEFpxyVD1lPbFT0iKhyZZevictjgD_JGHveIVqsq5w0Csyz08h0oEW9hYEq-4bquMxSf18gjldoS5uQPD7FUECgL8bxsCdc4hP6UEKYGw"}
17
86
  authority_name: "Decidim Test Authority"
@@ -20,30 +89,72 @@ elections_default: &elections_default
20
89
  quorum: 2
21
90
  number_of_trustees: 3
22
91
 
92
+ storage_default: &storage_default
93
+ provider: <%%= Decidim::Env.new("STORAGE_PROVIDER", "local").to_s %>
94
+ cdn_host: <%%= ENV["STORAGE_CDN_HOST"] %>
95
+ s3:
96
+ access_key_id: <%%= ENV["AWS_ACCESS_KEY_ID"] %>
97
+ secret_access_key: <%%= ENV["AWS_SECRET_ACCESS_KEY"] %>
98
+ region: <%%= ENV["AWS_REGION"] %>
99
+ bucket: <%%= ENV["AWS_BUCKET"] %>
100
+ endpoint: <%%= ENV["AWS_ENDPOINT"] %>
101
+ azure:
102
+ storage_access_key: <%%= ENV["AZURE_STORAGE_ACCESS_KEY"] %>
103
+ storage_account_name: <%%= ENV["AZURE_STORAGE_ACCOUNT_NAME"] %>
104
+ container: <%%= ENV["AZURE_CONTAINER"] %>
105
+ gcs:
106
+ project: <%%= ENV["GCS_PROJECT"] %>
107
+ bucket: <%%= ENV["GCS_BUCKET"] %>
108
+ type: <%%= Decidim::Env.new("GCS_TYPE", "service_account").to_s %>
109
+ project_id: <%%= Decidim::Env.new("GCS_PROJECT_ID").to_s %>
110
+ private_key_id: <%%= Decidim::Env.new("GCS_PRIVATE_KEY_ID").to_s %>
111
+ private_key: <%%= Decidim::Env.new("GCS_PRIVATE_KEY").to_s %>
112
+ client_email: <%%= Decidim::Env.new("GCS_CLIENT_EMAIL").to_s %>
113
+ client_id: <%%= Decidim::Env.new("GCS_CLIENT_ID").to_s %>
114
+ auth_uri: <%%= Decidim::Env.new("GCS_AUTH_URI", "https://accounts.google.com/o/oauth2/auth").to_s %>
115
+ token_uri: <%%= Decidim::Env.new("GCS_TOKEN_URI", "https://accounts.google.com/o/oauth2/token").to_s %>
116
+ auth_provider_x509_cert_url: <%%= Decidim::Env.new("GCS_AUTH_PROVIDER_X509_CERT_URL", "https://www.googleapis.com/oauth2/v1/certs").to_s %>
117
+ client_x509_cert_url: <%%= Decidim::Env.new("GCS_CLIENT_X509_CERT_URL").to_s %>
118
+
23
119
  default: &default
120
+ decidim:
121
+ <<: *decidim_default
24
122
  omniauth:
25
123
  facebook:
26
- # It must be a boolean. Remember ENV variables doesn't support booleans.
27
- enabled: false
124
+ enabled: <%%= Decidim::Env.new("OMNIAUTH_FACEBOOK_APP_ID").to_boolean_string %>
28
125
  app_id: <%%= ENV["OMNIAUTH_FACEBOOK_APP_ID"] %>
29
126
  app_secret: <%%= ENV["OMNIAUTH_FACEBOOK_APP_SECRET"] %>
30
127
  twitter:
31
- enabled: false
128
+ enabled: <%%= Decidim::Env.new("OMNIAUTH_TWITTER_API_KEY").to_boolean_string %>
32
129
  api_key: <%%= ENV["OMNIAUTH_TWITTER_API_KEY"] %>
33
130
  api_secret: <%%= ENV["OMNIAUTH_TWITTER_API_SECRET"] %>
34
131
  google_oauth2:
35
- enabled: false
132
+ enabled: <%%= Decidim::Env.new("OMNIAUTH_GOOGLE_CLIENT_ID").to_boolean_string %>
36
133
  icon_path: decidim/brands/google.svg
37
134
  client_id: <%%= ENV["OMNIAUTH_GOOGLE_CLIENT_ID"] %>
38
135
  client_secret: <%%= ENV["OMNIAUTH_GOOGLE_CLIENT_SECRET"] %>
39
136
  maps:
40
- api_key: <%%= ENV["MAPS_API_KEY"] %>
137
+ dynamic_provider: <%%= Decidim::Env.new("MAPS_DYNAMIC_PROVIDER", ENV["MAPS_PROVIDER"]).to_s %>
138
+ static_provider: <%%= Decidim::Env.new("MAPS_STATIC_PROVIDER", ENV["MAPS_PROVIDER"]).to_s %>
139
+ static_api_key: <%%= Decidim::Env.new("MAPS_STATIC_API_KEY", ENV["MAPS_API_KEY"]).to_s %>
140
+ dynamic_api_key: <%%= Decidim::Env.new("MAPS_DYNAMIC_API_KEY", ENV["MAPS_API_KEY"]).to_s %>
141
+ dynamic_url: <%%= ENV["MAPS_DYNAMIC_URL"] %>
142
+ static_url: <%%= ENV["MAPS_STATIC_URL"] %>
143
+ attribution: <%%= ENV["MAPS_ATTRIBUTION"].to_json %>
144
+ extra_vars: <%%= ENV["MAPS_EXTRA_VARS"].to_json %>
145
+ geocoding_host: <%%= ENV["MAPS_GEOCODING_HOST"] %>
41
146
  etherpad:
42
147
  server: <%%= ENV["ETHERPAD_SERVER"] %>
43
148
  api_key: <%%= ENV["ETHERPAD_API_KEY"] %>
44
- api_version: "1.2.1"
149
+ api_version: <%%= Decidim::Env.new("ETHERPAD_API_VERSION", "1.2.1") %>
45
150
  elections:
46
151
  <<: *elections_default
152
+ storage:
153
+ <<: *storage_default
154
+ vapid:
155
+ enabled: <%%= Decidim::Env.new("VAPID_PUBLIC_KEY").to_boolean_string %>
156
+ public_key: <%%= ENV["VAPID_PUBLIC_KEY"] %>
157
+ private_key: <%%= ENV["VAPID_PRIVATE_KEY"] %>
47
158
 
48
159
  development:
49
160
  <<: *default
@@ -71,7 +182,7 @@ test:
71
182
  client_secret:
72
183
  elections:
73
184
  <<: *elections_default
74
- bulletin_board_server: <%%= ENV["ELECTIONS_BULLETIN_BOARD_SERVER"] || 'http://bulletin-board.lvh.me:5017/api' %>
185
+ bulletin_board_server: <%%= Decidim::Env.new("ELECTIONS_BULLETIN_BOARD_SERVER", 'http://bulletin-board.lvh.me:5017/api').to_s %>
75
186
 
76
187
 
77
188
  # Do not keep production secrets in the repository,
@@ -83,15 +194,23 @@ production:
83
194
  smtp_password: <%%= ENV["SMTP_PASSWORD"] %>
84
195
  smtp_address: <%%= ENV["SMTP_ADDRESS"] %>
85
196
  smtp_domain: <%%= ENV["SMTP_DOMAIN"] %>
86
- smtp_port: "587"
87
- smtp_starttls_auto: true
88
- smtp_authentication: "plain"
197
+ smtp_port: <%%= Decidim::Env.new("SMTP_PORT", 587).to_i %>
198
+ smtp_starttls_auto: <%%= Decidim::Env.new("SMTP_STARTTLS_AUTO").to_boolean_string %>
199
+ smtp_authentication: <%%= Decidim::Env.new("SMTP_AUTHENTICATION", "plain").to_s %>
89
200
  elections:
90
201
  bulletin_board_server: <%%= ENV["BULLETIN_BOARD_SERVER"] %>
91
202
  bulletin_board_public_key: <%%= ENV["BULLETIN_BOARD_PUBLIC_KEY"] %>
92
203
  authority_api_key: <%%= ENV["BULLETIN_BOARD_API_KEY"] %>
93
204
  authority_name: <%%= ENV["AUTHORITY_NAME"] %>
94
205
  authority_private_key: <%%= ENV["AUTHORITY_PRIVATE_KEY"] %>
95
- scheme_name: <%%= ENV["ELECTIONS_SCHEME_NAME"] %>
96
- number_of_trustees: <%%= ENV["ELECTIONS_NUMBER_OF_TRUSTEES"] %>
97
- quorum: <%%= ENV["ELECTIONS_QUORUM"] %>
206
+ scheme_name: <%%= Decidim::Env.new("ELECTIONS_SCHEME_NAME", "electionguard").to_s %>
207
+ number_of_trustees: <%%= Decidim::Env.new("ELECTIONS_NUMBER_OF_TRUSTEES").to_i %>
208
+ quorum: <%%= Decidim::Env.new("ELECTIONS_QUORUM").to_i %>
209
+ setup_minimum_hours_before_start: <%%= Decidim::Env.new("ELECTIONS_SETUP_MINIMUM_HOURS_BEFORE_START", 3).to_i %>
210
+ start_vote_maximum_hours_before_start: <%%= Decidim::Env.new("ELECTIONS_START_VOTE_MAXIMUM_HOURS_BEFORE_START", 6).to_i %>
211
+ voter_token_expiration_minutes: <%%= Decidim::Env.new("ELECTIONS_VOTER_TOKEN_EXPIRATION_MINUTES", 120).to_i %>
212
+ votings:
213
+ check_census_max_requests: <%%= Decidim::Env.new("VOTINGS_CHECK_CENSUS_MAX_REQUESTS", 5).to_i %>
214
+ throttling_period: <%%= Decidim::Env.new("VOTINGS_THROTTLING_PERIOD", 1).to_i %>
215
+ census:
216
+ access_codes_export_expiry_time: <%%= Decidim::Env.new("VOTINGS_CENSUS_ACCESS_CODES_EXPORT_EXPIRY_TIME", 2).to_i %>
@@ -0,0 +1,16 @@
1
+ :concurrency: <%%= ENV.fetch("SIDEKIQ_CONCURRENCY", 5) %>
2
+ :queues:
3
+ - [mailers, 4]
4
+ - [vote_reminder, 2]
5
+ - [reminders, 2]
6
+ - [default, 2]
7
+ - [newsletter, 2]
8
+ - [newsletters_opt_in, 2]
9
+ - [conference_diplomas, 2]
10
+ - [events, 2]
11
+ - [translations, 2]
12
+ - [user_report, 2]
13
+ - [block_user, 2]
14
+ - [metrics, 1]
15
+ - [exports, 1]
16
+ - [close_meeting_reminder, 1]
@@ -0,0 +1,42 @@
1
+ test:
2
+ service: Disk
3
+ root: <%%= Rails.root.join("tmp/storage") %>
4
+
5
+ local:
6
+ service: Disk
7
+ root: <%%= Rails.root.join("storage") %>
8
+
9
+ s3:
10
+ service: S3
11
+ access_key_id: <%%= Rails.application.secrets.dig(:storage, :s3, :access_key_id) %>
12
+ secret_access_key: <%%= Rails.application.secrets.dig(:storage, :s3, :secret_access_key) %>
13
+ bucket: <%%= Rails.application.secrets.dig(:storage, :s3, :bucket) %>
14
+ <%%= "region: #{Rails.application.secrets.dig(:storage, :s3, :region)}" if Rails.application.secrets.dig(:storage, :s3, :region) %>
15
+ <%%= "endpoint: #{Rails.application.secrets.dig(:storage, :s3, :endpoint)}" if Rails.application.secrets.dig(:storage, :s3, :endpoint) %>
16
+
17
+ azure:
18
+ service: AzureStorage
19
+ storage_account_name: <%%= Rails.application.secrets.dig(:storage, :azure, :storage_account_name) %>
20
+ storage_access_key: <%%= Rails.application.secrets.dig(:storage, :azure, :storage_access_key) %>
21
+ container: <%%= Rails.application.secrets.dig(:storage, :azure, :container) %>
22
+
23
+ gcs:
24
+ service: GCS
25
+ project: <%%= Rails.application.secrets.dig(:storage, :gcs, :project) %>
26
+ bucket: <%%= Rails.application.secrets.dig(:storage, :gcs, :bucket) %>
27
+ credentials:
28
+ type: <%%= Rails.application.secrets.dig(:storage, :gcs, :type) %>
29
+ project_id: <%%= Rails.application.secrets.dig(:storage, :gcs, :project_id) %>
30
+ private_key_id: <%%= Rails.application.secrets.dig(:storage, :gcs, :private_key_id) %>
31
+ private_key: <%%= Rails.application.secrets.dig(:storage, :gcs, :private_key) %>
32
+ client_email: <%%= Rails.application.secrets.dig(:storage, :gcs, :client_email) %>
33
+ client_id: <%%= Rails.application.secrets.dig(:storage, :gcs, :client_id) %>
34
+ auth_uri: <%%= Rails.application.secrets.dig(:storage, :gcs, :auth_uri) %>
35
+ token_uri: <%%= Rails.application.secrets.dig(:storage, :gcs, :token_uri) %>
36
+ auth_provider_x509_cert_url: <%%= Rails.application.secrets.dig(:storage, :gcs, :auth_provider_x509_cert_url) %>
37
+ client_x509_cert_url: <%%= Rails.application.secrets.dig(:storage, :gcs, :client_x509_cert_url) %>
38
+
39
+ # mirror:
40
+ # service: Mirror
41
+ # primary: local
42
+ # mirrors: [ s3, gcs, azure ]
@@ -18,9 +18,9 @@ end
18
18
 
19
19
  group :development do
20
20
  gem "faker", "~> 2.14"
21
- gem "letter_opener_web", "~> 1.3"
21
+ gem "letter_opener_web", "~> 2.0"
22
22
  gem "listen", "~> 3.1"
23
23
  gem "spring", "~> 2.0"
24
24
  gem "spring-watcher-listen", "~> 2.0"
25
- gem "web-console", "~> 4.0"
25
+ gem "web-console", "~> 4.2"
26
26
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.email = ["<%= %x[git config user.email].chomp %>"]
11
11
  s.license = "AGPL-3.0"
12
12
  s.homepage = "https://github.com/decidim/decidim-module-<%= component_name %>"
13
- s.required_ruby_version = ">= 2.7"
13
+ s.required_ruby_version = ">= 3.0"
14
14
 
15
15
  s.name = "decidim-<%= component_name %>"
16
16
  s.summary = "A decidim <%= component_name %> module"
@@ -93,12 +93,17 @@ module Decidim
93
93
 
94
94
  # Regenerate webpacker binstubs
95
95
  remove_file "bin/yarn"
96
+ bundle_install
96
97
  rails "webpacker:binstubs"
97
98
 
98
99
  # Run Decidim custom webpacker installation
99
100
  rails "decidim:webpacker:install"
100
101
  end
101
102
 
103
+ def build_api_docs
104
+ rails "decidim_api:generate_docs"
105
+ end
106
+
102
107
  def remove_old_assets
103
108
  remove_file "config/initializers/assets.rb"
104
109
  remove_dir("app/assets")
@@ -161,7 +166,9 @@ module Decidim
161
166
 
162
167
  copy_file "bullet_initializer.rb", "config/initializers/bullet.rb"
163
168
  copy_file "rack_profiler_initializer.rb", "config/initializers/rack_profiler.rb"
169
+ end
164
170
 
171
+ def bundle_install
165
172
  run "bundle install"
166
173
  end
167
174