summaryrefslogtreecommitdiff
path: root/config/description.exs
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-04-29 11:14:32 -0500
committerAlex Gleason <alex@alexgleason.me>2021-04-29 11:14:32 -0500
commit762be6ce10d2145e8e31d42c5d1a0bab93dbe7b0 (patch)
tree0416ef7020ba2b333cb223200d7108928f714fde /config/description.exs
parentb7b05a074867c1444dd539d6d2331f6d5504f6e6 (diff)
parent115673bce773f91630c3bd4fd2d0023f92bee163 (diff)
Merge remote-tracking branch 'upstream/develop' into block-behaviorblock-behavior
Diffstat (limited to 'config/description.exs')
-rw-r--r--config/description.exs332
1 files changed, 206 insertions, 126 deletions
diff --git a/config/description.exs b/config/description.exs
index 04485bcfd..e12307cb1 100644
--- a/config/description.exs
+++ b/config/description.exs
@@ -60,6 +60,12 @@ frontend_options = [
label: "Build directory",
type: :string,
description: "The directory inside the zip file "
+ },
+ %{
+ key: "custom-http-headers",
+ label: "Custom HTTP headers",
+ type: {:list, :string},
+ description: "The custom HTTP headers for the frontend"
}
]
@@ -93,7 +99,8 @@ config :pleroma, :config_description, [
key: :base_url,
label: "Base URL",
type: :string,
- description: "Base URL for the uploads, needed if you use CDN",
+ description:
+ "Base URL for the uploads. Required if you use a CDN or host attachments under a different domain.",
suggestions: [
"https://cdn-host.com"
]
@@ -150,17 +157,11 @@ config :pleroma, :config_description, [
suggestions: ["pleroma"]
},
%{
- key: :public_endpoint,
- type: :string,
- description: "S3 endpoint",
- suggestions: ["https://s3.amazonaws.com"]
- },
- %{
key: :truncated_namespace,
type: :string,
description:
"If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc." <>
- " For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in public_endpoint."
+ " For example, when using CDN to S3 virtual host format, set \"\". At this time, write CNAME to CDN in Upload base_url."
},
%{
key: :streaming_enabled,
@@ -215,252 +216,215 @@ config :pleroma, :config_description, [
description: "Mailer-related settings",
children: [
%{
+ key: :enabled,
+ label: "Mailer Enabled",
+ type: :boolean
+ },
+ %{
key: :adapter,
type: :module,
description:
- "One of the mail adapters listed in [Swoosh readme](https://github.com/swoosh/swoosh#adapters)," <>
- " or Swoosh.Adapters.Local for in-memory mailbox",
+ "One of the mail adapters listed in [Swoosh documentation](https://hexdocs.pm/swoosh/Swoosh.html#module-adapters)",
suggestions: [
- Swoosh.Adapters.SMTP,
- Swoosh.Adapters.Sendgrid,
- Swoosh.Adapters.Sendmail,
- Swoosh.Adapters.Mandrill,
+ Swoosh.Adapters.AmazonSES,
+ Swoosh.Adapters.Dyn,
+ Swoosh.Adapters.Gmail,
Swoosh.Adapters.Mailgun,
Swoosh.Adapters.Mailjet,
+ Swoosh.Adapters.Mandrill,
Swoosh.Adapters.Postmark,
- Swoosh.Adapters.SparkPost,
- Swoosh.Adapters.AmazonSES,
- Swoosh.Adapters.Dyn,
+ Swoosh.Adapters.SMTP,
+ Swoosh.Adapters.Sendgrid,
+ Swoosh.Adapters.Sendmail,
Swoosh.Adapters.SocketLabs,
- Swoosh.Adapters.Gmail,
- Swoosh.Adapters.Local
+ Swoosh.Adapters.SparkPost
]
},
%{
- key: :enabled,
- type: :boolean,
- description: "Allow/disallow send emails"
- },
- %{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :relay,
type: :string,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
- suggestions: ["smtp.gmail.com"]
+ description: "Hostname or IP address",
+ suggestions: ["smtp.example.com"]
+ },
+ %{
+ group: {:subgroup, Swoosh.Adapters.SMTP},
+ key: :port,
+ type: :integer,
+ description: "SMTP port",
+ suggestions: ["1025"]
},
%{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :username,
type: :string,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
- suggestions: ["pleroma"]
+ description: "SMTP AUTH username",
+ suggestions: ["user@example.com"]
},
%{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :password,
type: :string,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
+ description: "SMTP AUTH password",
suggestions: ["password"]
},
%{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :ssl,
- label: "SSL",
+ label: "Use SSL",
type: :boolean,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting"
+ description: "Use Implicit SSL/TLS. e.g. port 465"
},
%{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :tls,
- label: "TLS",
- type: :atom,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
- suggestions: [:always, :never, :if_available]
+ label: "STARTTLS Mode",
+ type: {:dropdown, :atom},
+ description: "Explicit TLS (STARTTLS) enforcement mode",
+ suggestions: [:if_available, :always, :never]
},
%{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :auth,
- type: :atom,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
- suggestions: [:always, :never, :if_available]
- },
- %{
- group: {:subgroup, Swoosh.Adapters.SMTP},
- key: :port,
- type: :integer,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
- suggestions: [1025]
+ label: "AUTH Mode",
+ type: {:dropdown, :atom},
+ description: "SMTP AUTH enforcement mode",
+ suggestions: [:if_available, :always, :never]
},
%{
group: {:subgroup, Swoosh.Adapters.SMTP},
key: :retries,
type: :integer,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting",
- suggestions: [5]
- },
- %{
- group: {:subgroup, Swoosh.Adapters.SMTP},
- key: :no_mx_lookups,
- label: "No MX lookups",
- type: :boolean,
- description: "`Swoosh.Adapters.SMTP` adapter specific setting"
+ description: "SMTP temporary (4xx) error retries",
+ suggestions: [1]
},
%{
group: {:subgroup, Swoosh.Adapters.Sendgrid},
key: :api_key,
- label: "API key",
+ label: "SendGrid API Key",
type: :string,
- description: "`Swoosh.Adapters.Sendgrid` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["YOUR_API_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.Sendmail},
key: :cmd_path,
type: :string,
- description: "`Swoosh.Adapters.Sendmail` adapter specific setting",
suggestions: ["/usr/bin/sendmail"]
},
%{
group: {:subgroup, Swoosh.Adapters.Sendmail},
key: :cmd_args,
type: :string,
- description: "`Swoosh.Adapters.Sendmail` adapter specific setting",
suggestions: ["-N delay,failure,success"]
},
%{
group: {:subgroup, Swoosh.Adapters.Sendmail},
key: :qmail,
- type: :boolean,
- description: "`Swoosh.Adapters.Sendmail` adapter specific setting"
+ label: "Qmail compat mode",
+ type: :boolean
},
%{
group: {:subgroup, Swoosh.Adapters.Mandrill},
key: :api_key,
- label: "API key",
+ label: "Mandrill API Key",
type: :string,
- description: "`Swoosh.Adapters.Mandrill` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["YOUR_API_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.Mailgun},
key: :api_key,
- label: "API key",
+ label: "Mailgun API Key",
type: :string,
- description: "`Swoosh.Adapters.Mailgun` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["YOUR_API_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.Mailgun},
key: :domain,
type: :string,
- description: "`Swoosh.Adapters.Mailgun` adapter specific setting",
- suggestions: ["pleroma.com"]
+ suggestions: ["YOUR_DOMAIN_NAME"]
},
%{
group: {:subgroup, Swoosh.Adapters.Mailjet},
key: :api_key,
- label: "API key",
+ label: "MailJet Public API Key",
type: :string,
- description: "`Swoosh.Adapters.Mailjet` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["MJ_APIKEY_PUBLIC"]
},
%{
group: {:subgroup, Swoosh.Adapters.Mailjet},
key: :secret,
+ label: "MailJet Private API Key",
type: :string,
- description: "`Swoosh.Adapters.Mailjet` adapter specific setting",
- suggestions: ["my-secret-key"]
+ suggestions: ["MJ_APIKEY_PRIVATE"]
},
%{
group: {:subgroup, Swoosh.Adapters.Postmark},
key: :api_key,
- label: "API key",
+ label: "Postmark API Key",
type: :string,
- description: "`Swoosh.Adapters.Postmark` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["X-Postmark-Server-Token"]
},
%{
group: {:subgroup, Swoosh.Adapters.SparkPost},
key: :api_key,
- label: "API key",
+ label: "SparkPost API key",
type: :string,
- description: "`Swoosh.Adapters.SparkPost` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["YOUR_API_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.SparkPost},
key: :endpoint,
type: :string,
- description: "`Swoosh.Adapters.SparkPost` adapter specific setting",
suggestions: ["https://api.sparkpost.com/api/v1"]
},
%{
group: {:subgroup, Swoosh.Adapters.AmazonSES},
- key: :region,
+ key: :access_key,
+ label: "AWS Access Key",
type: :string,
- description: "`Swoosh.Adapters.AmazonSES` adapter specific setting",
- suggestions: ["us-east-1", "us-east-2"]
+ suggestions: ["AWS_ACCESS_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.AmazonSES},
- key: :access_key,
+ key: :secret,
+ label: "AWS Secret Key",
type: :string,
- description: "`Swoosh.Adapters.AmazonSES` adapter specific setting",
- suggestions: ["aws-access-key"]
+ suggestions: ["AWS_SECRET_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.AmazonSES},
- key: :secret,
+ key: :region,
+ label: "AWS Region",
type: :string,
- description: "`Swoosh.Adapters.AmazonSES` adapter specific setting",
- suggestions: ["aws-secret-key"]
+ suggestions: ["us-east-1", "us-east-2"]
},
%{
group: {:subgroup, Swoosh.Adapters.Dyn},
key: :api_key,
- label: "API key",
+ label: "Dyn API Key",
type: :string,
- description: "`Swoosh.Adapters.Dyn` adapter specific setting",
- suggestions: ["my-api-key"]
+ suggestions: ["apikey"]
},
%{
group: {:subgroup, Swoosh.Adapters.SocketLabs},
- key: :server_id,
+ key: :api_key,
+ label: "SocketLabs API Key",
type: :string,
- description: "`Swoosh.Adapters.SocketLabs` adapter specific setting"
+ suggestions: ["INJECTION_API_KEY"]
},
%{
group: {:subgroup, Swoosh.Adapters.SocketLabs},
- key: :api_key,
- label: "API key",
+ key: :server_id,
+ label: "Server ID",
type: :string,
- description: "`Swoosh.Adapters.SocketLabs` adapter specific setting"
+ suggestions: ["SERVER_ID"]
},
%{
group: {:subgroup, Swoosh.Adapters.Gmail},
key: :access_token,
+ label: "GMail API Access Token",
type: :string,
- description: "`Swoosh.Adapters.Gmail` adapter specific setting"
- }
- ]
- },
- %{
- group: :swoosh,
- type: :group,
- description: "`Swoosh.Adapters.Local` adapter specific settings",
- children: [
- %{
- group: {:subgroup, Swoosh.Adapters.Local},
- key: :serve_mailbox,
- type: :boolean,
- description: "Run the preview server together as part of your app"
- },
- %{
- group: {:subgroup, Swoosh.Adapters.Local},
- key: :preview_port,
- type: :integer,
- description: "The preview server port",
- suggestions: [4001]
+ suggestions: ["GMAIL_API_ACCESS_TOKEN"]
}
]
},
@@ -497,6 +461,42 @@ config :pleroma, :config_description, [
},
%{
group: :pleroma,
+ key: :features,
+ type: :group,
+ description: "Customizable features",
+ children: [
+ %{
+ key: :improved_hashtag_timeline,
+ type: {:dropdown, :atom},
+ description:
+ "Setting to force toggle / force disable improved hashtags timeline. `:enabled` forces hashtags to be fetched from `hashtags` table for hashtags timeline. `:disabled` forces object-embedded hashtags to be used (slower). Keep it `:auto` for automatic behaviour (it is auto-set to `:enabled` [unless overridden] when HashtagsTableMigrator completes).",
+ suggestions: [:auto, :enabled, :disabled]
+ }
+ ]
+ },
+ %{
+ group: :pleroma,
+ key: :populate_hashtags_table,
+ type: :group,
+ description: "`populate_hashtags_table` background migration settings",
+ children: [
+ %{
+ key: :fault_rate_allowance,
+ type: :float,
+ description:
+ "Max accepted rate of objects that failed in the migration. Any value from 0.0 which tolerates no errors to 1.0 which will enable the feature even if hashtags transfer failed for all records.",
+ suggestions: [0.01]
+ },
+ %{
+ key: :sleep_interval_ms,
+ type: :integer,
+ description:
+ "Sleep interval between each chunk of processed records in order to decrease the load on the system (defaults to 0 and should be keep default on most instances)."
+ }
+ ]
+ },
+ %{
+ group: :pleroma,
key: :instance,
type: :group,
description: "Instance-related settings",
@@ -1545,7 +1545,8 @@ config :pleroma, :config_description, [
%{
key: :max_body_length,
type: :integer,
- description: "Maximum file size allowed through the Pleroma MediaProxy cache."
+ description:
+ "Maximum file size (in bytes) allowed through the Pleroma MediaProxy cache."
},
%{
key: :max_read_duration,
@@ -1595,7 +1596,7 @@ config :pleroma, :config_description, [
key: :min_content_length,
type: :integer,
description:
- "Min content length to perform preview, in bytes. If greater than 0, media smaller in size will be served as is, without thumbnailing."
+ "Min content length (in bytes) to perform preview. Media smaller in size will be served without thumbnailing."
}
]
},
@@ -1633,13 +1634,21 @@ config :pleroma, :config_description, [
group: :pleroma,
key: Pleroma.Web.MediaProxy.Invalidation.Script,
type: :group,
- description: "Script invalidate settings",
+ description: "Invalidation script settings",
children: [
%{
key: :script_path,
type: :string,
- description: "Path to shell script. Which will run purge cache.",
+ description: "Path to executable script which will purge cached items.",
suggestions: ["./installation/nginx-cache-purge.sh.example"]
+ },
+ %{
+ key: :url_format,
+ label: "URL Format",
+ type: :string,
+ description:
+ "Optional URL format preprocessing. Only required for Apache's htcacheclean.",
+ suggestions: [":htcacheclean"]
}
]
},
@@ -2886,7 +2895,7 @@ config :pleroma, :config_description, [
type: :integer,
description:
"Activity pub routes (except question activities). Default: `nil` (no expiration).",
- suggestions: [30_000, nil]
+ suggestions: [nil]
},
%{
key: :activity_pub_question,
@@ -2940,6 +2949,23 @@ config :pleroma, :config_description, [
},
%{
group: :pleroma,
+ key: :mrf_follow_bot,
+ tab: :mrf,
+ related_policy: "Pleroma.Web.ActivityPub.MRF.FollowBotPolicy",
+ label: "MRF FollowBot Policy",
+ type: :group,
+ description: "Automatically follows newly discovered accounts.",
+ children: [
+ %{
+ key: :follower_nickname,
+ type: :string,
+ description: "The name of the bot account to use for following newly discovered users.",
+ suggestions: ["followbot"]
+ }
+ ]
+ },
+ %{
+ group: :pleroma,
key: :modules,
type: :group,
description: "Custom Runtime Modules",
@@ -3222,6 +3248,12 @@ config :pleroma, :config_description, [
type: :string,
description: "S3 host",
suggestions: ["s3.eu-central-1.amazonaws.com"]
+ },
+ %{
+ key: :region,
+ type: :string,
+ description: "S3 region (for AWS)",
+ suggestions: ["us-east-1"]
}
]
},
@@ -3318,9 +3350,9 @@ config :pleroma, :config_description, [
},
%{
key: :ip_whitelist,
+ label: "IP Whitelist",
type: [{:list, :string}, {:list, :charlist}, {:list, :tuple}],
- description:
- "[Pleroma extension] If non-empty, restricts access to app metrics endpoint to specified IP addresses."
+ description: "Restrict access of app metrics endpoint to the specified IP addresses."
},
%{
key: :auth,
@@ -3341,5 +3373,53 @@ config :pleroma, :config_description, [
suggestions: [:text, :protobuf]
}
]
+ },
+ %{
+ group: :pleroma,
+ key: ConcurrentLimiter,
+ type: :group,
+ description: "Limits configuration for background tasks.",
+ children: [
+ %{
+ key: Pleroma.Web.RichMedia.Helpers,
+ type: :keyword,
+ description: "Concurrent limits configuration for getting RichMedia for activities.",
+ suggestions: [max_running: 5, max_waiting: 5],
+ children: [
+ %{
+ key: :max_running,
+ type: :integer,
+ description: "Max running concurrently jobs.",
+ suggestion: [5]
+ },
+ %{
+ key: :max_waiting,
+ type: :integer,
+ description: "Max waiting jobs.",
+ suggestion: [5]
+ }
+ ]
+ },
+ %{
+ key: Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy,
+ type: :keyword,
+ description: "Concurrent limits configuration for MediaProxyWarmingPolicy.",
+ suggestions: [max_running: 5, max_waiting: 5],
+ children: [
+ %{
+ key: :max_running,
+ type: :integer,
+ description: "Max running concurrently jobs.",
+ suggestion: [5]
+ },
+ %{
+ key: :max_waiting,
+ type: :integer,
+ description: "Max waiting jobs.",
+ suggestion: [5]
+ }
+ ]
+ }
+ ]
}
]