Harborの最新バージョンとなる1.8が先頃リリースされた。Harborは、コンテナイメージの保存、署名、スキャンのための、クラウドネイティブなレジストリを提供する、Cloud Native Computing Foundationのプロジェクトだ。今回のリリースには、OpenID Connectとの統合、ロボットアカウントの追加、レプリケーション機能の改善などが含まれている。
Harborは、コンテナイメージの保存、署名、脆弱性のスキャンを行う、自己ホスト型のクラウドネイティブレジストリだ。パブリックあるいはクラウドベースのレジストリが使用できない場合に、その代替レジストリを提供する。自己ホスト型であることから、マルチクラウド戦略に一貫したエクスペリエンスを提供するための選択肢でもある。Harborは2018年、Cloud Native Computing Foundationインキュベーションプロジェクトとして承認された。
バージョン1.8では、OpenID Connectのサポートが追加された。管理者は、ユーザの認証モデルとしてOIDCプロバイダを使用できるようになり、ユーザーは、シングルサインオン資格情報を使用してHarborポータルにアクセスが可能になる。Dockerクライアントなど一部のツールは、外部IDPへのリダイレクトが必要な場合にSSO経由でのログインができないため、Harborに新たにCLIシークレットが含まれるようになった。CLIシークレットは、DockerまたはHelmクライアントを介してHarborにアクセスするためのトークンをエンドユーザに提供する。この機能は、Harborの認証モードがOIDCベースに設定されている場合にのみ使用可能だ。
OIDC SSO経由でログインすると、そのユーザプロファイルからCLIシークレットを取得できるようになる。
取得したシークレットにより、Harborユーザ名とCLIシークレットをパスワードに使用して、Docker/Helm CLI経由でのログインが可能になる。
docker login -u testuser -p xxxxxx jt-test.local.goharbor.io
HarborはSSOを処理できないCI/CDツールと統合されることも多いため、今回のリリースには、ロボットアカウントが含まれている。ロボットアカウントを使用すると、自動化されたシステムにHarborを統合して使用することが可能になる。これらのアカウントでは、リポジトリからのイメージのプルおよびプッシュを許可するトークンを、管理者に提供するように構成することができる。
今回のリリースでは、Harbor-to-Harborレプリケーション機能が拡張され、プッシュレプリケーションとプルレプリケーションの両方を使用して、HarborとDocker Hub、Docker Registry、Huawei Cloudとの間でリソースをレプリケートするサポートが追加されている。Harborブログで明確に述べられているように、"(パブリッククラウドの)組み込みレジストリは、Harborの持つ多くの機能、特にイメージの静的分析に関する機能を提供していません"。この機能によってHarborは、すべてのイメージの中央リポジトリとして運用することが可能になっている。他のレジストリには必要に応じてレプリケーションを実行し、純粋なコンテンツリポジトリとして機能させることができる。これにより、脆弱性のスキャンとコンプライアンスの実施にHarborを使用することが可能になる。
今回のリリースに付属する追加機能としては、次のようなものがある。
- すべてのコンポーネントの詳細なステータスとヘルスを提供する、ヘルスチェックAPI
- Harborが拡張するDocker Registryバージョンが、2.7.1にアップデートされた
- 管理者がcron文字列を使用して、スキャン、ガベージコレクション、レプリケーションジョブのジョブスケジュールを定義できるようになった
- エンドユーザは、HarborのUI内のSwagger UIを通じてHarborAPIを呼び出し可能になった
リリースされた機能の詳細についてはHarborのブログか、またはGitHubのユーザーガイドを参照して頂きたい。Harborは、コミュニティの拡大を積極的に模索しており、コーディング、テスト、一般的フィードバックに参加可能な人たちを探している。興味がある人は、CNCF Slackの#harbor Slackチャネルに参加するとよいだろう。Harborはオープンソースで、各リリースはGitHubのページから入手可能だ。