Walgit, 객체 스토리지 앞에 바이너리 하나만 두는 Git 서버 공개
- 공개 저장소 tobi/walgit은 제목에서 객체 스토리지 앞에 단일 바이너리를 두는 Git 서버라고 설명함
- 저장소 페이지 기준 별 1,300개, 포크 74개를 기록했고 공개 직후 커밋은 3개임
- 최근 커밋은 설정 조회에서 세션 시크릿·OAuth 시크릿·정적 토큰을 노출하지 않도록 바꾸고, 설정·정책 쓰기를 관리자 주체로 제한함
- 같은 커밋에서 receive-pack의 주입된 ref 이름과 OID를 거부하고, Git LFS PUT은 바이트 상한을 둔 스트리밍과 OID 검증을 수행하도록 변경됨
mode=none은 루프백 리스닝이 아닐 때 거부하며, accel-redirect는 루프백 피어에만 적용하도록 제한됨
Hacker News opinions
S3의 조건부 Put(CAS) 가 나온 뒤 객체 스토리지 위에 조정 로직을 얹는 프로젝트가 급증했음. PicoMQ, Celld, SlateDB도 같은 흐름이고, 여기서도 기존 작업을 덮어쓰지 않게 쓰는 방식임
GCS는 조건부 쓰기를 오래전부터 지원했는데 AWS가 늦었음. Terraform도 v1.11부터 S3 상태 잠금을 DynamoDB 없이 처리함
설명에서 말하는 합의라는 표현이 이해 안 됨. 이건 마지막 쓰기 승자가 아니라 CAS로 최신 매니페스트를 지키는 방식 아닌가
CAS는 동기화가 뒤처진 인스턴스가 원본 매니페스트를 덮어쓰지 못하게 막는 장치임
README의 합의 설명은 LLM이 쓴 문장 같음. "중요한 상태가 없다"는 표현도 거슬림
며칠 만에 별이 1,000개를 넘긴 이유가 궁금함. GitHub와 HN의 활동량 자체가 봇과 과장으로 부풀려진 것 아닌가 싶음
나도 Git과 S3를 드라이버로 써서 에이전트가 경쟁 조건 없이 메모를 공유하는 MCP 서버를 만들고 있음. 이런 발상이 독립적으로 동시에 나오는 게 재미있음
객체 스토리지에 Git 저장소를 저장한다는 발상은 Objgit과 같음. Objgit은 바이브 코딩 실험이라고 처음부터 밝힌 점이 더 낫다고 봄
현재는 실제로 안전하게 쓰기 어렵다는 지적이 있음. Rust라고 해서 구현의 안전성이 자동으로 따라오는 건 아님
왜 필요한지 잘 모르겠음. Git 서버는 이미 잘 동작하고, Git만 올린 64코어 서버와 10Gbps 네트워크, 20TB RAID면 어디까지 부족한지 먼저 알고 싶음
S3도 결국 데이터베이스인데 "데이터베이스가 없다"는 말은 부정확함. .git 디렉터리도 넓게 보면 데이터베이스임
이건 Cursor가 공개한 Continuity 서버의 기술 설명을 바탕으로 다시 만든 것으로 보임. 수많은 저장소를 운영하는 Git 기반 코드 포지에는 그런 구조가 필요한 이유가 있음
Tobi Lütke가 아직 코딩한다는 점은 흥미롭지만, 실서비스 수준이라기보다 실험일 가능성이 커 보임
GitSocial CLI는 의존성 없이 Git 저장소를 S3로 바로 푸시할 수 있음. 버킷이 원격 저장소이자 정적 사이트가 되고, GitSocial 사이트도 Cloudflare R2에 올려져 있음
Cursor Origin 같은 프로젝트를 보고 Claude와 자동화 도구로 비슷한 코드를 대량 생성하는 일이 GitHub 활동량을 키운다고 봄. 처음에는 그럴듯해도 실제 가치 없이 끝나는 프로젝트가 많을 것 같음