ICPのインストーラーイメージからHelmチャートを取得する

ICPのインストーラーからHelmチャートを取得する方法のメモ。

## 背景

ICPで使われているHelmチャートは基本的には以下のibm-chartsリポジトリから取得できる。

https://github.com/IBM/charts

しかし名前がibmではじまらないチャートは上記サイトにない。

また、nginx-ingressのチャートはstableのリポジトリに存在するので、stableのリポジトリからICPにデプロイされているチャートと同じバージョンの`nginx-ingress-0.13.0.tgz`をダウンロードしてみたが、ICPにデプロイされているチャートとは内容が異なっていた。

そこでインストール済みのICPの環境自体からチャートを取得する方法を調べた。オフライン環境でチャートを取得するのにも使える。

## 取得方法

イントーラーのdockerイメージ内の`/addon`ディレクトリにチャートのファイルがあるのでそこからコピーできる。

何があるのかを確認。

```
# docker run --rm -v $(pwd):/data -e LICENSE=accept ibmcom/icp-inception:2.1.0.3-ee ls -l /addon/*
/addon/auth-apikeys:
total 4
-rw-rw-r--    1 root     root          2182 May  2 14:29 auth-apikeys-1.0.0.tgz

/addon/auth-idp:
total 8
-rw-rw-r--    1 root     root          7335 May  9 11:05 auth-idp-1.0.0.tgz

/addon/auth-pap:
total 4
-rw-rw-r--    1 root     root          2179 May  3 08:20 auth-pap-1.0.0.tgz

/addon/auth-pdp:
total 4
-rw-rw-r--    1 root     root          2484 May  9 12:36 auth-pdp-1.0.0.tgz

/addon/calico:
total 4
-rw-rw-r--    1 root     root          4054 Apr 27 09:42 calico-1.0.0.tgz

/addon/heapster:
total 4
-rw-rw-r--    1 root     root          1733 May 10 02:41 heapster-1.4.0.tgz

/addon/helm:
total 4
-rw-rw-r--    1 root     root          2659 Apr 20 00:31 helm-repo-1.0.0.tgz

/addon/helm-api:
total 8
-rw-rw-r--    1 root     root          6474 May  2 14:47 helm-api-1.0.0.tgz

/addon/ibm-custom-metrics-adapter:
total 8
-rw-rw-r--    1 root     root          6821 May 10 02:41 ibm-custom-metrics-adapter-0.2.1.tgz

/addon/icp-catalog-chart:
total 4
-rw-rw-r--    1 root     root          1545 Apr 16 17:45 icp-catalog-chart-0.1.2.tgz

/addon/icp-management-ingress:
total 4
-rw-r--r--    1 root     root          1935 Apr 13 09:42 icp-management-ingress-2.2.0.tgz

/addon/icp-mongodb:
total 20
-rw-rw-r--    1 root     root         19713 May  3 20:15 icp-mongodb-2.2.1.tgz

/addon/istio:
total 36
-rw-r--r--    1 root     root         36210 May 12 04:47 ibm-istio-0.7.1.tgz

/addon/kube-dns:
total 4
-rw-rw-r--    1 root     root          2142 May 10 02:41 kube-dns-1.0.0.tgz

/addon/logging:
total 32
-rw-rw-r--    1 root     root         28899 May 14 22:50 ibm-icplogging-1.0.0.tgz

/addon/mariadb:
total 4
-rw-rw-r--    1 root     root          3138 May 10 12:04 mariadb-10.1.16.tgz

/addon/metering:
total 8
-rw-rw-r--    1 root     root          4262 May  2 17:15 metering-1.0.3.tgz

/addon/metrics-server:
total 4
-rw-rw-r--    1 root     root          1886 May 10 02:41 metrics-server-0.2.1.tgz

/addon/monitoring:
total 52
-rw-rw-r--    1 root     root         52742 May  1 02:40 ibm-icpmonitoring-1.1.0.tgz

/addon/nginx-ingress:
total 4
-rw-rw-r--    1 root     root          2425 May 10 02:41 nginx-ingress-0.13.0.tgz

/addon/nsx-t:
total 8
-rw-rw-r--    1 root     root          5633 Apr 27 10:17 nsx-t-container-plugin-1.0.0.tgz

/addon/platform-api:
total 4
-rw-rw-r--    1 root     root          3586 Apr 19 21:44 platform-api-0.1.0.tgz

/addon/platform-ui:
total 4
-rw-rw-r--    1 root     root          1879 Apr 27 01:04 platform-ui-1.0.0.tgz

/addon/rescheduler:
total 4
-rw-rw-r--    1 root     root          1411 May 10 02:41 rescheduler-0.5.2.tgz

/addon/security-onboarding:
total 8
-rw-rw-r--    1 root     root          4755 May 10 09:54 security-onboarding-0.1.0.tgz

/addon/service-catalog:
total 8
-rw-rw-r--    1 root     root          6784 May  3 00:20 service-catalog-0.0.10.tgz

/addon/unified-router:
total 4
-rw-rw-r--    1 root     root          1647 May 10 02:41 unified-router-2.2.0.tgz

/addon/vulnerability-advisor:
total 32
-rw-r--r--    1 root     root         29271 May 14 05:52 vulnerability-advisor-1.2.1.tgz
#
```

カレントディレクトリーにコピー。

```
docker run --rm -v $(pwd):/data -e LICENSE=accept ibmcom/icp-inception:2.1.0.3-ee cp /addon/nginx-ingress/nginx-ingress-0.13.0.tgz /data
```

（おまけ）
stableからダウンロードしたものと比較。

```
# mv nginx-ingress-0.13.0.tgz nginx-ingress-0.13.0.tgz.icp
# helm repo list
NAME      	URL
stable    	https://kubernetes-charts.storage.googleapis.com
local     	http://127.0.0.1:8879/charts
ibm-charts	https://raw.githubusercontent.com/IBM/charts/master/repo/stable/
# helm fetch stable/nginx-ingress --version 0.13.0
# ls -l nginx*
-rw-r--r--. 1 root root 11279  8月 22 16:51 nginx-ingress-0.13.0.tgz
-rw-r--r--. 1 root root  2425  8月 22 16:48 nginx-ingress-0.13.0.tgz.icp
#
```

ファイルサイズが違う。