From 6f2efb1c450daa75d848dab8e3729ced81ed3904 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Thu, 27 Feb 2020 18:46:05 +0300 Subject: Runtime configurability of RateLimiter. Refactoring. Disabled default rate limits in tests. --- config/test.exs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'config') diff --git a/config/test.exs b/config/test.exs index 6bea09380..a17886265 100644 --- a/config/test.exs +++ b/config/test.exs @@ -74,11 +74,7 @@ config :pleroma, Pleroma.ScheduledActivity, total_user_limit: 3, enabled: false -config :pleroma, :rate_limit, - search: [{1000, 30}, {1000, 30}], - app_account_creation: {10_000, 5}, - password_reset: {1000, 30}, - ap_routes: nil +config :pleroma, :rate_limit, %{} config :pleroma, :http_security, report_uri: "https://endpoint.com" -- cgit v1.2.3 From 04b03e476281be412d3505f514bd34d31e735214 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 29 Feb 2020 11:24:30 +0300 Subject: streamer group & Oban crontab child --- config/description.exs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'config') diff --git a/config/description.exs b/config/description.exs index aa8a8d790..bcb69bc41 100644 --- a/config/description.exs +++ b/config/description.exs @@ -1903,6 +1903,18 @@ config :pleroma, :config_description, [ suggestions: [50] } ] + }, + %{ + key: :crontab, + type: {:list, :tuple}, + description: "Settings for cron background jobs", + suggestions: [ + {"0 0 * * *", Pleroma.Workers.Cron.ClearOauthTokenWorker}, + {"0 * * * *", Pleroma.Workers.Cron.StatsWorker}, + {"* * * * *", Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker}, + {"0 0 * * 0", Pleroma.Workers.Cron.DigestEmailsWorker}, + {"0 0 * * *", Pleroma.Workers.Cron.NewUsersDigestWorker} + ] } ] }, @@ -2928,5 +2940,25 @@ config :pleroma, :config_description, [ description: "A path to custom Elixir modules (such as MRF policies)." } ] + }, + %{ + group: :pleroma, + key: :streamer, + type: :group, + description: "Settings for notifications streamer", + children: [ + %{ + key: :workers, + type: :integer, + description: "Number of workers to send notifications.", + suggestions: [3] + }, + %{ + key: :overflow_workers, + type: :integer, + description: "Maximum number of workers created if pool is empty.", + suggestions: [2] + } + ] } ] -- cgit v1.2.3 From ffcebe7e22b4c5ccaf3ba63f3ed2885ac55a6b4d Mon Sep 17 00:00:00 2001 From: rinpatch Date: Fri, 28 Feb 2020 17:44:59 +0300 Subject: timeline controller: rate limit timelines to 3 requests per 500ms per timeline per ip/user --- config/config.exs | 1 + config/description.exs | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'config') diff --git a/config/config.exs b/config/config.exs index 0dde1fc85..9c4eb70a3 100644 --- a/config/config.exs +++ b/config/config.exs @@ -599,6 +599,7 @@ config :http_signatures, config :pleroma, :rate_limit, authentication: {60_000, 15}, + timeline: {500, 3}, search: [{1000, 10}, {1000, 30}], app_account_creation: {1_800_000, 25}, relations_actions: {10_000, 10}, diff --git a/config/description.exs b/config/description.exs index bcb69bc41..9fdcfcd96 100644 --- a/config/description.exs +++ b/config/description.exs @@ -2465,6 +2465,12 @@ config :pleroma, :config_description, [ description: "For the search requests (account & status search etc.)", suggestions: [{1000, 10}, [{10_000, 10}, {10_000, 50}]] }, + %{ + key: :timeline, + type: [:tuple, {:list, :tuple}], + description: "For requests to timelines (each timeline has it's own limiter)", + suggestions: [{1000, 10}, [{10_000, 10}, {10_000, 50}]] + }, %{ key: :app_account_creation, type: [:tuple, {:list, :tuple}], -- cgit v1.2.3