注目★★★★★Hacker News
S3バケットをGitサーバに仕立てる——go-gitとオブジェクトストレージで実現
30秒で把握
- 1TigrisバケットをGitバックエンドに——go-git+billyでバイナリ依存なし
- 2コンテンツアドレス型のGitオブジェクトはappend-onlyストレージと構造的に相性が良い
- 3libgit/libgit2の問題点と純Goアプローチの違いを自分の技術選定で確認する価値あり
要約
Tigrisのエンジニアが、オブジェクトストレージバケットをGitリポジトリのバックエンドとして動作させる実装を公開した。純Go実装のgo-gitとファイルシステム抽象化ライブラリbillyを組み合わせ、Gitバイナリへの依存を排除した。Gitの内部構造はコンテンツアドレス型のオブジェクトストアであり、append-onlyなオブジェクトストレージと相性がよい。
あなたへの影響
Gitの内部構造とオブジェクトストレージの親和性を実装で示した記事で、クラウドネイティブなGitホスティングの設計を検討するチームには参考になる。
推奨:libgitやlibgit2の課題(プロセスクラッシュ・ライセンス問題)の整理も実用的な判断材料となり得る。