Tangled의 발전이 정말 기대됨. 사이드 프로젝트의 원본 저장소와 CI는 자체 호스팅 Gitea에서 운영하고 코드와 릴리스는 GitHub에 미러링 중인데, 코드·릴리스·가능하다면 CI까지 Tangled로 옮기고 싶음. GitHub는 검색 노출, 백업, 이름 선점 용도로만 남길 계획임.
이슈 동기화를 위한 git-bug의 Tangled 연동과 클라이언트 자체 호스팅 안내가 필요함. 모든 기능이 없어도 괜찮지만, 메인 Tangled 앱뷰가 내려갔다고 웹에서 저장소를 볼 수 없게 되는 건 피하고 싶음.
최근 새 컴퓨터에 Neovim을 설치하다 연합형 Git 호스팅의 장애를 처음 겪었음. Tangled에 있는 플러그인의 실제 Knot 서버가 내려간 듯했는데, 웹사이트에서는 원인을 알기 어려워 한동안 내 환경을 의심함. 플러그인 소스 호스팅이 중단될 때의 대책도 없었고, Neovim 패키지 관리자는 실행할 때마다 해결할 수 없는 오류만 표시함.
장기적으로 코드 저장소가 항상 살아 있거나 어딘가에 쉽게 캐시되어 있다고 가정하면 안 되겠지만, 당분간은 성장통이 예상됨. ActivityPub에서는 원래 서버가 내려가도 메시지를 받은 다른 서버를 찾을 수 있는데, ATProto에는 그런 이점이 없는 듯함.
자체 Git 원격 저장소 운영을 최대한 쉽게 만드는 것이 목표임. 직접 규모를 확장할 수도 있게 해줌.
ATProto에서도 누구든 데이터를 독립적으로 색인하고 메시지를 빠짐없이 수집할 수 있음. ActivityPub은 이를 보장하지 않으니, 서로 다른 절충점을 택한 셈임.
소스 호스팅 장애는 어떤 패키지 관리자에서도 생길 수 있음. 임의의 Git URL에서 패키지를 가져올 수 있는 Go 패키지 관리자도 마찬가지임.
우리는 자체 인프라에 모든 Git 저장소의 미러를 호스팅하며, 원본 Knot이 내려가면 이를 제공함. Go가 proxy.golang.org에서 받듯 이 미러를 신뢰하고 가져오되, 압축 파일의 해시가 알려진 정상 값과 일치하는지 검증할 수 있음.
Tangled 공동 창업자임. 이번 출시에서는 AT Protocol 렉시콘을 안정화하고 아키텍처와 UI를 전면 개편했으며, 전체 구성 요소나 일부만 자체 호스팅하기도 아주 쉽게 만들었음.
조직 지원도 출시했고, 비공개 저장소는 앞으로 몇 주에 걸쳐 제공할 예정임. 무엇이든 질문해 주시면 답변하겠음.
개인 프로젝트 대부분을 자체 Forgejo로 옮겼지만, 외부 기여자가 내 서버에 가입하지 않고도 쉽게 PR을 보낼 수 있었으면 함. 내 서버에서 회원가입을 허용할 생각은 전혀 없음.
현재 Tangled는 어떤가? 내 저장소를 올린 Tangled 서버를 운영할 때, 외부 기여자가 이슈나 PR을 작성하려면 무엇을 해야 하나?
게시글에 렉시콘이 확정됐다고 나오는데, 이슈·PR·댓글 레코드를 사용자 대신 저장소 범위에 두는 변경도 포함되나?
그 변경을 기다리고 있었음. 내가 만드는 코드 호스팅 서비스 https://juju.bi의 모든 공개 저장소를 Tangled와 상호 운용되게 하고, 사실상 Knot 서버처럼 동작하도록 만들 계획임.
이제 저장소가 이슈와 PR을 소유함! 구현 방식을 곧 글로 공개할 예정임. 저장소 안에 Git 객체로 저장하고 AT Protocol MST 형태로 표현하므로, Knot이 PDS와 비슷해지는 구조임.
git clone https://tangled.org/tangled.org/core를 실행했는데 실패함. https://knot1.tangled.sh/did:plc:j5hmlfdrwkvtxm7cjmu7j2is/로 리디렉션된 뒤 객체 다운로드는 완료됐지만, localinfra/fixtures/blobs/did:plc:igzuueb63dytyy3tpaweofuu bafkreieify5bix4cmrj4iuxiceb6srr2boltkbbf7yizwtgwurqv42sltm 경로에서 error: invalid path가 발생함. 복제는 성공했지만 작업 트리 체크아웃은 실패한 상태임.
처음 시도할 만한 작업부터 .org에서 .sh로 리디렉션되고 오류까지 나니 인상이 좋지 않음. 이제 저 다른 도메인이 의도된 것인지, 침해된 것인지부터 확인해야 함.
Tangled의 Git 구현이 아니라 Windows의 파일명 제약으로 보임. 파일명에 콜론이 있는데, Windows는 DOS 시절의 제약 때문에 이를 처리하지 못함. GitHub 등으로 미러링한 뒤 복제해도 같은 오류가 날 가능성이 큼. WSL 가상 머신의 파일시스템 안에서 복제해 보고 결과를 알려주면 좋겠음.
tangled.org는 잠재력이 있음. 업데이트 전에는 코드 리뷰 UI가 GitHub에 비해 끔찍했지만, 지금은 훨씬 나아짐. 다만 "Comments" 영역에 "Comment" 버튼이 없는 것은 용납하기 어려움. 모르고 PR을 닫는 사람이 속출할 듯하며, 제출은 Shift-Enter로 해야 함.
나도 키보드 중심으로 사용하지만, 누군가의 받은편지함에 알림을 보낼 수 있는 동작에는 명시적인 UI 버튼이 적절함. 이렇게 널리 쓰이는 패턴을 왜 무시하는지 이해하기 어려움.
자체 호스팅에서도 비공개 저장소를 지원할 수 있나?
현재는 불가능함. Tangled의 데이터 모델은 전적으로 Atproto를 기반으로 하고, 적어도 지금은 게시되는 모든 데이터를 공개로 가정함. 그 위에 접근 제어가 적용되는 데이터를 얹는 작업이 진행 중이니, Tangled도 추후 활용할 수 있을 듯함.