Commit Graph

540 Commits

Author SHA1 Message Date
a6e3877b8a DEV: use request_path instead of script_name to find static file requests. (#11986)
`script_name` env variable would be empty for public static assets.
2021-02-05 09:09:55 +05:30
024f2720f3 DEV: apply cdn headers to public javascripts endpoint too. (#11942)
It will add CORS header `Access-Control-Allow-Origin: '*'` to the files inside `public/javascripts` folder.
2021-02-03 20:15:52 +05:30
a5923ad603 DEV: apply allow origin response header for CDN requests. (#11893)
Currently, it creates a CORS error while accessing those static files.
2021-01-29 07:44:49 +05:30
Sam
c3fedae73a DEV: update rack-mini-profiler (#11597)
Included support for flamegraphs using speedscope!
2020-12-29 13:54:41 +11:00
f84ff26aa9 FIX: use Redis replica host and port (#11566)
Introduce Redis `replica` config and deprecate `slave`
2020-12-23 13:14:19 +11:00
07bf7a91f4 Revert "FIX: use Redis replica host and port (#11543)" (#11552)
This reverts commit b0e1210b0cbd96ff0aa1669c7f8393b8340991e8.
2020-12-22 16:16:50 +11:00
b0e1210b0c FIX: use Redis replica host and port (#11543)
* FIX: use Redis replica host and port

Introduce Redis `replica` config and deprecate `slave`

* FIX: move deprecations to separate file
2020-12-22 15:52:00 +11:00
5289fc7886 FIX: Improve failover for multisite clusters (#11150)
- Bump rails_failover for new per-backend callback feature
- If the master backend fails over, make all sites readonly. And vice-versa for fallback
- If a single backend fails over, make that individual site readonly. And vice-versa for fallback
- When a single backend fails, also check connection to the master backend
2020-11-11 10:27:24 +00:00
84a1f15791 DEV: Track redis calls count in mini profiler (#11088) 2020-10-30 19:11:22 +03:00
af4938baf1 Revert "DEV: enable cors to all cdn get requests from workbox. (#10684)" (#11076)
This reverts commit e3de45359f9bc7a71d9b8045a7e369fd0cf8f433.

We need to improve out strategy by adding a cache breaker with this change ... some assets on CDNs and clients may have incorrect CORS headers which can cause stuff to break.
2020-10-30 16:05:35 +11:00
72810853ea FIX: strip the trailing slash (/) of cors origins. (#10996)
Strips trailing `/` from global settings
Provides a validation for site settings to ensure a trailing `/` is not added
2020-10-29 13:01:06 +11:00
e3de45359f DEV: enable cors to all cdn get requests from workbox. (#10685)
Now all external requests from the service worker will be in CORS mode without credentials.
2020-10-28 23:36:19 +05:30
a04c300495 DEV: Add optional ENV variables for MiniProfiler snapshots transporter (#10985) 2020-10-21 19:37:28 +03:00
cabbc32024 FIX: Scheduled jobs not showing up in /sidekiq/schedule in dev. 2020-10-08 10:24:51 +08:00
a4356b99af FEATURE: Separate base and heading font site_settings (#10807)
Allows site administrators to pick different fonts for headings in the wizard and in their site settings. Also correctly displays the header logos in wizard previews.
2020-10-05 13:40:41 -04:00
ce686a008f DEV: Refresh site settings on Redis fallback (#10700)
This ensures that all app instances have up-to-date data, even if they missed a message-bus update during the failover
2020-09-18 11:44:25 +01:00
d83d9ec408 DEV: Clear all DistributedCache on Redis fallback. 2020-09-18 11:31:49 +08:00
a92d88747e DEV: Add ENV variable for enabling MiniProfiler snapshots (#10690)
* DEV: Add ENV variable for enabling MiniProfiler snapshots

* MiniProfiler is not loaded in test env
2020-09-17 18:18:35 +03:00
6e69c25134 FIX: Use asset_hostnames in rails_multisite
We want to respond to the x-forwarded-for host from the CDN too.
2020-09-17 10:32:43 +01:00
6610576deb FIX: Clear stylesheet cache on base font change
Previously, we were not clearing the cache on themes using the default
color scheme.
2020-09-15 13:13:09 -04:00
19b24e178c SECURITY: __ws shouldn't be able to override every domain in multisite 2020-09-15 17:35:57 +01:00
58b97ace23 DEV: Use a special import to declare font faces (#10583)
Update discourse-fonts to v0.0.3.

Follow-up to 7b7357147e458c5c4b268a3ae9a8d40515fb526d.
2020-09-04 16:25:50 +03:00
069a109cbb DEV: Require scheduled job in development to avoid loading file twice.
This removes the need to memoize constant in order to avoid the "warning: already initialized constant".
2020-09-01 10:14:40 +08:00
09a89cff1a DEV: Increase log levels for more assets/static paths. 2020-09-01 09:52:50 +08:00
20bd6d9797 DEV: Only eagerload scheduled jobs in a Sidekiq process. 2020-08-31 14:28:38 +08:00
23778f4bfd DEV: Avoid logging Redis cannot connect error during failover.
Reduce amount of noise in our logs.
2020-07-21 14:53:46 +08:00
df66a559c9 DEV: Pause Sidekiq before readonly mode during PG failover. 2020-07-21 13:51:37 +08:00
031a6616a3 DEV: Allow writes to PG even if Redis is readonly mode.
Previously, I thought it was better to drop the site into reading mode
when Redis has failed over to the replica but it created more errors
while Redis is in readonly mode since ActiveRecord would prevent us from
writing to PG even though PG is up.
2020-07-21 12:34:07 +08:00
383537a2fa DEV: Force ActiveRecord reading role on Redis failover take 2. 2020-07-20 16:11:20 +08:00
5adf2ccaca DEV: Force ActiveRecord reading role on Redis failover. 2020-07-20 15:10:53 +08:00
54d002f7db DEV: Fix error introduced in d5c56a846. 2020-07-13 10:13:37 +08:00
d5c56a846a DEV: Only failover the entire cluster when the default db goes down. 2020-07-09 11:49:03 +08:00
fd38c2fac3 FIX: Force ActiveRecord reading role if Redis is down take 2.
follow-up f03c7a1ba1cf
2020-07-09 11:14:19 +08:00
f03c7a1ba1 FIX: Force ActiveRecord reading role if Redis is down. 2020-07-09 11:13:02 +08:00
82964265cc DEV: Remove logster current context config.
Multisite middleware sits at the top of the middleware stack.
2020-07-01 11:44:22 +08:00
2c4c953bf8 DEV: Avoid logging errors on bad Redis connection during PG failover. 2020-06-29 11:54:55 +08:00
42a6c8a85f DEV: Rescue from ActiveRecord::Readonly error in lograge. 2020-06-25 10:25:28 +08:00
27b2e335ef DEV: Retry on distributed mutex timeout error when starting sidekiq.
We need Sidekiq to start `mini_scheduler` no matter what. Timeouts
happen when trying to boot an app with Redis in readonly mode.
2020-06-23 15:43:28 +08:00
def4cd33ea DEV: Disable Redis warnings. 2020-06-16 12:53:04 +08:00
c611f3703c DEV: Don't use logster when logging in Redis failover. 2020-06-16 11:53:52 +08:00
b08a0d15c4 DEV: Fix undefined method due to rails_failover. 2020-06-16 11:03:57 +08:00
092ae858af DEV: Bump rails_failover.
Avoid configuring AR stuff if `replica_host` and `replica_port` hasn't
been provided.
2020-06-16 10:51:21 +08:00
402b80f306 DEV: Make rails_failover compatible with SKIP_DB_AND_REDIS env. 2020-06-15 16:23:24 +08:00
e0d798c06c DEV: Fix undefined method. 2020-06-15 16:04:41 +08:00
e0fdf41537 DEV: Don't configure rails_failover is db and redis is skipped. 2020-06-15 15:56:57 +08:00
58e52c0e4f DEV: Use rails_failover gem for ActiveRecord and Redis failover handling 2020-06-15 15:47:07 +08:00
0ff86b00cb DEV: Upgrade Redis to 4.2.1. 2020-06-15 10:05:22 +08:00
c9964b95ce DEV: Increase log level for /srv/status route.
This reduces the amount of noise in our logs.
2020-06-12 12:17:28 +08:00
78b5ab746c DEV: No longer need to clear anon cache when toggling readonly mode. 2020-06-12 09:58:17 +08:00
dc4071dfef DEV: Use Rails.logger instead of logster for rails_failover callbacks
`Discourse.warn_exception` logs to logger by default but it means we
lose all the backtrace when the logs are written to the log file.
2020-06-11 17:24:32 +08:00