в общем, у меня тут было немного времени и я подумал и погуглил на тему того, как решить задачу лучше
наиболее оптимальный вариант, на мой взгляд, это генерация статического репозитория через dumb-pypi и загрузка его на Google Cloud Storage (чем больше статики - тем лучше)
к сожалению, для корректной работы приватной репозитории согласно PEP 503 нужен basic auth, а возможности сделать это на Google Cloud Storage нет, поэтому нужна прокси
в итоге я написал свою на Starlette, код доступен тут:
https://dpaste.org/kP3kтам не хватает эндпоинта для загрузки пакетов, я подумываю его дописать, и тестов...
в общем, в чём проблема с pypicloud, о котором сказали выше - там почему-то не генерируются подписи пакетов в лок-файлах poetry... баг висит на трекере давно...
ну, и ещё он кажется слегка переусложнённым и оптимизированным больше под AWS, чем под Google Cloud... (о чём автор в общем-то и не скрывает информации)
если эта тема интересна - можно было бы дописать/улучшить мой код выше и заопенсорсить, напишите тут или в личку, если вам интересна эта тема
какие компоненты используются:
- dumb-pypi (для генерации статического репозитория)
- проксик (по ссылке выше)
- Google Cloud Build (для обновления статического репозитория и сборки образов)
- Google Cloud Run (для запуска проксика)
- Google Cloud Secret Manager (для хранения токена для доступа в приватный репозиторий)
- Google Cloud Storage (для хранения статического репозитория и пакетов)
- <что-то для добавления пакетов (вопрос с этим открыт, полагаю, нужна интеграция с
poetry publish
>