Ошибка PostgREST при подключении к AWS с использованием секретов

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

Таким образом, значение сейчас:

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

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

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

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

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

введите здесь описание изображения

введите здесь описание изображения


person JustLudo    schedule 20.02.2020    source источник
comment
Никто? Я убедился, что использовал нотацию ARN в своем значении, так как это также иногда вызывает проблемы. Тот факт, что секрет получен, наводит меня на мысль, что поиск выполнен хорошо, а анализ — нет.   -  person JustLudo    schedule 20.02.2020
comment
Никто еще? У меня такое чувство, что это собирается наградить меня еще одной из этих наград перекати-поля..... Примечание. То же самое происходит с полем пароля для PostgREST. Когда я копирую и вставляю значение и использую значение, оно работает. Когда я переключаюсь на ValueFrom и копирую-вставляю ARN, это не работает. Сводит меня с ума.   -  person JustLudo    schedule 24.02.2020
comment
Отредактируйте определение контейнера вопросов, показав конфигурацию секретов, а также отобразите вывод команды описать-секрет в интерфейсе командной строки. Редактируйте конфиденциальные идентификаторы в ARN и другую информацию, когда вы делитесь ею.   -  person Oluwafemi Sule    schedule 29.02.2020
comment
@OluwafemiSule: Только что сделал это. Я скопировал ARN, так что я совершенно уверен, что это не проблема.   -  person JustLudo    schedule 02.03.2020
comment
Из документации AWS я нашел: поддерживается только вставка полного содержимого секрета в качестве переменной среды. Указание конкретного ключа или версии JSON в настоящее время не поддерживается. Это может быть причиной. Буду изучать это дальше.   -  person JustLudo    schedule 02.03.2020


Ответы (1)


Итак, я понял это. К сожалению, это была строка:

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

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

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

{'PGRST_SCHEMA_URL': 'public'}

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

public

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

person JustLudo    schedule 04.03.2020