Hiraeth 是一款專注於快速整合測試的本地 AWS 模擬器。簽署的 AWS SDK 請求會通過本地 HTTP 端點,狀態儲存在 SQLite 中,可選的網頁 UI 則用於暴露本地服務狀態以進行調試。
此專案尚處於早期階段。它旨在用於本地開發和測試環境,而非作為生產環境的 AWS 替代品。
AWS 相容端點監聽於 http://localhost:4566 。管理員 UI 監聽於 http://localhost:4567 。
有關服務特定範例、API 支援和當前功能的不足,請參閱:
Compose 會將 SQLite 資料寫入容器內的 /data/db.sqlite。如果您希望資料在容器重建後仍能保留,請掛載您自己的磁碟區或綁定掛載至 /data。
發行映像檔已發佈至 GitHub Container Registry:
發行維護者可以從本地 Docker Buildx 環境發佈適用於 linux/amd64 和 linux/arm64 的多架構映像檔:
publish 腳本會推送 ghcr.io/sethpyle376/hiraeth:<tag> 。標籤必須符合 v*.*.* 的發行格式。
從原始碼運行時,建議將 HIRAETH_DATABASE_URL 設定為 .local/ 或另一個已存在的目錄下的路徑。
網頁 UI 是用於本地服務狀態的管理/調試介面。目前的服務特定 UI 覆蓋範圍記錄在 docs/iam 、docs/sns 和 docs/sqs 下。
追蹤儀表板會記錄本地 AWS 請求、跨越運行時和服務層的 span,以及完整的請求/響應主體。有關使用說明和資料暴露細節,請參閱追蹤文件。
網頁 UI 不使用 SigV4 身份驗證。除非您有意暴露本地測試狀態,否則請將 HIRAETH_WEB_HOST 綁定到受信任的介面上。
目前的 UI 會將其 JavaScript 和 CSS 資產進行供應,並從 Hiraeth 網頁進程提供服務。
Hiraeth 旨在作為整合測試的輕量級本地端點,非常實用。將 AWS SDK 客戶端、AWS CLI 命令或 Terraform 提供者端點配置為使用 http://localhost:4566 並搭配本地測試 / test 憑證。
AI 工具被用於此專案的開發工作流程中,用於程式碼生成、重構、測試編寫、文件草稿和設計討論。
大多數運行時程式碼是手工編寫的,大多數測試程式碼是生成的。儘管如此,所有變更都會經過人類維護者的審查、編輯和接受,並且該專案依賴於正常的工程檢查,例如測試、SQLx 查詢檢查和手動審查,而不是將 AI 輸出視為權威。
歡迎提供相容性報告、專注的錯誤修復、文件改進和小服務對等改進。有關開發工作流程、建議的 issue 標籤和入門貢獻想法,請參閱 CONTRIBUTING.md。
Hiraeth 在 MIT 授權條款下授權。
準備由 SQLx 查詢檢查使用的本地資料庫:
將 SQS 佇列和訊息種子植入正在運行的 Hiraeth 端點:
預設情況下,這會以本地測試 / test 憑證目標 http://localhost:4566 。使用 cargo run -p xtask -- seed --help 查看端點、區域、憑證、前綴和重置選項。
以 CI 風格模式檢查 SQLx 中繼資料:
當查詢或遷移更改時,應提交 .sqlx/ 下的已檢查 SQL 中繼資料。
專注於快速整合測試的本地 AWS 模擬器,支援 SQS、SQLite 狀態及調試友善的網頁 UI。