はじめに
Go Tips連載の第1弾目です。
TIG DXユニットの宮崎です。これまでRuby、Java中心に仕事をしてきましたが、ここ1年は某鉄道会社のID連携基盤サーバサイドをGolangで作っています。今回はGo Tips連載の第1回として、ホワイトリストProxy申請するときのGo依存ライブラリURLドメインの調べ方を記載します。
※パッケージ管理にはGo Modulesを使用している前提です。
背景
社内CIサーバからのインターネットアクセスがやんごとなき事情でホワイトリスト形式で許可されており、ライブラリダウンロードでアクセスするドメインへの接続解除申請を上げようとしたのが契機。
go.modでrequireしているドメインへのアクセスを全て許可したのにも関わらず一部のライブラリが落とせなく、(;´・ω・)? となったのでこれ以上の犠牲者を出さないためTips連載ネタにします。
結論
- インターネットアクセスできる環境にて
go mod download -v
でアクセス先を全て表示させる。 - この時、ライブラリによってはrequireドメインではないリポジトリにリダイレクトされているので、アクセス許可ドメインとして見逃さないこと。(ハマりポイント)
- ↓の場合だとrequire先は
cloud.google.com
だがライブラリダウンロード自体はcode.googlesource.com
から実施される。
- ↓の場合だとrequire先は
get "cloud.google.com/go": found meta tag get.metaImport{Prefix:"cloud.google.com/go", VCS:"git", |
この記事で少しでも犠牲者が減ることを祈っています。