Go モジュールのミラーリングとインデックス化

Go モジュールのミラーリングとインデックス化を行うためのサービスがベータ・リリースされたようだ。

これは “Go Modules in 2019” で予告されていたものだ。

We are planning to launch a mirror service for publicly-available modules in 2019.
via Go Modules in 2019

モジュールのミラー・サービスは各所で公開されているモジュールのミラーリングを行うためのプロキシ・サーバの一種で,現在ベータ版である Go 1.13 では既定で有効になっているそうだ。 それ以前のバージョン(1.12 ?)では環境変数 GOPROXYhttps://proxy.golang.org をセットすることで有効になるらしい(試してない)。

更に,モジュールのインデックス・サービスも開始される。

クエリに対して JSON データを返す仕様なのかな。

更に更に,モジュールのチェックサム値をデータベース化してモジュールの検証に使えるようにするようだ。

チェックサム値をデータベースとして保持っておくことでモジュールの完全性を担保し,コードの改竄を検知しやすくする目的があると思われる1。 チェックサム・データベースの利用については gosumcheck というツールが提供されている。

$ go get golang.org/x/exp/sumdb/gosumcheck
$ gosumcheck /path/to/go.sum

これらのサービスのプライバシー・ポリシーについては proxy.golang.org/privacy を参照しろとあるが,この URL を叩くと Google のプライバシー・ポリシーのページに飛ばされる。 まぁ Google のサービスなんだから当然だろうけど,プライバシーに敵対的な企業のサービスだと思うとあまり利用したくない気分2

モジュールのミラーリングやインデックス化はそれぞれ単体のサービスではなく,モジュールを中心とした生態系(module ecosystem)を構築するための部品と考えるのがいいだろう。 Go 1.13 以降からはモジュール周りが更に大きく変わりそうである。

ブックマーク

参考図書

photo
プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)
Alan A.A. Donovan, Brian W. Kernighan
柴田 芳樹 (翻訳)
丸善出版 2016-06-20
Book 単行本(ソフトカバー)
ASIN: 4621300253, EAN: 9784621300251
評価     

著者のひとりは(あの「バイブル」とも呼ばれる)通称 “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。

reviewed by Spiegel on 2018-10-20 (powered by amazon-item v0.2.0)

photo
[まとめ買い] 超人ロック ミラーリング(コミックフラッパー)
聖 悠紀
Ebook Bundle Kindle版
ASIN: B013URFRLQ
評価     

「エレナ」続編。分散 AI といえばこれだよね。

reviewed by Spiegel on 2017-12-28 (powered by amazon-item 0.2.1)


  1. 本当に完全性を担保したいなら電子署名と組み合わせるべきだと思うけどね。まぁ,そこまで厳密な管理は(今のところ)要らないと考えているのだろう。今や GnuPG と OpenSSH と Git はワンセットなので(OpenSSH の鍵は GnuPG で管理可能) OpenPGP で電子署名すればいいじゃない,と思うのだが。 [return]
  2. Go 言語にしろ(最近ブームが再燃している) Dart 言語にしろ,言語系のプロダクトやサービスは Google から切り離してほしいよなぁ。 Alphabet の傘下から外れろとまでは言わないから。 [return]