commit: 1e23f527e3e22108b402552a0766e488048ed3f4
parent 79225d9b0adcd848502e5ba0bbbb295855a30ba0
Author: Ekaterina Vaartis <vaartis@kotobank.ch>
Date: Tue, 22 Mar 2022 20:29:17 +0300
Change the meilisearch key auth to conform to 0.25.0
Diffstat:
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/docs/configuration/search.md b/docs/configuration/search.md
@@ -47,15 +47,15 @@ you have to get the _private key_, which is actually used for authentication.
=== "OTP"
```sh
- ./bin/pleroma_ctl search.meilisearch show-private-key <your master key here>
+ ./bin/pleroma_ctl search.meilisearch show-keys <your master key here>
```
=== "From Source"
```sh
- mix pleroma.search.meilisearch show-private-key <your master key here>
+ mix pleroma.search.meilisearch show-keys <your master key here>
```
-This is the key you actually put into your configuration file.
+You will see a "Default Admin API Key", this is the key you actually put into your configuration file.
### Initial indexing
diff --git a/lib/mix/tasks/pleroma/search/meilisearch.ex b/lib/mix/tasks/pleroma/search/meilisearch.ex
@@ -22,7 +22,7 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
)
# The ranking rule syntax was changed but nothing about that is mentioned in the changelog
- if not Version.match?(meili_version, ">= 0.24.0") do
+ if not Version.match?(meili_version, ">= 0.25.0") do
raise "Meilisearch <0.24.0 not supported"
end
@@ -112,7 +112,7 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
meili_delete!("/indexes/objects/documents")
end
- def run(["show-private-key", master_key]) do
+ def run(["show-keys", master_key]) do
start_pleroma()
endpoint = Pleroma.Config.get([Pleroma.Search.Meilisearch, :url])
@@ -120,15 +120,17 @@ defmodule Mix.Tasks.Pleroma.Search.Meilisearch do
{:ok, result} =
Pleroma.HTTP.get(
Path.join(endpoint, "/keys"),
- [{"X-Meili-API-Key", master_key}]
+ [{"Authorization", "Bearer #{master_key}"}]
)
decoded = Jason.decode!(result.body)
- if decoded["private"] do
- IO.puts(decoded["private"])
+ if decoded["results"] do
+ Enum.each(decoded["results"], fn %{"description" => desc, "key" => key} ->
+ IO.puts("#{desc}: #{key}")
+ end)
else
- IO.puts("Error fetching the key, check the master key is correct: #{inspect(decoded)}")
+ IO.puts("Error fetching the keys, check the master key is correct: #{inspect(decoded)}")
end
end
diff --git a/lib/pleroma/search/meilisearch.ex b/lib/pleroma/search/meilisearch.ex
@@ -13,7 +13,7 @@ defmodule Pleroma.Search.Meilisearch do
private_key = Pleroma.Config.get([Pleroma.Search.Meilisearch, :private_key])
[{"Content-Type", "application/json"}] ++
- if is_nil(private_key), do: [], else: [{"X-Meili-API-Key", private_key}]
+ if is_nil(private_key), do: [], else: [{"Authorization", "Bearer #{private_key}"}]
end
def meili_get(path) do