Ошибка PostgREST при подключении в AWS с использованием секретов - PullRequest
3 голосов
/ 20 февраля 2020

В настоящее время развертывается PostgREST в AWS. Когда я использую Fargate и просто жестко прописываю тип в переменных окружения для строки подключения, машина работает как чудо. Однако недавно я заменил эти ценности секретами. В секрете я скопировал всю строку в значение и в переменной окружения я установил источник из «Value» в «ValueFrom».

Итак, значение теперь равно:

postgres://<myuser>:<mypass>@<amazon-rds-instance>:5432/<db>

Когда я использую эту строку подключения непосредственно в переменной среды, я могу легко подключиться, поэтому я знаю, что информация верна.

Журналы возвращаются со следующей ошибкой:

{ "детали": "отсутствует \" = \ "после \" {\ "postgrest_db_connection \": \ "postgres: // myuser:mypass@amazon-rds-instance: 5432 / db \"} \ "в информационной строке соединения \ n", " код ":" "," message ":" Ошибка подключения к базе данных "}

Я также проверил, что в строке нет символов, которые необходимо экранировать. Чего мне здесь не хватает?

enter image description here

enter image description here

1 Ответ

2 голосов
/ 04 марта 2020

Так что я понял это. К сожалению, эта строка такова:

Поддерживается только введение полного содержимого секрета в качестве переменной среды. Указание указанного ключа или версии c JSON в настоящее время не поддерживается.

Это означает, что всякий раз, когда вы используете секреты в качестве параметра ValueFrom в переменных среды (при работе с Fargate), значение всего секрета вставляется при копировании.

Я проверил это, используя секрет для переменной схемы PostgREST. Я вернул значение:

{'PGRST_SCHEMA_URL': 'public'}

Хотя я ожидал, что оно будет просто:

public

Вот почему конфигурация также пошла плохо. Спасибо всем за поиск.

...