Greenmask v0.1.0 版本發布
發布於 2024-01-11,作者 Greenmask.io
相關開源專案
PostgreSQL Dump 和混淆工具
我們很高興地宣布 Greenmask v0.1.0 的發布,標誌著第一個可投入生產的版本。此版本解決了各種錯誤修復,引入了改進,並包括了文件重構以提高清晰度。
Greenmask 概覽
主要功能
- 跨平台支援:Greenmask 以 Go 開發,不受平台依賴性的限制。
- 類型安全資料庫操作:確保資料驗證和編碼,保持完整性。
- 轉換驗證:保證正確且可維護的資料轉換。
- 分割資料表支援:簡化分割資料表的配置。
- 無狀態和向後相容:與標準 PostgreSQL 實用程式相容。
- 平行執行:提高傾印和還原過程的效率。
- 多種儲存選項:提供對本地和遠端儲存解決方案的支援。
使用案例
- 非常適合例行備份和還原任務。
- 有助於用於 staging 環境和分析的匿名化和資料遮罩。
發布說明
改進
- 改進了自訂轉換器互動的詳細程度,累積 stderr 資料並分批轉發,而不是逐個寫入。
- 為 list-transformers 命令新增了位置參數,允許檢索特定的轉換器資訊(例如,
greenmask list-transformers RandomDate
)。
- 新增了版本參數 --version,用於印出 greenmask 實用程式版本
- 為 Int 和 Float 轉換器新增了數值參數支援,但需要注意的是,在少數情況下,可能會導致超出範圍的錯誤。
變更
- 已將相依性更新到較新版本。
- 透過使用 stdlib JSON 編碼器/解碼器,增強了 JSON 行互動協定的穩定性。
- 修改了將資料表元資料傳送到自訂轉換器的方法;現在,它通過 stdin 以 JSON 格式在第一行發送,而不是通過命令參數提供。
- 重構了範本函數命名。
- 重寫了 NoiseDate 轉換器的實作,以提高穩定性和可預測性。
- 將 Dict 轉換器 fail_not_matched 參數的預設值更改為 true。
- 重寫了 Hash 轉換器,現在提供了一個 salt 參數並接收 base64 編碼的 salt。如果未提供 salt,則會隨機產生一個。
- 為 NoiseDate 和 RandomDate 轉換器的 truncate 參數新增了驗證器,如果提供的值無效,則發出警告。
- 增加了參數驗證警告的詳細程度,現在可以正確地將警告轉發到 stdout。
修復
- 解決了 pgx 驅動程式連線洩漏問題。
- 修復了 S3 儲存的傾印刪除失敗的問題。
- 更正了 Greenmask 實用程式的 cobra 自動完成功能。
- 修復了 NOT NULL 約束驗證。
- 解決了之前導致死鎖和逾時的 JSON API 互動問題。
- 修復了二進制參數的編碼-解碼,確保將值準確地轉發到自訂轉換器。
- 修復了 RandomChoice 轉換器,以便在驗證期間正確地 marshal 和 unmarshal 值。
- 為 SetNull 轉換器引入了 Nullable 屬性,以增強 NOT NULL 約束驗證。
- 解決了 validate 命令的文字換行問題。
- 修復了由於 Linux 平台依賴性導致的 Windows 上的建置失敗。
- 更正了與自訂轉換器互動期間的 stdout readline 緩衝區讀取。
- 修復了整合測試。
生態系統變更
- 為整個專案實作了 CI/CD。
- 在 Docker-compose 中建立了一個使用者友善的遊樂場,包括
- 已部署 Minio 儲存容器。
- PostgreSQL 容器,包含原始資料庫 (Adventure Works) 和轉換後的(空資料庫)。
- Greenmask 容器本身。
- 重構了目前的 readme 檔案。
社群參與
我們高度重視 PostgreSQL 社群的回饋和建議。您的見解和測試對於增強 Greenmask 的穩健性和實用性至關重要。
實用連結