LINUX.ORG.RU

Tangled — распределённый Git хостинг на основе ATProto

 , ,


0

2

Привет, ЛОР!

Год назад я писал про Radicle, который с тех пор успел релизнуться. Сегодня я принёс тебе такое же, но другое.

Tangled – распределённое хранилище Git-репозитариев в духе GitHub и подобных, построенное на основе протокола ATProto (используется в соц.сети BlueSky). Сеть построена на основе узлов (knots), представляющих собой сервера без UI, которые хранят репозитарии одного или нескольких пользователей и легко разворачиваются даже на малых мощностях, например, на Raspberry Pi. Отдельно работают т.н. App View (терминология ATProto, хз как перевести), которые дают доступ к репозитариям в узлах сети и позволяют загружать код, создавать запросы на Pull, сообщать о проблемах и так далее.

Доступ к этому всему пока что только по инвайтам, инвайты просить на канале #tangled в libera.chat. Но, если спросишь меня, ЛОР, выглядит это достаточно классно всё, и мне определённо нравится тенденция к переходу на независимые от Github и прочих крупных компаний средства разработки.

Ссылка на блог: https://blog.tangled.sh/intro

Написано на Golang, код опубликован под лицензией MIT: https://tangled.sh/@tangled.sh/core

UPD: приглашения нужны только для использования основного сервера tangled.sh. Если разворачивать свой сервер, приглашение не требуется, на взаимодействие с другими серверами ограничений нет.

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 4)

ЯННП.

Сеть построена на основе узлов (knots)

легко разворачиваются даже на малых мощностях, например, на Raspberry Pi.

Доступ к этому всему пока что только по инвайтам

Оно self-hosted или нет? Или да, но код дают только избранным?

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Оно self-hosted или нет?

Да.

Или да, но код дают только избранным?

Код можешь скачать по ссылке. Я так понимаю, в общую сеть пока только по инвайтам подключают. Но ты можешь развернуть своё, просто не сможешь с авторами кодом обмениваться.

Обновил пост. По приглашениям даётся аккаунт на их сервере.

Честно говоря, я не очень понимаю принцип работы ATProto. Пока оно выглядит так, что ты либо только публикуешь свои данные (вариант с PDS), либо хранишь вообще всё состояние всей сети (AppView). Прозреваю, что инвайты нужны для второго случая. Могу ошибаться.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 3)

Объясните для тупых, чем это от селф-хостед гитеи отличается?

Если я подыму свой инстанс и позволю другим хостить что-то у себя, то смогу держать свои репы у других? Как тогда с доступами и правами на слияния и прочее?

skyman ★★★★
()
Ответ на: комментарий от skyman

Объясните для тупых, чем это от селф-хостед гитеи отличается?

Тем, что тебе могут присылать код и issues перцы с других серверов.

Если я подыму свой инстанс и позволю другим хостить что-то у себя, то смогу держать свои репы у других?

Ахз. Я пока сам не разобрался, только на ЛОР принёс.

Как тогда с доступами и правами на слияния и прочее?

Эталонная копия будет храниться у тебя на твоём сервере.

hateyoufeel ★★★★★
() автор топика

Очередное федеративное говно? Не нужно. Как замена централизованным хостингам (которых федерация хуже всем) подойдёт только полностью распределённая система, где у контента нет родной ноды и он реплизицуется по всей сети. Вот тогда можно будет эмуляторы нинтендо спокойно разрабатывать.

anonymous
()
Ответ на: комментарий от anonymous

Вот тогда можно будет эмуляторы нинтендо спокойно разрабатывать.

Эмуляторы нинтенды можно спокойно разрабатывать, если ты в стране, где на DMCA и запросы об экстрадиции из США кладут болт. Например, в России, Иране, Китае или Северной Корее.

Хостинг тут особо не поможет. Но ты можешь посмотреть на Radicle, который как раз полностью распределённый.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Хостинг тут особо не поможет

Да каеш. Где бы ты его не разрабатывал, если проект привязан к своей домашней ноде, её просто заблокируют и всё. Если проект размазан по всей сети - вот тогда сильно интереснее. Radicle так умеет?

anonymous
()
Ответ на: комментарий от Lrrr

открою страшную тайну, git распределенный из коробки.

И правда, тайна страшная.

Шлешь мейнтейнеру патчи по email или любым другим способом, и все

git clone откуда делать? Га? А если нас 10 человек в разработке участвуют? Предлагаешь всем ручками патчи из почты доставать?

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от anonymous

Где бы ты его не разрабатывал, если проект привязан к своей домашней ноде, её просто заблокируют и всё.

Что значит «заблокируют»? Как РКН блокирует твиттер? Да и посрать.

Если проект размазан по всей сети - вот тогда сильно интереснее. Radicle так умеет?

Да, там репликация в духе торрентов. Т.е. ты можешь качать код не только с оригинальной ноды, но и с клонов. Аутентичность решается проверкой ключей и подписями. Оригинальность так же подтверждается ключами, т.е. репозитарий может переехать с ноды на ноду, главное чтобы хозяева ключ не просрали.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Так, получается что-то типа федеративного git, типа matodon, только вместо сообщений pull-request и issue?

А оно умеет зеркалировать на манер gitea? А то мне очень понравилось зеркалировать у себя понравившиеся репозитории, а тут по идее можно на нескольких нодах всё хранить, если я правильно понял.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Так, получается что-то типа федеративного git, типа matodon, только вместо сообщений pull-request и issue?

Не совсем, но близко. Модели ActivityPub и ATProto несколько различаются.

А оно умеет зеркалировать на манер gitea? А то мне очень понравилось зеркалировать у себя понравившиеся репозитории, а тут по идее можно на нескольких нодах всё хранить, если я правильно понял.

Насколько я понимаю, нет, если ты ручками не склонируешь. Данные юзера, включая код, хранятся в PDS конкретного юзера. Другие могут только кэшировать или копировать. Могу ошибаться.

С другой стороны, тебе так-то никто не мешает клон с синхронизацией сделать.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)