Greenmask v0.1.7 Release

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.7 Release
Date: 2024-04-12 13:34:04
Message-ID: 171292884413.677.2742917245185705322@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

# Greenmask v0.1.7 Release

## PostgreSQL Dump and Obfuscation Tool

This release introduces a new Greenmask command, improvements, bug fixes, and documentation updates.

# Greenmask Overview

## Key Features

* **Cross-platform** — can be easily built and executed on any platform, thanks to its Go-based architecture,
which eliminates platform dependencies.
* **Interactive** - allows to check the transformation result and show problems if any using the single command `validate`
* **Schema difference check** - validate your current database with the previous dump in storage and show diff
* **Database type safe** — ensures data integrity by validating data and utilizing the database driver for
encoding and decoding operations. This approach guarantees the preservation of data formats.
* **Transformation validation and easy maintainable** — during obfuscation development, Greenmask provides validation warnings and a transformation diff feature, allowing you to monitor and maintain transformations effectively throughout the software lifecycle.
* **Partitioned tables transformation inheritance** — define transformation configurations once and apply them to all partitions within partitioned tables, simplifying the obfuscation process.
* **Stateless** — Greenmask operates as a logical dump and does not impact your existing database schema.
* **Backward compatible** — it fully supports the same features and protocols as existing vanilla PostgreSQL utilities. Dumps created by Greenmask can be successfully restored using the pg_restore utility.
* **Extensible** — users have the flexibility to implement domain-based transformations in any programming language or use predefined templates.
* **Declarative** — Greenmask allows you to define configurations in a structured, easily parsed, and recognizable format.
* **Integrable** — integrate Greenmask seamlessly into your CI/CD system for automated database obfuscation and restoration.
* **Parallel execution** — take advantage of parallel dumping and restoration, significantly reducing the time required to deliver results.
* **Provide a variety of storage** — Greenmask offers a variety of storage options for local and remote data storage, including directories and S3-like storage solutions.

### Greenmask is ideally suited for:

* Routine backup and restoration tasks, ensuring data integrity and availability.
* Anonymization and data masking for staging environments and analytics, protecting sensitive information while maintaining data utility.

## Release Notes

### v0.1.7

##### New features

* Added restoration filtering by `--table`, `--schema` and `--exclude-schema` parameters
* Validate command without parameters validates only the configuration file
* Added the `--schema` parameter, which allows to make a schema diff between the previous dump and the current. This
is useful when you want to check if the schema has changed after the migration. By controlling it we can exclude
data leakage after migration
* Validate command divided by many stages that can be controlled using parameters
* Configuration validation
* Transformer validation
* Constraint violation check
* Data difference check
* Schema difference check

##### Improvements

* Improved Hash transformer
* Added salt parameter that can be set via config or via `GREENMASK_GLOBAL_SALT`
* Added sha3 functions support in different modes (sha3-224, sha3-256, sha3-384, sha3-512)
* Refactored `Cmd` transformer logic
* Json API: Now it allows to use of column names instead of column indexes in JSON format
* Csv API: Now it can use the column order from config via column remapping
* The `validate` command was rewritten almost from scratch.
* New option `--transformed-only` - displays only columns that are transformed with a primary key (if exists). This
allows to reduce the output data and make it more readable
* Implemented `json` format for output
* Added the `--table-format` parameter which is responsible for the `vertical` and `horizontal` table orientation.
This works only when `--format=text`
* Added the `--warnings` parameter, if it is specified then not only fatal-warnings will be displayed, but also
those with a lower severity

##### Fixes

* Fixed `--use-list` option - now it applies to entries according to the order in the list file
* Fixed `--use-list` option behavior together with `--list-format` option (`json` or `text`). Now it
generates a temporal list file in text format for providing it to the pg_restore call
* Updated documentation according to the latest changes

### v0.1.2 - v0.1.6

* Fixed uncontrolled buffer growth in the restore command
* The `Hash` transformer has been completely remastered and now has the `function` parameter to choose from several hash algorithm options and the `max_length` parameter to truncate the hash tail.
* Split information about transformers between the `list-transformers` and new `show-transformer` CLI commands, which allows for more comprehensible and useful outputs for both commands
* Added error severity for the `Cmd` parameter validator
* Significantly refactored the structure and content of documentation
* Fixed metadata enrichment for validation warnings caused by `RawValueValidator`
* Fixed a typo in the `credit_card` value for the `type` parameter of the `Masking` transformer
* Fixed Greenmask Playground environment variables and the `cleanup` command
* Fixed `list-dump`, `list-transformers`, and `restore` commands exit code on error
* Fixed database connection parameters behavior fields
* Fixed Json transformer: now it correctly parses operations field
* Fixed bug when raw COPY lines were parsed incorrectly
* Fixed `--version` parameter behavior

## Useful Links

Change log [greenmask.io](https://greenmask.io/release_notes/greenmask_0_1_7/)

Explore detailed [Documentation](https://greenmask.io/)

Access the [Latest Release on GitHub](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.7)

Contact us for support at [Email Support](mailto:support(at)greenmask(dot)io)

Browse pgsql-announce by date

  From Date Subject
Next Message HexaCluster via PostgreSQL Announce 2024-04-12 13:50:18 pgtt v3.2 has been released
Previous Message Brick Abode via PostgreSQL Announce 2024-04-09 19:16:01 Announcing pl/dotnet, version 0.99 (beta)