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.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/Gemfile.lock +310 -279
- data/exe/decidim +28 -1
- data/lib/decidim/generators/app_generator.rb +130 -13
- data/lib/decidim/generators/app_templates/database.yml.erb +1 -1
- data/lib/decidim/generators/app_templates/dummy_authorization_handler.rb +1 -1
- data/lib/decidim/generators/app_templates/initializer.rb +214 -23
- data/lib/decidim/generators/app_templates/secrets.yml.erb +133 -14
- data/lib/decidim/generators/app_templates/sidekiq.yml.erb +16 -0
- data/lib/decidim/generators/app_templates/storage.yml.erb +42 -0
- data/lib/decidim/generators/component_templates/Gemfile.erb +2 -2
- data/lib/decidim/generators/component_templates/decidim-component.gemspec.erb +1 -1
- data/lib/decidim/generators/install_generator.rb +7 -0
- data/lib/decidim/generators/test/generator_examples.rb +1074 -0
- data/lib/decidim/generators/version.rb +1 -1
- metadata +13 -10
@@ -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: <%%=
|
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
|
-
|
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:
|
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:
|
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
|
-
|
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: <%%=
|
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:
|
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: <%%=
|
96
|
-
number_of_trustees: <%%=
|
97
|
-
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", "~>
|
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.
|
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 = ">=
|
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
|
|