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

no extension

(この記事は golang セクションから移動させてきたものである)

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

【2019-09-01 追記】

2019年8月に proxy.golang.org, sum.golang.org および index.golang.org が正式にサービスを開始した。

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

We are planning to launch a mirror service for publicly-available 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
アラン・ドノバン (著), ブライアン・カーニハン (著), 柴田芳樹 (著)
丸善出版 2016-06-20 (Release 2021-07-13)
Kindle版
B099928SJD (ASIN)
評価     

Kindle 版出た! 一部内容が古びてしまったが,この本は Go 言語の教科書と言ってもいいだろう。感想はこちら

reviewed by Spiegel on 2021-05-22 (powered by PA-APIv5)

photo
超人ロック ミラーリング access.1 Locke The Superman Mirror Ring 1 (エムエフコミックス フラッパーシリーズ)
聖 悠紀 (著)
KADOKAWA 2013-04-05 (Release 2013-04-05)
Kindle版
B00C41BSHM (ASIN)
評価     

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

reviewed by Spiegel on 2017-12-28 (powered by PA-APIv5)


  1. 本当に完全性を担保したいなら電子署名と組み合わせるべきだと思うけどね。まぁ,そこまで厳密な管理は(今のところ)要らないと考えているのだろう。今や GnuPG と OpenSSH と Git はワンセットなので(OpenSSH の鍵は GnuPG で管理可能) OpenPGP で電子署名すればいいじゃない,と思うのだが。 ↩︎

  2. Go 言語にしろ(最近ブームが再燃している) Dart 言語にしろ,言語系のプロダクトやサービスは Google から切り離してほしいよなぁ。 Alphabet の傘下から外れろとまでは言わないから。 ↩︎