eclipse che についての覚書
k8s 上で動く vscode remote container 拡張みたいなやつ。
特筆すべきはコンテナが複数、リポジトリも複数指定できる。
これができるものを他に知らないので試したい。が、全然手元で動かせない。
docker for windows で動かせない。
なぜか che コンテナから che-theia コンテナへの通信が ingress を介す作りになっている。
windows から見ても docker から見ても同じホスト名で ingress に行けないといけないが、
ネットワークが違うので /etc/hosts 書いたりしなければ無理だと思われる。
ingress 通す必要がないと思うので internal 用 host 名 (che-host.che.svc みたいなやつ) で通信するように手直しがしたい。
動かないのはおそらく docker for mac も同じだと思われる。
che は chectl を使ってデプロイする。
デフォルトだと che-operator というやつが che 用のリソース群を管理している模様。
che 自体は java、che-operator は go で書かれている。
向き先を一部は環境変数でいじれるっぽい。
ただし、configmap などを手でいじっても che-operator に戻されてしまう。
che-operator の簡単なデバッグ方法がわからないので、docker build して ghcr.io に push して、chectl server:deploy に --che-operator-image=ghcr.io/mtsmfm/che-operator:sha-75530c7cd883cf9a1692e531635f83d5ed2cfacc
のように渡して使っている。
che 自体も chectl に --cheimage=ghcr.io/mtsmfm/che:sha-51cc97d7592e1764d277a4577ebea7715ceec0e3
すれば任意の image を使える。
dockerfiles というディレクトリがあるが、docker build だけではなぜかだめっぽい。
mvn clean install したあとに build.sh を介す必要があるようだ。
ただし、この mvn clean install
はちょくちょくコケる。
mvn のダウンロードに失敗したりするっぽい? よくわからない。