by shigemk2

当面は技術的なことしか書かない

Renovate/Mend.io メモ

経緯:買収による統合

Renovate Botは、依存関係の自動更新ツールで、2019年にMend.ioに買収された。

買収に伴い、それまで有料だったGitHub Appのプライベートリポジトリ向けプランと、セルフホスト型の Renovate Pro の両方が無料化された。これらは「Mend Renovate」というブランドに統合されている。

Renovate とは何か

Renovate の中核は、リポジトリから依存関係ファイルを取得し、バージョン更新情報やチェンジログをダウンロードして、プルリクエストを通じて更新を提案する JavaScript プロセス。npm、Java、Python、.NET、Scala、Ruby、Go、Docker など90以上のパッケージマネージャーをサポートしている。

オープンソースの維持

買収後も、Renovateのコア機能はオープンソースリポジトリで引き続き開発されており、OSIライセンスの下で公開されている。つまり、CLIツールはnpmやDocker Hub を通じて従来通り無料で利用可能。GitHub上のrenovatebot/renovateリポジトリはMend.ioが公式にサポート・メンテナンスしている。

現在の製品ラインナップ

Mend Renovateは現在3つの製品階層で提供されています。

  • Renovate CLI(OSS) 無料でオープンソースのコミュニティ主導バージョンで、基本的な依存関係管理機能を備えている。個人開発者や小規模チーム向け。
  • Mend Renovate Community — こちらも無料、ジョブスケジューリングやAPIアクセスなどの利便性向上機能が追加。組み込みのスケジューラーモジュールがリポジトリを設定可能な間隔でキューに入れ、Webhookリスナーがリポジトリイベントを検知して即座にRenovateジョブをトリガー。
  • Mend Renovate Enterprise エンプラ

Mend Remediate との関係

Mend.ioは「MendRemediate」という関連製品がある。MendRemediateは脆弱なオープンソースコンポーネントに対して、最も低い非脆弱バージョンへのアップグレードを行う修正プルリクエストを自動で作成するツール。Remediateは内部的にRenovateCLIをサブプロセスとして実行しており、各リポジトリスキャンごとに親プロセスの環境変数を継承して動作する。つまり、RemediateはRenovateのエンジンの上に、Mend.ioの脆弱性検知機能を組み合わせた上位製品という位置づけ。

公式ドキュメント

主なドキュメントの所在は以下の通りです。

OSS のコアは引き続きオープンに開発されつつ、Mend.io がエンタープライズ向けの機能やサポートを上乗せして商用展開している、という関係。