Files
a620906209 81411877f8
Run Tests / test (pull_request) Successful in 32s
chore(openspec): 歸檔 cloud-ready-s3-storage + 同步主規格
程式碼部分(tasks 1-3)已完成並測試通過,符合 spec 描述的行為(可測試
的程式邏輯,非部署狀態)。R2 帳號申請、VPS 部署與正式切換(tasks 4-6)
仍暫緩,待後續另開 change 處理,archive 後的 tasks.md 保留暫緩註記。

順便修正 env-cloud-annotations 主規格缺少 ## Purpose section 的問題
(openspec CLI 現版本嚴格驗證要求),這是既有規格檔案的既存缺口,本次
只修了本 change 有動到的這一份,其餘規格檔案的同類問題不在此次範圍。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011LpcY9b7y9x4fusHBTXciQ
2026-08-03 04:00:17 +08:00

1.9 KiB
Raw Blame History

MODIFIED Requirements

Requirement: .env.example 標示雲端必要變數

.env.example SHALL 以行內註解或正確預設值標示以下雲端部署時必須明確設定的變數:

  • FILESYSTEM_DISK預設維持 local(本機開發環境無 S3 相容服務可用);雲端部署時 SHALL 手動設為 s3 並補齊 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_BUCKETAWS_ENDPOINTAWS_URLAWS_USE_PATH_STYLE_ENDPOINT 等變數,此時上傳行為 SHALL 實際切換至 S3 相容物件儲存(不再只是文件註解提醒,public disk 驅動確實依此變數切換)
  • LOG_CHANNEL:預設改為 stderr(雲端 logging aggregator 標準;原 stack/daily 寫檔案不適合雲端)
  • QUEUE_CONNECTION:預設為 redis
  • SESSION_DRIVER:預設改為 redis(取代 database,擴容更高效)

Scenario: 新環境照 .env.example 初始化 session driver

  • WHEN 開發者以 .env.example 為基礎建立 .env,未手動修改 SESSION_DRIVER
  • THEN Laravel session driver 使用 Redis

Scenario: 新環境照 .env.example 初始化 log channel

  • WHEN 開發者以 .env.example 為基礎建立 .env,未手動修改 LOG_CHANNEL
  • THEN Laravel 日誌寫入 stderr,可透過 docker compose logs app 查看

Scenario: 新環境照 .env.example 初始化檔案儲存

  • WHEN 開發者以 .env.example 為基礎建立 .env,未手動修改 FILESYSTEM_DISK
  • THEN 上傳檔案寫入本機磁碟,不需任何 S3 credentials 即可完整跑起來

Scenario: 操作者閱讀 .env.example 進行雲端部署

  • WHEN 操作者參照 .env.example 設定雲端環境的 .env
  • THEN 每個雲端關鍵變數旁有說明,提示預設值在雲端環境的限制與建議替代值,且 FILESYSTEM_DISK 的說明明確指出改為 s3 後需一併設定哪些 AWS_* 變數