NeoFS REST Gateway v0.17.0, S3 Gateway v0.43.0 добавить токен сеанса v2

Neo SPCC недавно выпустила обновленные версии обоих шлюзов доступа NeoFS — REST Gateway v0.17.0 и S3 Gateway v0.43.0. В обоих выпусках реализована поддержка токена сеанса v2, они зависят от NeoFS SDK Go RC18 и требуют для сборки Go 1.25 или выше.
Шлюзы служат основными интерфейсами для приложений, взаимодействующих с децентрализованным хранилищем NeoFS. Шлюз REST обеспечивает доступ к HTTP API, а шлюз S3 предлагает интерфейс, совместимый с Amazon S3. Токен сеанса v2, впервые представленный в NeoFS Node v0.51.0, обеспечивает более детальный контроль доступа для операций с контейнерами и объектами и заменяет предыдущий подход, основанный на сочетании сеанса и токена носителя. Теперь, когда оба шлюза поддерживают новый формат, скоординированное обновление, начавшееся с NeoFS Node v0.52.0 и SDK RC18, завершено во всем стеке NeoFS.
REST-шлюз v0.17.0
Основным дополнением в версии 0.17.0 является API управления атрибутами контейнера, предоставляющий новые конечные точки REST для операций GET и PUT над атрибутами контейнера. Атрибуты контейнера — это метаданные «ключ-значение», которые управляют поведением и разрешениями контейнера. Раньше для управления ими требовалось прямое взаимодействие с протоколом. Новый API предоставляет эту функциональность любому приложению, использующему интерфейс REST.
Релиз также включает в себя комплексную проверку токена сеанса v2 и исправление производственной проблемы, из-за которой недействительные токены носителя HTTP вызывали панику. Несколько устаревших конечных точек, включая API поиска и размещения контейнера, были удалены вместе с параметрами конфигурацииContainer_ops_poll_interval иContainer_ops_timeout. Обновления зависимостей включают переход neo-go с версии 0.116.0 на версию 0.118.0.
S3-шлюз v0.43.0
S3 Gateway v0.43.0 обеспечивает полную переработку сопоставления объектов составной загрузки, устраняя ошибку, которая препятствовала загрузке более чем 300 частей, а также исправляя ошибки при извлечении отдельных частей из составных объектов. Новая архитектура представляет иерархическую структуру с разделенными цепочками на уровне частей и объектов, устраняя несколько промежуточных атрибутов метаданных, используемых в предыдущей системе.
Изменение дизайна, состоящего из нескольких частей, важно для пользователей, работающих с большими файлами через интерфейс S3, поскольку предыдущий потолок из 300 частей эффективно ограничивал максимальные размеры файлов. Новая архитектура устраняет это ограничение, а также обеспечивает правильные метаданные и хэши полезной нагрузки для отдельных частей.
Наряду с капитальным ремонтом, состоящим из нескольких частей, максимальный размер отдельной части был уменьшен с 5 ГБ до 4 ГБ, чтобы соответствовать возможностям NeoFS. Минимальный размер части остается на уровне 5 МБ согласно спецификации S3. Операторы, планирующие разницу, должны учитывать, что спецификация AWS S3 допускает до 5 ГБ на часть.
Поддержка аутентификации по токену сеанса v2 завершает основные изменения. Как и в случае со шлюзом REST, параметр конфигурацииContainer_ops_poll_interval был удален. Обновления зависимостей включают neo-go v0.118.0, NATS v1.49.0 и AWS SDK v2 v1.41.2.
Оба выпуска шлюза доступны на GitHub по ссылкам ниже: https://github.com/nspcc-dev/neofs-rest-gw/releases/tag/v0.17.0 https://github.com/nspcc-dev/neofs-s3-gw/releases/tag/v0.43.0