去年に containerd の gogo/protobuf を google.golang.org/protobuf に置き換えたのと同様に、Buildkit の gogo/protobuf も置き換えてみている。
containerd に比べると、Buildkit はあまり土地勘がなく、またやっていることも複雑で大変だったが、とりあえず動くところまでは出来た。
Go, 値と参照があるのは良いのだけど、参照を渡すときは const つけたりしたいなあ。google.golang.org/protobuf では、あらゆる protobuf 由来の struct がコピーできないようになっていて、基本どこでも参照わたしなのだけど「そういうわけで参照で渡しているわけで、変更するのはやめてくださいね」というのをコンパイラに伝えられないのが不安。
Source: posts/2023/buildkit.md