Merge branch 'develop' into feature/account-export
authorMark Felder <feld@FreeBSD.org>
Tue, 27 Oct 2020 17:54:33 +0000 (12:54 -0500)
committerMark Felder <feld@FreeBSD.org>
Tue, 27 Oct 2020 17:54:33 +0000 (12:54 -0500)
1  2 
CHANGELOG.md
config/config.exs
config/description.exs

diff --cc CHANGELOG.md
index ec6228280a5c1e9026adf3701151f1fdbf62a5a1,ac91d4d9ee9f710990675479eb00f83296dc4281..2f49df2c9e21519ed408b6490c181aeb7cfe3f61
@@@ -12,7 -12,7 +12,8 @@@ The format is based on [Keep a Changelo
  - Media preview proxy (requires `ffmpeg` and `ImageMagick` to be installed and media proxy to be enabled; see `:media_preview_proxy` config for more details).
  - Pleroma API: Importing the mutes users from CSV files.
  - Experimental websocket-based federation between Pleroma instances.
+ - App metrics: ability to restrict access to specified IP whitelist.
 +- Account backup
  
  ### Changed
  
Simple merge
index 609ea4551e256f54a6642d2ac499f7afca9f71cc,55363c45ae655135772325f889a92deb3c707ab4..0e8285280cbb5d3909d9c3de4bbd0178e8db1e47
@@@ -3723,24 -3717,41 +3723,61 @@@ config :pleroma, :config_description, 
        }
      ]
    },
 +  %{
 +    group: :pleroma,
 +    key: Pleroma.User.Backup,
 +    type: :group,
 +    description: "Account Backup",
 +    children: [
 +      %{
 +        key: :purge_after_days,
 +        type: :integer,
 +        description: "Remove backup achives after N days",
 +        suggestions: [30]
 +      },
 +      %{
 +        key: :limit_days,
 +        type: :integer,
 +        description: "Limit user to export not more often than once per N days",
 +        suggestions: [7]
 +      }
 +    ]
++  },
+   %{
+     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,
+         type: [{:list, :string}, {:list, :charlist}, {:list, :tuple}],
+         description:
+           "[Pleroma extension] If non-empty, restricts access to app metrics endpoint to 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]
+       }
+     ]
    }
  ]