Проблема с подключением приложения Golang в Cloud Run с Firestore - PullRequest
2 голосов
/ 12 мая 2019

Я пытаюсь получить все документы из Firestore, используя следующую функцию.

Учетные данные хранятся в зашифрованном файле в хранилище GCP Cloud Source. Я расшифровал конфигурацию в триггере Cloud Build и установил ENV в Dockerfile, указывая на файл. Я вижу контент от RUN ls /app/credentials.json.

Ошибка, которую я получаю в журнале приложения: rpc error: code = Unavailable desc = все SubConn находятся в TransientFailure, последняя ошибка соединения: ошибка соединения: desc = "transport: аутентификация при сбое аутентификации: x509: сертификат подписан неизвестным органом"

Учетные данные хранятся в зашифрованном файле в хранилище GCP Cloud Source. Я расшифровал конфигурацию в триггере Cloud Build и установил ENV в Dockerfile, указывая на файл. Я вижу контент от RUN ls /app/credentials.json.

Ошибка, которую я получаю в журнале приложения: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"

1 Ответ

3 голосов
/ 13 мая 2019

Эта ошибка является результатом сбоя HTTPS, когда сертификат не может быть проверен.В базовом образе Alpine отсутствует пакет с корневыми сертификатами.В настоящее время в быстром запуске Cloud Run отсутствует это хотя бы для языка Go.

Предполагая, что это ваша проблема, добавьте следующее к финальной стадии вашего файла Dockerfile:

RUN apk add --no-cache ca-certificates
...