JFrog ChartCenterを公開: コミュニティ用Helm Chartセントラル・リポジトリ

公開されているHelm chartsの数は増え続けており、コミュニティにとっては素晴らしいことですが、膨大なHelm chartとHelm chartリポジトリを調べるのは困難な状況となっています。

船の船長が必要とするのは安全に到着するための詳細なリストだけではありません。氷山の一角以外の見えない場所にも危険があります。

このため、開発者コミュニティに公開するHelm Chart用の無償のセントラル・リポジトリであるChartCenterを発表いたします。 

ChartCenterのエッジ

ChartCenterのUIを通して、何千ものKubernetes Docker registryパッケージから必要なものを検索することができます。多くの公開リポジトリに分散しているアプリケーションを検索して利用することができます。ChartCenterは検索サービスのHelm HubやArtifact Hubに似ています。

しかし、ChartCenterはただのカタログではありません。Artifactoryを搭載したChartCenterは不変のバージョンを保持するHelm Chartリポジトリです。そのため、Helm CLIはすべての公開されているHelmChartを単一の場所から確実にダウンロードすることができ、真の単一ソースとなります。

すべての保存されたHelm Chartはスマートに利用できるように必要とする重要な情報を提供する堅牢なメタデータで管理されています。これらの機能がユーザにとってどのような意味を持つかをご紹介します:

不変、バージョニングHelm Chart

ChartCenterはすべてのChartバージョンの単一の情報源です。今日使用しているHelm Chartのバージョンが先月または昨年使用したものと同じであることを常に確認できます。たとえ Helm Chartの所有者がリポジトリを不適切に変更や削除をした場合も同様です。ChartCenterは変更が発生した場合、そのバージョンにフラグを立てます。また、ChartCenterは元のリポジトリが何らかの理由で利用できなくなった場合、フェイルセーフ機能も提供しています。

ChartCenterはすべてのHelm Chartのバージョン、apiVersion、appVersionのメタデータも保持します。

使用データ

ChartCenterはHelm Chartが別のHelm Chart(Subchartとして)の依存関係として使用されている場所も通知されます。

依存性の識別

HelmのChartバージョンごとに、ChartCenterではDockerイメージやSubchartなど、使用されているすべての依存関係を確認できます。UIで各Dockerイメージの依存性があるすべてのレイヤーを確認することができます。

脆弱性の確認

ChartCenterはJFrog Xrayの再帰的スキャンを実行し、Helm Chartのすべての依存関係のあるコンテナイメージに対して脆弱性分析を実行します。そのため、K8sアプリをデプロイする前に、あらゆるK8sアプリのセキュリティ・リスクを評価することができます。

メンテナのためのセキュリティ対策

また、ChartCenterではChartのメンテナがノートの提供やUI上でChartのセキュリティの概要を確認する機能も提供しています。CVEにタグを付けてメモを提供できるようにsecurity-mitigation.yamlファイルを開発しました。これらのメモはメンテナが更新されたChartで yamlを提供すると利用できるようになり、以下のように表示されます:

ChartCenterの利用

これまではChartCenterの機能の一部を説明しましたが、ここからはHelmクライアントで使用する方法を説明します。

ステップ1: ChartCenterをHelmリポジトリとして追加

HelmクライアントにChartCenterリポジトリを単一のソースとして利用するための設定を追加します:

$ helm repo add center https://repo.chartcenter.io
$ helm repo update
$ helm search repo center/                     

最後のコマンドは約200以上のHelmリポジトリからChartリストを表示します。いくつかの index.yaml の最適化を行った結果、index.yaml のサイズが小さくなり、Helm クライアントのスピードが速くなっています。

ステップ2: リポジトリとしてChartCenterを使用

Helmリポジトリをいくつかチェックします:

$ helm search repo center/jfrog/artifactory-jcr
NAME                        	CHART VERSION	APP VERSION	DESCRIPTION
center/jfrog/artifactory-jcr	2.3.1        	7.5.7      	JFrog Container Registry
 
$ helm search repo center/rancher
NAME                         	CHART VERSION	APP VERSION	DESCRIPTION
center/rancher-stable/rancher	2.4.5        	v2.4.5     	Install Rancher Server to manage Kubernetes clu...

ここでは多くのHelmリポジトリを追加するよりも1つのリポジトリを使う方がどれほど簡単かが分かります。

Chartを次のレベルへ

ChartCenterの発表はHelm Chartの利用を向上させるための航海の始まりに過ぎません。また、コミュニティと直接協力してこれらの機能を構築していきたいと考えており、UIの改善、セキュリティ情報の追加、Helmプラグインの考慮点、Helmリポジトリのベストプラクティスなど皆様からのご意見をお待ちしています。

詳細についてはChartCenterを今すぐチェックしてください。