Мы начали переход на Реестр контейнеров Google с того, что ранее использовали наш собственный Docker Registry для размещения наших изображений. В рамках этого я создаю приложение, которое может запрашивать доступные теги в реестре и возвращать список результатов. Для публичного реестра это тривиально. Я просто отправляю HTTP-запрос к API, демонстрируемый здесь с curl
:
curl https://example.docker.registry/v2/myapp/tags/list
И это также работает из командной строки с GCR, пока я сначала аутентифицируюсь:
curl -u "oauth2accesstoken:`gcloud auth print-access-token`" https://eu.gcr.io/v2/myproject/myapp/tags/list
Я хочу сделать именно это программно, и я следовал за одной из многих страниц Google по созданию ключа учетной записи службы GCP, такой как этот: https://cloud.google.com/iam/docs/creating-managing-service-account-keys
Теперь у меня есть служебная учетная запись, которой я дал необходимые разрешения, и у меня есть файл ключа JSON для этой служебной учетной записи. Но все инструкции, которые я могу найти в Интернете, говорят мне, как использовать это с установленными gcloud
или docker
. Даже шаги, которые используют клиентские библиотеки, настолько слабы в документации и объяснениях, что я не могу продвинуться вперед.
Моему приложению не нужны сложные дополнительные инструменты, я просто хочу отправить HTTP-запрос точно так же, как и в публичном реестре. Я ожидаю, что файл ключа доступа JSON содержит все нужные мне фрагменты, даже если вначале происходит ритуальный обмен с Google. Я не могу найти информацию о том, как использовать содержимое, хотя. Это где-нибудь задокументировано?