# 変更履歴 (Changelog) すべての重要な変更は本ドキュメントに記録されます。 バージョニングは [Semantic Versioning 2.0.0](https://semver.org/lang/ja/) に準拠しています。 --- ## [1.0.0] - 2026-09-24 ### 🎉 初版リリース (Initial Release) Tollgate の最初のメジャーバージョンです。マルチテナント SaaS・マイクロサービス基盤向けの軽量 API キー管理 & 認可リバースプロキシとして、単一バイナリによるゼロ依存起動から大規模分散構成までをサポートします。 ### ✨ 主な機能 #### 1. API キー ライフサイクル管理 & 認可 - **マルチテナント二段構成**: - **テナントキー**: テナント ID とサービス ID を保持し、下流サービスへ確実にコンテキストを注入。 - **サービスキー**: クライアント指定の動的 `X-Tenant-ID` を透過フォワード。 - **セキュアな設計 (Fail-Fast)**: - 平文キーは一切永続化せず SHA-256 ダイジェストのみを保存。 - 認証コンテキスト不一致(コンフリクト)時は `403 Forbidden` で即座に遮断。 - フォールバックシークレットのハードコードを完全排除。 - **ゼロダウンタイム・キーローテーション**: - 旧キーの猶予期間(Grace Period)を保ちながら新キーを即時発行。 - **高速キャッシュ層**: - TTL によるキーメタデータのインメモリキャッシュを内蔵。 #### 2. 動的マルチターゲット・リバースプロキシ - パスプレフィックスに応じた自動ルーティング、Prefix Stripping、スコープ認可(`billing:*` 等)。 - 接続プール最適化および TIME_WAIT 枯渇抑止トランスポートチューニング。 #### 3. マルチストレージ・アーキテクチャ - **SQLite** (`modernc.org/sqlite`): CGO 不要な純 Go 実装。外部コンテナなし・単一バイナリで即座に起動可能。 - **Amazon DynamoDB**: AWS 完全マネージド、GSI スパースインデックス対応。 - **Azure Cosmos DB** (`github.com/Azure/azure-sdk-for-go/sdk/data/azcosmos`): Azure 完全マネージド NoSQL、Point Read (1 RU) 最適化。 - **Google Cloud Firestore** (`cloud.google.com/go/firestore`): GCP ネイティブ NoSQL、アトミックトランザクション対応。 #### 4. 高精度レートリミット & クォータ制御 - **分散スライディングウィンドウ (Redis / Valkey)**: Redis Sorted Set + Lua スクリプトによるミリ秒精度のアトミック流量制御。Redis 障害時の Fail-Open(可用性優先)設計。 - **2段キャッシュレートリミット (Two-Tier)**: L1 ローカルインメモリ判定 + L2 分散 Redis / Valkey 同期のハイブリッド階層化制御。 - **インメモリ・スライディングウィンドウ**: 極小メモリフットプリントなノードローカル流量制限。 - **月間クォータ集計**: アトミックカウンターによる月間リクエスト上限管理。 #### 5. オブザーバビリティ & ドキュメント - **Kubernetes プローブ**: `/livez`、`/readyz`、`/healthz` - **Prometheus メトリクス**: `/metrics` - **Grafana 連携**: 事前設定済みダッシュボードおよび自動プロビジョニング設定の同梱。 - **API ドキュメント**: OpenAPI 3.1 仕様 (`/openapi.json`) および Scalar UI (`/docs`) の内蔵。