key: :privileged_staff,
type: :boolean,
description:
- "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses and chats)"
+ "Let moderators access sensitive data (e.g. updating user credentials, get password reset token, delete users, index and read private statuses)"
}
]
},
}
]
},
- %{
- key: :chat_message,
- type: :keyword,
- descpiption: "Chat message settings",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "Enables sending a chat message to newly registered users"
- },
- %{
- key: :message,
- type: :string,
- description:
- "A message that will be sent to newly registered users as a chat message",
- suggestions: [
- "Hello, welcome on board!"
- ]
- },
- %{
- key: :sender_nickname,
- type: :string,
- description: "The nickname of the local user that sends a welcome chat message",
- suggestions: [
- "lain"
- ]
- }
- ]
- },
%{
key: :email,
type: :keyword,
}
]
},
- %{
- group: :pleroma,
- key: :ldap,
- label: "LDAP",
- type: :group,
- description:
- "Use LDAP for user authentication. When a user logs in to the Pleroma instance, the name and password" <>
- " will be verified by trying to authenticate (bind) to a LDAP server." <>
- " If a user exists in the LDAP directory but there is no account with the same name yet on the" <>
- " Pleroma instance then a new Pleroma account will be created with the same name as the LDAP user name.",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "Enables LDAP authentication"
- },
- %{
- key: :host,
- type: :string,
- description: "LDAP server hostname",
- suggestions: ["localhosts"]
- },
- %{
- key: :port,
- type: :integer,
- description: "LDAP port, e.g. 389 or 636",
- suggestions: [389, 636]
- },
- %{
- key: :ssl,
- label: "SSL",
- type: :boolean,
- description: "Enable to use SSL, usually implies the port 636"
- },
- %{
- key: :sslopts,
- label: "SSL options",
- type: :keyword,
- description: "Additional SSL options",
- suggestions: [cacertfile: "path/to/file/with/PEM/cacerts", verify: :verify_peer],
- children: [
- %{
- key: :cacertfile,
- type: :string,
- description: "Path to file with PEM encoded cacerts",
- suggestions: ["path/to/file/with/PEM/cacerts"]
- },
- %{
- key: :verify,
- type: :atom,
- description: "Type of cert verification",
- suggestions: [:verify_peer]
- }
- ]
- },
- %{
- key: :tls,
- label: "TLS",
- type: :boolean,
- description: "Enable to use STARTTLS, usually implies the port 389"
- },
- %{
- key: :tlsopts,
- label: "TLS options",
- type: :keyword,
- description: "Additional TLS options",
- suggestions: [cacertfile: "path/to/file/with/PEM/cacerts", verify: :verify_peer],
- children: [
- %{
- key: :cacertfile,
- type: :string,
- description: "Path to file with PEM encoded cacerts",
- suggestions: ["path/to/file/with/PEM/cacerts"]
- },
- %{
- key: :verify,
- type: :atom,
- description: "Type of cert verification",
- suggestions: [:verify_peer]
- }
- ]
- },
- %{
- key: :base,
- type: :string,
- description: "LDAP base, e.g. \"dc=example,dc=com\"",
- suggestions: ["dc=example,dc=com"]
- },
- %{
- key: :uid,
- label: "UID",
- type: :string,
- description:
- "LDAP attribute name to authenticate the user, e.g. when \"cn\", the filter will be \"cn=username,base\"",
- suggestions: ["cn"]
- }
- ]
- },
%{
group: :pleroma,
key: :auth,
}
]
},
- %{
- group: :pleroma,
- key: :shout,
- type: :group,
- description: "Pleroma shout settings",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "Enables the backend Shoutbox chat feature."
- },
- %{
- key: :limit,
- type: :integer,
- description: "Shout message character limit.",
- suggestions: [
- 5_000
- ]
- }
- ]
- },
%{
group: :pleroma,
key: :http,
description: "Admin frontend",
children: installed_frontend_options
},
+ %{
+ key: :mastodon,
+ type: :map,
+ description: "Mastodon frontend",
+ children: installed_frontend_options
+ },
+ %{
+ key: :swagger,
+ type: :map,
+ description: "Swagger API reference frontend",
+ children:
+ installed_frontend_options ++
+ [
+ %{
+ key: "enabled",
+ label: "Enabled",
+ type: :boolean,
+ description: "Whether to have this enabled at all"
+ }
+ ]
+ },
%{
key: :available,
type: :map,
}
]
},
- %{
- group: :prometheus,
- key: Pleroma.Web.Endpoint.MetricsExporter,
- type: :group,
- description: "Prometheus app metrics endpoint configuration",
- children: [
- %{
- key: :enabled,
- type: :boolean,
- description: "[Pleroma extension] Enables app metrics endpoint."
- },
- %{
- key: :ip_whitelist,
- label: "IP Whitelist",
- type: [{:list, :string}, {:list, :charlist}, {:list, :tuple}],
- description: "Restrict access of app metrics endpoint to the specified IP addresses."
- },
- %{
- key: :auth,
- type: [:boolean, :tuple],
- description: "Enables HTTP Basic Auth for app metrics endpoint.",
- suggestion: [false, {:basic, "myusername", "mypassword"}]
- },
- %{
- key: :path,
- type: :string,
- description: "App metrics endpoint URI path.",
- suggestions: ["/api/pleroma/app_metrics"]
- },
- %{
- key: :format,
- type: :atom,
- description: "App metrics endpoint output format.",
- suggestions: [:text, :protobuf]
- }
- ]
- },
%{
group: :pleroma,
key: ConcurrentLimiter,