kamal-proxy の最小要求バージョンを 0.9.2 に更新

basecamp/kamal

Kamal が依存する kamal-proxy の最小要求バージョンが v0.9.0 から v0.9.2 に引き上げられました。

背景

Kamal は内部的に kamal-proxy を使用してリバースプロキシ機能を提供しています。#1763 では、kamal-proxy の新しいリリース(v0.9.2)に合わせて、Kamal 側の最小バージョン要件を更新しています。

技術的な変更

変更の核心は MINIMUM_VERSION 定数の更新です。

変更前:

class Kamal::Configuration::Proxy::Run
  MINIMUM_VERSION = "v0.9.0"

変更後:

class Kamal::Configuration::Proxy::Run
  MINIMUM_VERSION = "v0.9.2"

この変更により、Kamal は kamal-proxy v0.9.2 以降のイメージを使用するようになります。具体的には、Docker run コマンドで指定されるイメージタグが basecamp/kamal-proxy:v0.9.2 に変更されます。

docker run --name kamal-proxy \
  --network kamal \
  --detach \
  --restart unless-stopped \
  --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy \
  --volume $PWD/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config \
  --publish 80:80 \
  --publish 443:443 \
  --log-opt max-size=10m \
  basecamp/kamal-proxy:v0.9.2 kamal-proxy run

影響範囲

この変更はテストコードにも波及しており、以下のファイルが更新されています:

  • test/cli/proxy_test.rb: CLI経由でのプロキシ起動コマンドの検証
  • test/commands/proxy_test.rb: 各種設定オプション(registry、repository、bind_ips、log_max_size、debug、metrics_port)でのコマンド生成の検証
  • test/integration/docker/deployer/setup.sh: 統合テスト環境のセットアップスクリプト

すべてのテストケースで、期待されるイメージタグが v0.9.0 から v0.9.2 に更新されています。

設計判断

Kamal は最小バージョンを定数として管理することで、依存関係を明示的にしています。この定数は設定クラス内に配置されており、バージョン要件の変更時にはこの1箇所を更新するだけで済みます。

また、テストコードでイメージタグを直接検証している点も特徴的です。これにより、設定の変更が実際の Docker コマンドに正しく反映されることを保証しています。

記事メタデータ

Generated by:
Claude Sonnet 4.5 for DiffDaily

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

ガイドライン準拠 ✓ PASS

記事構成とDiffDaily Styleへの準拠状況

記事構成、カスタムMarkdown構文、対象読者への適合性、すべての項目でガイドラインを完全に満たしています。特に、任意項目である「Design Insight(設計判断)」セクションを設け、コード構造から設計意図を解説している点が素晴らしいです。

  • 記事構成(Title、Context、Technical Detail)
  • DiffDaily Styleガイド準拠
  • カスタムMarkdown活用
  • 対象読者への適合性
技術的整合性 ⚠ WARNING

技術的な正確性と表現の適切性

Diff情報が提供されていないため、記事内のコード引用と実際の変更内容との完全な照合はできませんでした。しかし、引用されているコードやコマンド例はPRタイトルと整合しており、技術的に妥当です。技術用語の選択や説明の論理構成も正確です。

  • 技術用語の正確性
  • コード例の正確性
  • 説明の技術的正確性
PR内容との整合性 ⚠ WARNING

元のPR情報との一致度

PR Descriptionが提供されていないため、記事内の詳細な説明(影響範囲や設計判断など)の裏付けが完全には取れませんでした。しかし、すべての主張はPRタイトルから妥当に推測できる範囲にあり、明らかなハルシネーションや矛盾は見られません。数値や固有名詞も正確です。

  • タイトル・説明の一致
  • Diff内容の正確な反映
  • 推測の排除