From: | "Greenmask(dot)io via PostgreSQL Announce" <announce-noreply(at)postgresql(dot)org> |
---|---|
To: | PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org> |
Subject: | Greenmask v0.1.0 Release |
Date: | 2024-01-11 14:21:19 |
Message-ID: | 170498287959.664.1413985892239064572@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-announce |
## PostgreSQL Dump and Obfuscation Tool
We are excited to announce the release of Greenmask v0.1.0, marking the first production-ready version. This release addresses various bug fixes, introduces improvements, and includes documentation refactoring for enhanced clarity.
### Greenmask overview
#### Key Features
- Cross-Platform Support: Developed in Go, Greenmask is free of platform dependencies.
- Type-Safe Database Operations: Ensures data validation and encoding, maintaining integrity.
- Transformation Validation: Guarantees correct and maintainable data transformations.
- Partitioned Table Support: Eases configuration for partitioned tables.
- Stateless and Backward Compatible: Compatible with standard PostgreSQL utilities.
- Parallel Execution: Boosts efficiency in dumping and restoration processes.
- Multiple Storage Options: Offers support for both local and remote storage solutions.
#### Use Cases
- Perfect for routine backup and restoration tasks.
- Aids in anonymization and data masking for staging environments and analytics.
### Release notes
#### Improvements
- Improved verbosity in custom transformer interaction, accumulating stderr data and forwarding it in batches instead of writing it one by one.
- Added positional arguments for the list-transformers command, allowing specific transformer information retrieval (e.g., `greenmask list-transformers RandomDate`).
- Added version parameter --version that prints greenmask utility version
- Added Numeric parameters support for Int and Float transformers, with the caveat that in a few cases, it may lead to out-of-range errors.
#### Changes
- Updated dependencies to newer versions.
- Enhanced the stability of the JSON line interaction protocol by utilizing the stdlib JSON encoder/decoder.
- Modified the method for sending table metadata to custom transformers; now, it is sent via stdin in the first line in JSON format instead of providing it via command arguments.
- Refactored template functions naming.
- Rewritten NoiseDate transformer implementation for improved stability and predictability.
- Changed the default value for the Dict transformer fail_not_matched parameter to true.
- Rewritten Hash transformer, now providing a salt parameter and receiving a base64 encoded salt. If a salt is not provided, it generates one randomly.
- Added validator for NoiseDate and RandomDate transformers for the truncate parameter, issuing a warning if the provided value is invalid.
- Increased verbosity of parameter validation warnings, now properly forwarding warnings to stdout.
#### Fixes
- Resolved pgx driver connection leakage issue.
- Fixed deletion failure of dumps for S3 storage.
- Corrected cobra autocompletion for the Greenmask utility.
- Fixed NOT NULL constraint validation.
- Addressed JSON API interaction issues that previously caused deadlocks and timeouts.
- Fixed encode-decoding for binary parameters, ensuring accurate forwarding of values to custom transformers.
- Fixed the RandomChoice transformer to correctly marshal and unmarshal values during validation.
- Introduced the Nullable property for the SetNull transformer to enhance NOT NULL constraint validation.
- Resolved text wrapping issues for the validate command.
- Fixed build failures on Windows due to Linux platform dependencies.
- Corrected stdout readline buffer reading during interaction with custom transformers.
- Fixed integration tests.
#### Ecosystem Changes
- Implemented CI/CD for the entire project.
- Established a user-friendly playground in Docker-compose, including:
- Deployed Minio storage container.
- PostgreSQL container containing both the original database (Adventure Works) and the transformed (empty DB).
- Greenmask container itself.
- Refactored current readme files.
### Community Participation
We highly value feedback and suggestions from the PostgreSQL community. Your insights and testing are crucial for enhancing Greenmask's robustness and utility.
### Useful Links
- [Documentation](https://greenmask.io/)
- [Release on GitHub](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.0)
- [Email Support](mailto:support(at)greenmask(dot)io)
From | Date | Subject | |
---|---|---|---|
Next Message | Slonik Events Canada via PostgreSQL Announce | 2024-01-11 16:38:59 | PGConf.dev 2024 - CFP Closing & Registration Open! |
Previous Message | Gilles Darold via PostgreSQL Announce | 2024-01-11 14:20:36 | pg_dumpbinary v2.14 released |