From 72c99e8b8a666853910cbba98610d770a7ac279b Mon Sep 17 00:00:00 2001 From: Vladimir Tarbaev Date: Wed, 7 Feb 2024 02:35:47 +0300 Subject: [PATCH 1/8] =?UTF-8?q?*=20=D1=81hanges=20CI/CD=20pipeline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index acd3c12d..8a51feed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.go-version }} @@ -81,35 +81,42 @@ jobs: uses: actions/checkout@v4 - name: Setup Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.go-version }} - - - name: Echo Go version - run: go version - name: Build with different arch run: | export GOOS=$(echo ${{ matrix.platforms }} | cut -d '/' -f 1) export GOARCH=$(echo ${{ matrix.platforms }} | cut -d '/' -f 2) export GOARM=$(echo ${{ matrix.platforms }} | cut -d '/' -f 3 | cut -d 'v' -f 2) - if [[ "x$GOOS" == "xwindows" ]]; then - make build CMD_NAME="builds/${{ env.cmd-name }}_${GOOS}_${GOARCH}.exe" - elif [[ "x$GOARM" != "x" ]]; then - make build CMD_NAME="builds/${{ env.cmd-name }}_${GOOS}_${GOARCH}v${GOARM}" + if [[ "$GOOS" == "windows" ]]; then + make build CMD_NAME="builds/${{ env.cmd-name }}.exe" else - make build CMD_NAME="builds/${{ env.cmd-name }}_${GOOS}_${GOARCH}" + make build CMD_NAME="builds/${{ env.cmd-name }}" fi - - name: Create checksums + - name: Create checksum if: startsWith(github.ref, 'refs/tags/v') working-directory: builds run: | find . -type f -exec shasum -a 256 -b {} + | sed 's# \*\./# *#' | while read sum file; do echo "$sum $file" > "${file#\*}".sha256; done - - name: List artifacts + - name: Create archive if: startsWith(github.ref, 'refs/tags/v') - run: tree -nh builds + run: | + export GOOS=$(echo ${{ matrix.platforms }} | cut -d '/' -f 1) + export GOARCH=$(echo ${{ matrix.platforms }} | cut -d '/' -f 2) + export GOARM=$(echo ${{ matrix.platforms }} | cut -d '/' -f 3 | cut -d 'v' -f 2) + export ARCHIVE_NAME=$(echo "${{ env.cmd-name }}-${GOOS}-${GOARCH}$(if [ -n "${GOARM}" ]; then echo v${GOARM}; fi).$(if [ "${GOOS}" = "windows" ]; then echo "zip"; else echo "tar.gz"; fi)") + cp LICENSE builds/ + cd builds + if [[ "$GOOS" == "windows" ]]; then + zip "${ARCHIVE_NAME}" * + else + tar -czvf "${ARCHIVE_NAME}" * + fi + find . -maxdepth 1 -type f ! -name ${ARCHIVE_NAME} -exec rm -f {} + - name: GitHub Release if: startsWith(github.ref, 'refs/tags/v') From ea951e82cc5f4eea7c1b71d72fb99a4d68a40b0b Mon Sep 17 00:00:00 2001 From: Vadim Voitenko Date: Thu, 8 Feb 2024 19:02:15 +0200 Subject: [PATCH 2/8] Command interface improvements * Introduced temporal solution for Column container. Greenmask has a few transformers with parameters that are lists of objects that point out on the columns of the table. For correct `list-transformers` and `show-transformer` command print the IsColumnContainer property is introduced. This later will rise the case for "Container" parameters introspection. * Reduced output in list-transformers command. Now it prints only the transformer name, description, and column parameters * Added `show-transformer` command that prints details about transformer found by name provided * Fixed list-dump, list-transformers, and restore commands exit code on error --- .../list_dump.go => list_dumps/list_dumps.go} | 4 +- .../list_transformers/list_transformers.go | 121 +++++++------ cmd/greenmask/cmd/restore/restore.go | 84 +++++---- cmd/greenmask/cmd/root.go | 6 +- .../cmd/show_transformer/show_transformer.go | 159 ++++++++++++++++++ internal/db/postgres/transformers/cmd.go | 3 +- .../db/postgres/transformers/real_address.go | 3 +- pkg/toolkit/parameter.go | 7 + .../toc/backward_compatibility_test.go | 7 +- 9 files changed, 287 insertions(+), 107 deletions(-) rename cmd/greenmask/cmd/{list_dump/list_dump.go => list_dumps/list_dumps.go} (98%) create mode 100644 cmd/greenmask/cmd/show_transformer/show_transformer.go diff --git a/cmd/greenmask/cmd/list_dump/list_dump.go b/cmd/greenmask/cmd/list_dumps/list_dumps.go similarity index 98% rename from cmd/greenmask/cmd/list_dump/list_dump.go rename to cmd/greenmask/cmd/list_dumps/list_dumps.go index a2c498d9..d30c6f85 100644 --- a/cmd/greenmask/cmd/list_dump/list_dump.go +++ b/cmd/greenmask/cmd/list_dumps/list_dumps.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package list_dump +package list_dumps import ( "context" @@ -43,7 +43,7 @@ var ( } if err := listDumps(); err != nil { - log.Err(err).Msg("") + log.Fatal().Err(err).Msg("") } }, } diff --git a/cmd/greenmask/cmd/list_transformers/list_transformers.go b/cmd/greenmask/cmd/list_transformers/list_transformers.go index 78a60f2c..d9f3cb41 100644 --- a/cmd/greenmask/cmd/list_transformers/list_transformers.go +++ b/cmd/greenmask/cmd/list_transformers/list_transformers.go @@ -20,9 +20,9 @@ import ( "fmt" "os" "slices" - "strconv" "strings" + "github.com/greenmaskio/greenmask/pkg/toolkit" "github.com/olekukonko/tablewriter" "github.com/rs/zerolog/log" "github.com/spf13/cobra" @@ -42,8 +42,8 @@ var ( log.Err(err).Msg("") } - if err := run(args); err != nil { - log.Err(err).Msg("") + if err := run(); err != nil { + log.Fatal().Err(err).Msg("") } }, } @@ -56,7 +56,20 @@ const ( TextFormatName = "text" ) -func run(transformerNames []string) error { +const anyTypesValue = "any" + +type parameter struct { + Name string `json:"name,omitempty"` + SupportedTypes []string `json:"supported_types,omitempty"` +} + +type jsonResponse struct { + Name string `json:"name,omitempty"` + Description string `json:"description,omitempty"` + Parameters []*parameter `json:"parameters,omitempty"` +} + +func run() error { ctx, cancel := context.WithCancel(context.Background()) defer cancel() err := custom.BootstrapCustomTransformers(ctx, utils.DefaultTransformerRegistry, Config.CustomTransformers) @@ -64,11 +77,14 @@ func run(transformerNames []string) error { return fmt.Errorf("error registering custom transformer: %w", err) } + // TODO: Consider about listing format. The transformer can have one and more columns as an input + // and + switch format { case JsonFormatName: - err = listTransformersJson(utils.DefaultTransformerRegistry, transformerNames) + err = listTransformersJson(utils.DefaultTransformerRegistry) case TextFormatName: - err = listTransformersText(utils.DefaultTransformerRegistry, transformerNames) + err = listTransformersText(utils.DefaultTransformerRegistry) default: return fmt.Errorf(`unknown format %s`, format) } @@ -79,92 +95,73 @@ func run(transformerNames []string) error { return nil } -func listTransformersJson(registry *utils.TransformerRegistry, transformerNames []string) error { - var transformers []*utils.Definition - - if len(transformerNames) > 0 { +func listTransformersJson(registry *utils.TransformerRegistry) error { + var transformers []*jsonResponse - for _, name := range transformerNames { - def, ok := registry.M[name] - if ok { - transformers = append(transformers, def) - } else { - return fmt.Errorf("unknown transformer name \"%s\"", name) + for _, def := range registry.M { + var params []*parameter + for _, p := range def.Parameters { + if !p.IsColumn && !p.IsColumnContainer { + continue } + supportedTypes := getColumnTypes(p) + params = append(params, ¶meter{Name: p.Name, SupportedTypes: supportedTypes}) } - } else { - for _, def := range registry.M { - transformers = append(transformers, def) - } + transformers = append(transformers, &jsonResponse{ + Name: def.Properties.Name, + Description: def.Properties.Description, + Parameters: params, + }) } + slices.SortFunc(transformers, func(a, b *jsonResponse) int { + return strings.Compare(a.Name, b.Name) + }) + if err := json.NewEncoder(os.Stdout).Encode(transformers); err != nil { return err } return nil } -func listTransformersText(registry *utils.TransformerRegistry, transformerNames []string) error { +func listTransformersText(registry *utils.TransformerRegistry) error { var data [][]string table := tablewriter.NewWriter(os.Stdout) var names []string - if len(transformerNames) > 0 { - for _, name := range transformerNames { - _, ok := registry.M[name] - if ok { - names = append(names, name) - } else { - return fmt.Errorf("unknown transformer name \"%s\"", name) - } - } - - } else { - for name := range registry.M { - names = append(names, name) - } - slices.Sort(names) + for name := range registry.M { + names = append(names, name) } - + slices.Sort(names) + table.SetHeader([]string{"name", "description", "column parameter name", "supported types"}) for _, name := range names { def := registry.M[name] - data = append(data, []string{def.Properties.Name, "description", def.Properties.Description, "", "", ""}) + //allowedTypes := getAllowedTypesList(def) for _, p := range def.Parameters { - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "description", p.Description, ""}) - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "required", strconv.FormatBool(p.Required), ""}) - if p.DefaultValue != nil { - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "default", string(p.DefaultValue), ""}) - } - if p.LinkParameter != "" { - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "linked_parameter", p.LinkParameter, ""}) - } - if p.CastDbType != "" { - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "cast_to_db_type", p.CastDbType, ""}) + if !p.IsColumn && !p.IsColumnContainer { + continue } - if p.ColumnProperties != nil { - if len(p.ColumnProperties.AllowedTypes) > 0 { - allowedTypes := strings.Join(p.ColumnProperties.AllowedTypes, ", ") - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "allowed_types", allowedTypes}) - } - isAffected := strconv.FormatBool(p.ColumnProperties.Affected) - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "is_affected", isAffected}) - skipOriginalData := strconv.FormatBool(p.ColumnProperties.SkipOriginalData) - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "skip_original_data", skipOriginalData}) - skipOnNull := strconv.FormatBool(p.ColumnProperties.SkipOnNull) - data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "skip_on_null", skipOnNull}) - } - + supportedTypes := getColumnTypes(p) + data = append(data, []string{def.Properties.Name, def.Properties.Description, p.Name, strings.Join(supportedTypes, ", ")}) } } + table.AppendBulk(data) table.SetRowLine(true) - table.SetAutoMergeCellsByColumnIndex([]int{0, 1, 2, 3}) + table.SetAutoMergeCellsByColumnIndex([]int{0, 1}) table.Render() return nil } +func getColumnTypes(p *toolkit.Parameter) []string { + if p.ColumnProperties != nil && len(p.ColumnProperties.AllowedTypes) > 0 { + return p.ColumnProperties.AllowedTypes + } + return []string{anyTypesValue} +} + func init() { Cmd.Flags().StringVarP(&format, "format", "f", TextFormatName, "output format [text|json]") } diff --git a/cmd/greenmask/cmd/restore/restore.go b/cmd/greenmask/cmd/restore/restore.go index 9b7b7541..dfc95400 100644 --- a/cmd/greenmask/cmd/restore/restore.go +++ b/cmd/greenmask/cmd/restore/restore.go @@ -20,6 +20,7 @@ import ( "path" "slices" + "github.com/greenmaskio/greenmask/internal/storages" "github.com/rs/zerolog/log" "github.com/spf13/cobra" "github.com/spf13/viper" @@ -36,7 +37,6 @@ var ( Args: cobra.ExactArgs(1), Short: "restore dump with ID or the latest to the target database", Run: func(cmd *cobra.Command, args []string) { - var dumpId string if err := logger.SetLogLevel(Config.Log.Level, Config.Log.Format); err != nil { log.Fatal().Err(err).Msg("fatal") @@ -49,41 +49,9 @@ var ( log.Fatal().Err(err).Msg("fatal") } - if args[0] == "latest" { - var backupNames []string - - _, dirs, err := st.ListDir(ctx) - if err != nil { - log.Fatal().Err(err).Msg("cannot walk through directory") - } - for _, dir := range dirs { - exists, err := dir.Exists(ctx, "metadata.json") - if err != nil { - log.Fatal().Err(err).Msg("cannot check file existence") - } - if exists { - backupNames = append(backupNames, dir.Dirname()) - } - } - - slices.SortFunc( - backupNames, func(a, b string) int { - if a > b { - return -1 - } - return 1 - }, - ) - dumpId = backupNames[0] - } else { - dumpId = args[0] - exists, err := st.Exists(ctx, path.Join(dumpId, "metadata.json")) - if err != nil { - log.Fatal().Err(err).Msg("cannot check file existence") - } - if !exists { - log.Fatal().Err(err).Msg("choose another dump is failed") - } + dumpId, err := getDumpId(ctx, st, args[0]) + if err != nil { + log.Fatal().Err(err).Msg("") } st = st.SubStorage(dumpId, true) @@ -104,6 +72,50 @@ var ( Config = pgDomains.NewConfig() ) +func getDumpId(ctx context.Context, st storages.Storager, dumpId string) (string, error) { + if dumpId == "latest" { + var backupNames []string + + _, dirs, err := st.ListDir(ctx) + if err != nil { + log.Fatal().Err(err).Msg("cannot walk through directory") + } + for _, dir := range dirs { + exists, err := dir.Exists(ctx, "metadata.json") + if err != nil { + log.Fatal().Err(err).Msg("cannot check file existence") + } + if exists { + backupNames = append(backupNames, dir.Dirname()) + } + } + + slices.SortFunc( + backupNames, func(a, b string) int { + if a > b { + return -1 + } + return 1 + }, + ) + dumpId = backupNames[0] + } else { + exists, err := st.Exists(ctx, path.Join(dumpId, "metadata.json")) + if err != nil { + log.Fatal(). + Err(err). + Msg("cannot check file existence") + } + if !exists { + log.Fatal(). + Err(err). + Str("DumpId", dumpId). + Msg("dump with provided id is not found") + } + } + return dumpId, nil +} + // TODO: Option that currently does not implemented: // * data-only // * exit-on-error diff --git a/cmd/greenmask/cmd/root.go b/cmd/greenmask/cmd/root.go index 34763879..429af065 100644 --- a/cmd/greenmask/cmd/root.go +++ b/cmd/greenmask/cmd/root.go @@ -26,10 +26,11 @@ import ( "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/delete_backup" "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/dump" - "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/list_dump" + "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/list_dumps" "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/list_transformers" "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/restore" "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/show_dump" + "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/show_transformer" "github.com/greenmaskio/greenmask/cmd/greenmask/cmd/validate" pgDomains "github.com/greenmaskio/greenmask/internal/domains" configUtils "github.com/greenmaskio/greenmask/internal/utils/config" @@ -90,12 +91,13 @@ func init() { ) RootCmd.AddCommand(dump.Cmd) - RootCmd.AddCommand(list_dump.Cmd) + RootCmd.AddCommand(list_dumps.Cmd) RootCmd.AddCommand(restore.Cmd) RootCmd.AddCommand(delete_backup.Cmd) RootCmd.AddCommand(show_dump.Cmd) RootCmd.AddCommand(list_transformers.Cmd) RootCmd.AddCommand(validate.Cmd) + RootCmd.AddCommand(show_transformer.Cmd) if err := RootCmd.MarkPersistentFlagRequired("config"); err != nil { log.Fatal().Err(err).Msg("") diff --git a/cmd/greenmask/cmd/show_transformer/show_transformer.go b/cmd/greenmask/cmd/show_transformer/show_transformer.go new file mode 100644 index 00000000..663e3b74 --- /dev/null +++ b/cmd/greenmask/cmd/show_transformer/show_transformer.go @@ -0,0 +1,159 @@ +// Copyright 2023 Greenmask +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package show_transformer + +import ( + "context" + "encoding/json" + "fmt" + "os" + "strconv" + "strings" + + "github.com/olekukonko/tablewriter" + "github.com/rs/zerolog/log" + "github.com/spf13/cobra" + + "github.com/greenmaskio/greenmask/internal/db/postgres/transformers/custom" + "github.com/greenmaskio/greenmask/internal/db/postgres/transformers/utils" + "github.com/greenmaskio/greenmask/internal/domains" + "github.com/greenmaskio/greenmask/internal/utils/logger" +) + +var ( + Cmd = &cobra.Command{ + Use: "show-transformer", + Args: cobra.ExactArgs(1), + Short: "show transformer details", + Run: func(cmd *cobra.Command, args []string) { + if err := logger.SetLogLevel(Config.Log.Level, Config.Log.Format); err != nil { + log.Err(err).Msg("") + } + + if err := run(args[0]); err != nil { + log.Fatal().Err(err).Msg("") + } + }, + } + Config = domains.NewConfig() + format string +) + +const ( + JsonFormatName = "json" + TextFormatName = "text" +) + +const anyTypesValue = "any" + +func run(name string) error { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + err := custom.BootstrapCustomTransformers(ctx, utils.DefaultTransformerRegistry, Config.CustomTransformers) + if err != nil { + return fmt.Errorf("error registering custom transformer: %w", err) + } + + switch format { + case JsonFormatName: + err = showTransformerJson(utils.DefaultTransformerRegistry, name) + case TextFormatName: + err = showTransformerText(utils.DefaultTransformerRegistry, name) + default: + return fmt.Errorf(`unknown format \"%s\"`, format) + } + if err != nil { + return fmt.Errorf("error listing transformers: %w", err) + } + + return nil +} + +func showTransformerJson(registry *utils.TransformerRegistry, transformerName string) error { + var transformers []*utils.Definition + + def, ok := registry.M[transformerName] + if ok { + transformers = append(transformers, def) + } else { + return fmt.Errorf("unknown transformer with name \"%s\"", transformerName) + } + + if err := json.NewEncoder(os.Stdout).Encode(transformers); err != nil { + return err + } + return nil +} + +func showTransformerText(registry *utils.TransformerRegistry, name string) error { + + var data [][]string + table := tablewriter.NewWriter(os.Stdout) + + def, err := getTransformerDefinition(registry, name) + if err != nil { + return err + } + + data = append(data, []string{def.Properties.Name, "description", def.Properties.Description, "", "", ""}) + for _, p := range def.Parameters { + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "description", p.Description, ""}) + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "required", strconv.FormatBool(p.Required), ""}) + if p.DefaultValue != nil { + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "default", string(p.DefaultValue), ""}) + } + if p.LinkParameter != "" { + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "linked_parameter", p.LinkParameter, ""}) + } + if p.CastDbType != "" { + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "cast_to_db_type", p.CastDbType, ""}) + } + if p.IsColumnContainer { + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "allowed_types", anyTypesValue}) + } + if p.ColumnProperties != nil { + allowedTypes := []string{anyTypesValue} + if len(p.ColumnProperties.AllowedTypes) > 0 { + allowedTypes = p.ColumnProperties.AllowedTypes + } + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "allowed_types", strings.Join(allowedTypes, ", ")}) + isAffected := strconv.FormatBool(p.ColumnProperties.Affected) + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "is_affected", isAffected}) + skipOriginalData := strconv.FormatBool(p.ColumnProperties.SkipOriginalData) + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "skip_original_data", skipOriginalData}) + skipOnNull := strconv.FormatBool(p.ColumnProperties.SkipOnNull) + data = append(data, []string{def.Properties.Name, "parameters", p.Name, "column_properties", "skip_on_null", skipOnNull}) + } + } + + table.AppendBulk(data) + table.SetRowLine(true) + table.SetAutoMergeCellsByColumnIndex([]int{0, 1, 2, 3}) + table.Render() + + return nil +} + +func getTransformerDefinition(registry *utils.TransformerRegistry, name string) (*utils.Definition, error) { + def, ok := registry.M[name] + if ok { + return def, nil + } + return nil, fmt.Errorf("unknown transformer \"%s\"", name) +} + +func init() { + Cmd.Flags().StringVarP(&format, "format", "f", TextFormatName, "output format [text|json]") +} diff --git a/internal/db/postgres/transformers/cmd.go b/internal/db/postgres/transformers/cmd.go index e978fb48..c5add24e 100644 --- a/internal/db/postgres/transformers/cmd.go +++ b/internal/db/postgres/transformers/cmd.go @@ -66,7 +66,8 @@ var CmdTransformerDefinition = utils.NewDefinition( `"skip_original_data": "type:bool, required:false, description: is original data required for transformer",`+ `"skip_on_null_input": "type:bool, required:false, description: skip transformation on null input"`+ `}`, - ).SetDefaultValue([]byte("[]")), + ).SetDefaultValue([]byte("[]")). + SetIsColumnContainer(true), toolkit.MustNewParameter( "executable", diff --git a/internal/db/postgres/transformers/real_address.go b/internal/db/postgres/transformers/real_address.go index d8108730..96d262c9 100644 --- a/internal/db/postgres/transformers/real_address.go +++ b/internal/db/postgres/transformers/real_address.go @@ -43,7 +43,8 @@ var RealAddressTransformerDefinition = utils.NewDefinition( `"template": "type:string, required:true, description: gotemplate with real address attributes injections",`+ `"keep_null": "type:bool, required:false, description: keep null values",`+ `}`, - ).SetRequired(true), + ).SetRequired(true). + SetIsColumnContainer(true), ) type RealAddressTransformer struct { diff --git a/pkg/toolkit/parameter.go b/pkg/toolkit/parameter.go index 81b98bd9..e4b12cdc 100644 --- a/pkg/toolkit/parameter.go +++ b/pkg/toolkit/parameter.go @@ -113,6 +113,8 @@ type Parameter struct { // IsColumn - shows is this parameter column related. If so ColumnProperties must be defined and assigned // otherwise it may cause an unhandled behaviour IsColumn bool `mapstructure:"is_column" json:"is_column"` + // IsColumnContainer - describe is parameter container map or list with multiple columns inside. It allows us to + IsColumnContainer bool `mapstructure:"is_column_container" json:"is_column_container"` // LinkParameter - link with parameter with provided name. This is required if performing raw value encoding // depends on the provided column type and/or relies on the database Driver LinkParameter string `mapstructure:"link_parameter" json:"link_parameter,omitempty"` @@ -297,6 +299,11 @@ func (p *Parameter) SetIsColumn(columnProperties *ColumnProperties) *Parameter { return p } +func (p *Parameter) SetIsColumnContainer(v bool) *Parameter { + p.IsColumnContainer = v + return p +} + func (p *Parameter) SetUnmarshaller(unmarshaller Unmarshaller) *Parameter { p.Unmarshaller = unmarshaller return p diff --git a/tests/integration/toc/backward_compatibility_test.go b/tests/integration/toc/backward_compatibility_test.go index 69e49881..9db86668 100644 --- a/tests/integration/toc/backward_compatibility_test.go +++ b/tests/integration/toc/backward_compatibility_test.go @@ -24,13 +24,14 @@ import ( "path" "time" + "github.com/jackc/pgx/v5" + "github.com/rs/zerolog/log" + "github.com/stretchr/testify/suite" + "github.com/greenmaskio/greenmask/internal/db/postgres/pgdump" "github.com/greenmaskio/greenmask/internal/domains" "github.com/greenmaskio/greenmask/internal/storages/directory" "github.com/greenmaskio/greenmask/pkg/toolkit" - "github.com/jackc/pgx/v5" - "github.com/rs/zerolog/log" - "github.com/stretchr/testify/suite" ) var config = &domains.Config{ From 8ced031b2684823525efb4803bccedfcd632ae9c Mon Sep 17 00:00:00 2001 From: Vadim Voitenko Date: Fri, 9 Feb 2024 23:32:11 +0200 Subject: [PATCH 3/8] Fixed TODO typos --- cmd/greenmask/cmd/dump/dump.go | 2 +- cmd/greenmask/cmd/restore/restore.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/greenmask/cmd/dump/dump.go b/cmd/greenmask/cmd/dump/dump.go index 6c4782f2..21708fed 100644 --- a/cmd/greenmask/cmd/dump/dump.go +++ b/cmd/greenmask/cmd/dump/dump.go @@ -64,7 +64,7 @@ var ( ) // TODO: Check how does work mixed options - use-list + tables, etc. -// TODO: Option that currently does not implemented: +// TODO: Options currently are not implemented: // - encoding // - disable-triggers // - lock-wait-timeout diff --git a/cmd/greenmask/cmd/restore/restore.go b/cmd/greenmask/cmd/restore/restore.go index dfc95400..704e7aca 100644 --- a/cmd/greenmask/cmd/restore/restore.go +++ b/cmd/greenmask/cmd/restore/restore.go @@ -116,7 +116,7 @@ func getDumpId(ctx context.Context, st storages.Storager, dumpId string) (string return dumpId, nil } -// TODO: Option that currently does not implemented: +// TODO: Options currently are not implemented: // * data-only // * exit-on-error // * use-list From 0911a8fd373c1b413cfc84894eb0c78e8770d7aa Mon Sep 17 00:00:00 2001 From: Vadim Voitenko Date: Sat, 10 Feb 2024 20:14:29 +0200 Subject: [PATCH 4/8] New Hash transformer implementation. * New `Hash` transformer uses `sha1` hash by default. * Added parameter `function` that can provide a choice of possible hash algorithms `md5, sha1, sha256, sha512`. * Added `max_length` parameter allowing to truncate hash tail higher than provided length. The default value is `0` - meaning "do not truncate" * Fixed metadata enrichment for validation warnings caused by `RawValueValidator` Additional changes: * Added Error severity for Cmd parameter validator Closes #8 --- internal/db/postgres/transformers/cmd.go | 2 +- internal/db/postgres/transformers/hash.go | 149 +++++++++---- .../db/postgres/transformers/hash_test.go | 210 ++++++++++++++++-- pkg/toolkit/parameter.go | 8 +- 4 files changed, 294 insertions(+), 75 deletions(-) diff --git a/internal/db/postgres/transformers/cmd.go b/internal/db/postgres/transformers/cmd.go index e978fb48..c778432f 100644 --- a/internal/db/postgres/transformers/cmd.go +++ b/internal/db/postgres/transformers/cmd.go @@ -455,7 +455,7 @@ func cmdValidateSkipBehaviour(p *toolkit.Parameter, v toolkit.ParamsValue) (tool if value != skipOnAnyName && value != skipOnAllName { return toolkit.ValidationWarnings{ toolkit.NewValidationWarning(). - AddMeta("ParameterName", p.Name). + SetSeverity(toolkit.ErrorValidationSeverity). AddMeta("ParameterValue", value). SetMsg(`unsupported skip_on type: must be one of "all" or "any"`), }, nil diff --git a/internal/db/postgres/transformers/hash.go b/internal/db/postgres/transformers/hash.go index ffccb953..f10209d5 100644 --- a/internal/db/postgres/transformers/hash.go +++ b/internal/db/postgres/transformers/hash.go @@ -16,24 +16,19 @@ package transformers import ( "context" - crand "crypto/rand" - "encoding/base64" + "crypto/md5" + "crypto/sha1" + "crypto/sha256" + "crypto/sha512" + "encoding/hex" "fmt" - "slices" - - "golang.org/x/crypto/scrypt" + "hash" + "strconv" "github.com/greenmaskio/greenmask/internal/db/postgres/transformers/utils" "github.com/greenmaskio/greenmask/pkg/toolkit" ) -// TODO: Make length truncation - -const ( - saltLength = 32 - bufLength = 1024 -) - var HashTransformerDefinition = utils.NewDefinition( utils.NewTransformerProperties( "Hash", @@ -51,17 +46,27 @@ var HashTransformerDefinition = utils.NewDefinition( ).SetRequired(true), toolkit.MustNewParameter( - "salt", - "salt for hash function base64 encoded", - ), + "function", + "hash function name. Possible values sha1, sha256, sha512, md5", + ).SetDefaultValue([]byte("sha1")). + SetRawValueValidator(validateHashFunctionsParameter), + + toolkit.MustNewParameter( + "max_length", + "limit length of hash function result", + ).SetDefaultValue([]byte("0")). + SetRawValueValidator(validateMaxLengthParameter), ) type HashTransformer struct { - salt toolkit.ParamsValue - columnName string - affectedColumns map[int]string - columnIdx int - res []byte + columnName string + affectedColumns map[int]string + columnIdx int + h hash.Hash + maxLength int + encodedOutputLength int + hashBuf []byte + resultBuf []byte } func NewHashTransformer( @@ -80,28 +85,46 @@ func NewHashTransformer( affectedColumns := make(map[int]string) affectedColumns[idx] = columnName - var salt toolkit.ParamsValue - p = parameters["salt"] - var err error - if len(p.RawValue()) > 0 { - salt, err = base64.StdEncoding.DecodeString(string(p.RawValue())) - if err != nil { - return nil, nil, fmt.Errorf("error decoding \"salt\" value from base64: %w", err) - } - } else { - b := make(toolkit.ParamsValue, saltLength) - if _, err := crand.Read(b); err != nil { - return nil, nil, err - } - salt = b + p = parameters["function"] + var hashFunctionName string + if _, err := p.Scan(&hashFunctionName); err != nil { + return nil, nil, fmt.Errorf("unable to scan \"function\" parameter: %w", err) + } + + p = parameters["max_length"] + var maxLength int + if _, err := p.Scan(&maxLength); err != nil { + return nil, nil, fmt.Errorf("unable to scan \"max_length\" parameter: %w", err) + } + + var h hash.Hash + var hashFunctionLength int + switch hashFunctionName { + case "md5": + h = md5.New() + hashFunctionLength = 16 + case "sha1": + h = sha1.New() + hashFunctionLength = 20 + case "sha256": + h = sha256.New() + hashFunctionLength = 32 + case "sha512": + h = sha512.New() + hashFunctionLength = 64 + default: + return nil, nil, fmt.Errorf("unknown hash function \"%s\"", hashFunctionName) } return &HashTransformer{ - salt: salt, - columnName: columnName, - affectedColumns: affectedColumns, - columnIdx: idx, - res: make([]byte, 0, bufLength), + columnName: columnName, + affectedColumns: affectedColumns, + columnIdx: idx, + maxLength: maxLength, + hashBuf: make([]byte, 0, hashFunctionLength), + resultBuf: make([]byte, hex.EncodedLen(hashFunctionLength)), + encodedOutputLength: hex.EncodedLen(hashFunctionLength), + h: h, }, nil, nil } @@ -126,26 +149,56 @@ func (ht *HashTransformer) Transform(ctx context.Context, r *toolkit.Record) (*t return r, nil } - dk, err := scrypt.Key(val.Data, ht.salt, 32768, 8, 1, 32) + defer ht.h.Reset() + _, err = ht.h.Write(val.Data) if err != nil { - return nil, fmt.Errorf("cannot perform hash calculation: %w", err) + return nil, fmt.Errorf("unable to write raw data into writer: %w", err) } + ht.hashBuf = ht.hashBuf[:0] + ht.hashBuf = ht.h.Sum(ht.hashBuf) + + hex.Encode(ht.resultBuf, ht.hashBuf) - length := base64.StdEncoding.EncodedLen(len(dk)) - if len(ht.res) < length { - slices.Grow(ht.res, length) + maxLength := ht.encodedOutputLength + if ht.maxLength > 0 && ht.encodedOutputLength > ht.maxLength { + maxLength = ht.maxLength } - ht.res = ht.res[0:length] - //base64.StdEncoding.EncodeToString(ht.res) - base64.StdEncoding.Encode(ht.res, dk) - if err := r.SetRawColumnValueByIdx(ht.columnIdx, toolkit.NewRawValue(ht.res, false)); err != nil { + if err := r.SetRawColumnValueByIdx(ht.columnIdx, toolkit.NewRawValue(ht.resultBuf[:maxLength], false)); err != nil { return nil, fmt.Errorf("unable to set new value: %w", err) } return r, nil } +func validateHashFunctionsParameter(p *toolkit.Parameter, v toolkit.ParamsValue) (toolkit.ValidationWarnings, error) { + functionName := string(v) + switch functionName { + case "md5", "sha1", "sha256", "sha512": + return nil, nil + } + return toolkit.ValidationWarnings{ + toolkit.NewValidationWarning(). + SetSeverity(toolkit.ErrorValidationSeverity). + AddMeta("ParameterValue", functionName). + SetMsg(`unknown hash function name`)}, nil +} + +func validateMaxLengthParameter(p *toolkit.Parameter, v toolkit.ParamsValue) (toolkit.ValidationWarnings, error) { + max_length, err := strconv.ParseInt(string(v), 10, 32) + if err != nil { + return nil, fmt.Errorf("error parsing \"max_length\" as integer: %w", err) + } + if max_length >= 0 { + return nil, nil + } + return toolkit.ValidationWarnings{ + toolkit.NewValidationWarning(). + SetSeverity(toolkit.ErrorValidationSeverity). + AddMeta("ParameterValue", string(v)). + SetMsg(`max_length parameter cannot be less than zero`)}, nil +} + func init() { utils.DefaultTransformerRegistry.MustRegister(HashTransformerDefinition) } diff --git a/internal/db/postgres/transformers/hash_test.go b/internal/db/postgres/transformers/hash_test.go index 4b27d7ec..1bc040a8 100644 --- a/internal/db/postgres/transformers/hash_test.go +++ b/internal/db/postgres/transformers/hash_test.go @@ -23,46 +23,212 @@ import ( "github.com/greenmaskio/greenmask/pkg/toolkit" ) -func TestHashTransformer_Transform(t *testing.T) { - var attrName = "data" - var originalValue = "old_value" - var expectedValue = toolkit.NewValue("jzTVGK2UHz3ERhrYiZDoDzcKeMxSsgxHHgWlL9OrkZ4=", false) - driver, record := getDriverAndRecord(attrName, originalValue) +func TestHashTransformer_Transform_all_functions(t *testing.T) { + columnValue := toolkit.ParamsValue("data") + tests := []struct { + name string + params map[string]toolkit.ParamsValue + original string + result string + }{ + { + name: "md5", + params: map[string]toolkit.ParamsValue{ + "column": columnValue, + "function": []byte("md5"), + }, + original: "123", + result: "202cb962ac59075b964b07152d234b70", + }, + { + name: "sha1", + params: map[string]toolkit.ParamsValue{ + "column": columnValue, + "function": []byte("sha1"), + }, + original: "123", + result: "40bd001563085fc35165329ea1ff5c5ecbdbbeef", + }, + { + name: "sha256", + params: map[string]toolkit.ParamsValue{ + "column": columnValue, + "function": []byte("sha256"), + }, + original: "123", + result: "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3", + }, + { + name: "sha512", + params: map[string]toolkit.ParamsValue{ + "column": columnValue, + "function": []byte("sha512"), + }, + original: "123", + result: "3c9909afec25354d551dae21590bb26e38d53f2173b8d3dc3eee4c047e7ab1c1eb8b85103e3be7ba613b31bb5c9c36214dc9f14a42fd7a2fdb84856bca5c44c2", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + driver, record := getDriverAndRecord(string(tt.params["column"]), tt.original) + transformer, warnings, err := HashTransformerDefinition.Instance( + context.Background(), + driver, tt.params, + nil, + ) + require.NoError(t, err) + require.Empty(t, warnings) + r, err := transformer.Transform( + context.Background(), + record, + ) + require.NoError(t, err) + + res, err := r.GetRawColumnValueByName(string(tt.params["column"])) + require.NoError(t, err) + + require.False(t, res.IsNull) + require.Equal(t, tt.result, string(res.Data)) + + }) + } +} + +func Test_validateHashFunctionsParameter(t *testing.T) { + + tests := []struct { + name string + value []byte + }{ + { + name: "md5", + value: []byte("md5"), + }, + { + name: "sha1", + value: []byte("md5"), + }, + { + name: "sha256", + value: []byte("md5"), + }, + { + name: "sha512", + value: []byte("md5"), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + warns, err := validateHashFunctionsParameter(nil, tt.value) + require.NoError(t, err) + require.Empty(t, warns) + }) + } + + t.Run("wrong value", func(t *testing.T) { + warns, err := validateHashFunctionsParameter(nil, []byte("md8")) + require.NoError(t, err) + require.Len(t, warns, 1) + warn := warns[0] + require.Equal(t, toolkit.ErrorValidationSeverity, warn.Severity) + require.Equal(t, "unknown hash function name", warn.Msg) + }) + +} + +func TestHashTransformer_Transform_length_truncation(t *testing.T) { + + params := map[string]toolkit.ParamsValue{ + "column": toolkit.ParamsValue("data"), + "max_length": toolkit.ParamsValue("4"), + "function": toolkit.ParamsValue("sha1"), + } + original := "123" + expected := "40bd" + // Check that internal buffers wipes correctly without data lost + driver, record := getDriverAndRecord(string(params["column"]), original) transformer, warnings, err := HashTransformerDefinition.Instance( context.Background(), - driver, map[string]toolkit.ParamsValue{ - "column": toolkit.ParamsValue(attrName), - "salt": toolkit.ParamsValue("MTIzNDU2Nw=="), - }, + driver, params, nil, ) require.NoError(t, err) require.Empty(t, warnings) - r, err := transformer.Transform( context.Background(), record, ) require.NoError(t, err) - res, err := r.GetColumnValueByName(attrName) + + res, err := r.GetRawColumnValueByName(string(params["column"])) require.NoError(t, err) - require.Equal(t, expectedValue.IsNull, res.IsNull) - require.Equal(t, expectedValue.Value, res.Value) + require.False(t, res.IsNull) + require.Equal(t, expected, string(res.Data)) +} + +func TestHashTransformer_Transform_multiple_iterations(t *testing.T) { + columnValue := toolkit.ParamsValue("data") - originalValue = "123asdasdasdaasdlmaklsdmklamsdlkmalksdmlkamsdlkmalkdmlkasds" - expectedValue = toolkit.NewValue("kZsJbWbVoBGMqniHTCzU6fJrxQdlfeqhYIUxOo3JniA=", false) - _, record = getDriverAndRecord(attrName, originalValue) - r, err = transformer.Transform( + params := map[string]toolkit.ParamsValue{ + "column": toolkit.ParamsValue("data"), + "function": toolkit.ParamsValue("sha1"), + } + original := "123" + // Check that internal buffers wipes correctly without data lost + driver, record := getDriverAndRecord(string(params["column"]), original) + transformer, warnings, err := HashTransformerDefinition.Instance( context.Background(), - record, + driver, params, + nil, ) require.NoError(t, err) - res, err = r.GetColumnValueByName(attrName) - require.NoError(t, err) + require.Empty(t, warnings) + + tests := []struct { + name string + original string + expected string + }{ + { + name: "run1", + original: "123", + expected: "40bd001563085fc35165329ea1ff5c5ecbdbbeef", + }, + { + name: "run2", + original: "456", + expected: "51eac6b471a284d3341d8c0c63d0f1a286262a18", + }, + { + name: "run3", + original: "789", + expected: "fc1200c7a7aa52109d762a9f005b149abef01479", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + defer record.Row.Encode() + + err = record.Row.Decode([]byte(tt.original)) + require.NoError(t, err) + + _, err = transformer.Transform( + context.Background(), + record, + ) + require.NoError(t, err) + + res, err := record.GetRawColumnValueByName(string(columnValue)) + require.NoError(t, err) - require.Equal(t, expectedValue.IsNull, res.IsNull) - require.Equal(t, expectedValue.Value, res.Value) + require.False(t, res.IsNull) + require.Equal(t, tt.expected, string(res.Data)) + }) + } } diff --git a/pkg/toolkit/parameter.go b/pkg/toolkit/parameter.go index 81b98bd9..9e93754d 100644 --- a/pkg/toolkit/parameter.go +++ b/pkg/toolkit/parameter.go @@ -351,15 +351,15 @@ func (p *Parameter) Init(driver *Driver, types []*Type, params []*Parameter, raw } if p.RawValueValidator != nil { - w, err := p.RawValueValidator(p, p.rawValue) + rawValueValidatorWarns, err := p.RawValueValidator(p, p.rawValue) if err != nil { return nil, fmt.Errorf("error performing parameter raw value validation: %w", err) } - for _, w := range warnings { + for _, w := range rawValueValidatorWarns { w.AddMeta("ParameterName", p.Name) } - warnings = append(warnings, w...) - if w.IsFatal() { + warnings = append(warnings, rawValueValidatorWarns...) + if rawValueValidatorWarns.IsFatal() { return warnings, nil } } From f14273050e58d3f40b4eab60f605bbe114003318 Mon Sep 17 00:00:00 2001 From: Vadim Voitenko Date: Sun, 11 Feb 2024 21:46:29 +0200 Subject: [PATCH 5/8] Playground fixes * Fixed playground environment variables and `cleanup` command. * Removed `start_period` not required property from `playground-storage`. --- docker-compose.yml | 11 ++++++++++- playground/cleanup.sh | 6 +++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8038ed12..0999f41e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,6 @@ services: -c 'mkdir -p /export/adventureworks && minio server /export --console-address :9001' healthcheck: test: timeout 5s bash -c ':> /dev/tcp/127.0.0.1/9000' || exit 1 - start_period: 5s interval: 10s timeout: 5s retries: 2 @@ -54,6 +53,11 @@ services: - ./playground:/var/lib/playground image: "greenmask/greenmask:latest" working_dir: /var/lib/playground + environment: + PGPASSWORD: example + ORIGINAL_DB_NAME: "original" + TRANSFORMED_DB_NAME: "transformed" + DATABASE_HOST: "playground-db" depends_on: playground-dbs-filler: condition: service_completed_successfully @@ -68,6 +72,11 @@ services: build: dockerfile: docker/greenmask/Dockerfile context: ./ + environment: + PGPASSWORD: example + ORIGINAL_DB_NAME: "original" + TRANSFORMED_DB_NAME: "transformed" + DATABASE_HOST: "playground-db" depends_on: playground-dbs-filler: condition: service_completed_successfully diff --git a/playground/cleanup.sh b/playground/cleanup.sh index 94061098..072244bb 100755 --- a/playground/cleanup.sh +++ b/playground/cleanup.sh @@ -1,6 +1,6 @@ #!/bin/bash -if psql -lqt -p 5432 -h db -U postgres | cut -d \| -f 1 | grep -qw $TRANSFORMED_DB_NAME; then - psql -p 5432 -h db -U postgres -c "DROP DATABASE $TRANSFORMED_DB_NAME;" - psql -p 5432 -h db -U postgres -c "CREATE DATABASE $TRANSFORMED_DB_NAME;" +if psql -lqt -p 5432 -h $DATABASE_HOST -U postgres | cut -d \| -f 1 | grep -qw $TRANSFORMED_DB_NAME; then + psql -p 5432 -h $DATABASE_HOST -U postgres -c "DROP DATABASE $TRANSFORMED_DB_NAME;" + psql -p 5432 -h $DATABASE_HOST -U postgres -c "CREATE DATABASE $TRANSFORMED_DB_NAME;" fi From c18aeed94c79654bdfd72733f6b5f34ddc6d109e Mon Sep 17 00:00:00 2001 From: Dmitry Nikitin Date: Mon, 12 Feb 2024 19:54:32 +0400 Subject: [PATCH 6/8] Fix: fixed credit_card variable --- internal/db/postgres/transformers/masking.go | 9 +++++---- .../db/postgres/transformers/utils/template/functions.go | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/db/postgres/transformers/masking.go b/internal/db/postgres/transformers/masking.go index 5ed43734..50ab1214 100644 --- a/internal/db/postgres/transformers/masking.go +++ b/internal/db/postgres/transformers/masking.go @@ -34,7 +34,7 @@ const ( MMobile string = "mobile" MTelephone string = "tel" MID string = "id" - MCreditCard string = "credit_cart" + MCreditCard string = "credit_card" MURL string = "url" MDefault string = "default" ) @@ -50,9 +50,10 @@ var MaskingTransformerDefinition = utils.NewDefinition( toolkit.MustNewParameter( "column", "column name", - ).SetIsColumn(toolkit.NewColumnProperties(). - SetAffected(true). - SetAllowedColumnTypes("text", "varchar"), + ).SetIsColumn( + toolkit.NewColumnProperties(). + SetAffected(true). + SetAllowedColumnTypes("text", "varchar"), ).SetRequired(true), toolkit.MustNewParameter( diff --git a/internal/db/postgres/transformers/utils/template/functions.go b/internal/db/postgres/transformers/utils/template/functions.go index 541f0974..525eae09 100644 --- a/internal/db/postgres/transformers/utils/template/functions.go +++ b/internal/db/postgres/transformers/utils/template/functions.go @@ -47,7 +47,7 @@ const ( MMobile string = "mobile" MTelephone string = "tel" MID string = "id" - MCreditCard string = "credit_cart" + MCreditCard string = "credit_card" MURL string = "url" MDefault string = "default" ) From c59aa73f8207289d5bd187c615691b19ad00d762 Mon Sep 17 00:00:00 2001 From: Dmitry Nikitin Date: Tue, 13 Feb 2024 20:41:22 +0400 Subject: [PATCH 7/8] Fix: fixed credit_card description --- internal/db/postgres/transformers/masking.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/db/postgres/transformers/masking.go b/internal/db/postgres/transformers/masking.go index 50ab1214..9f98c0d7 100644 --- a/internal/db/postgres/transformers/masking.go +++ b/internal/db/postgres/transformers/masking.go @@ -58,7 +58,7 @@ var MaskingTransformerDefinition = utils.NewDefinition( toolkit.MustNewParameter( "type", - "logical type of attribute (default, password, name, addr, email, mobile, tel, id, credit, url)", + "logical type of attribute (default, password, name, addr, email, mobile, tel, id, credit_card, url)", ).SetRawValueValidator(maskerTypeValidator). SetDefaultValue(toolkit.ParamsValue(MDefault)), ) From 51c6d84c31de9d602cd9924fdc37a912d4509fa7 Mon Sep 17 00:00:00 2001 From: Leroy V Date: Fri, 16 Feb 2024 22:52:24 +0400 Subject: [PATCH 8/8] Docs refactoring v0.1.5 --- .gitignore | 2 +- docs/architecture.md | 64 ++ .../built_in_transformers/orders-schema.png | Bin 0 -> 20480 bytes .../person-person-schema.png | Bin 0 -> 45160 bytes docs/assets/getting_started/list-dumps.png | Bin 0 -> 8111 bytes .../list-transformers-example.png | Bin 0 -> 60568 bytes .../getting_started/validate-result.png | Bin 0 -> 60751 bytes docs/assets/list_dumps_screen.png | Bin 0 -> 98768 bytes docs/assets/list_transformers_screen_1.png | Bin 0 -> 107840 bytes docs/assets/list_transformers_screen_2.png | Bin 0 -> 135879 bytes docs/assets/logo.png | Bin 0 -> 9255 bytes docs/assets/show_transformer.png | Bin 0 -> 308384 bytes docs/assets/validate_horizontal_diff.png | Bin 0 -> 68153 bytes docs/assets/validate_vertical_diff.png | Bin 0 -> 99420 bytes .../custom_functions/core_functions.md | 246 ++++++ .../custom_functions/faker_function.md | 84 ++ .../custom_functions/index.md | 14 + .../advanced_transformers/index.md | 10 + .../advanced_transformers/json.md | 59 ++ .../advanced_transformers/template.md | 87 ++ .../advanced_transformers/template_record.md | 68 ++ docs/built_in_transformers/index.md | 7 + .../standard_transformers/cmd.md | 115 +++ .../standard_transformers/dict.md | 37 + .../standard_transformers/hash.md | 32 + .../standard_transformers/index.md | 56 ++ .../standard_transformers/masking.md | 48 ++ .../standard_transformers/noise_date.md | 31 + .../standard_transformers/noise_float.md | 29 + .../standard_transformers/noise_int.md | 27 + .../random_amount_with_currency.md | 28 + .../standard_transformers/random_bool.md | 26 + .../standard_transformers/random_cc_number.md | 28 + .../standard_transformers/random_cc_type.md | 28 + .../standard_transformers/random_century.md | 28 + .../standard_transformers/random_choice.md | 33 + .../standard_transformers/random_currency.md | 28 + .../standard_transformers/random_date.md | 43 + .../random_day_of_month.md | 28 + .../random_day_of_week.md | 28 + .../random_domain_name.md | 28 + .../random_e164_phone_number.md | 28 + .../standard_transformers/random_email.md | 28 + .../random_first_name.md | 28 + .../random_first_name_female.md | 28 + .../random_first_name_male.md | 28 + .../standard_transformers/random_float.md | 40 + .../standard_transformers/random_int.md | 37 + .../standard_transformers/random_ipv4.md | 28 + .../standard_transformers/random_ipv6.md | 28 + .../standard_transformers/random_last_name.md | 28 + .../standard_transformers/random_latitude.md | 28 + .../standard_transformers/random_longitude.md | 28 + .../random_mac_address.md | 29 + .../random_month_name.md | 28 + .../standard_transformers/random_name.md | 28 + .../standard_transformers/random_paragraph.md | 28 + .../standard_transformers/random_password.md | 28 + .../random_phone_number.md | 28 + .../standard_transformers/random_sentence.md | 28 + .../standard_transformers/random_string.md | 40 + .../standard_transformers/random_timezone.md | 28 + .../random_title_female.md | 28 + .../random_title_male.md | 28 + .../random_toll_free_phone_number.md | 28 + .../standard_transformers/random_unix_time.md | 28 + .../standard_transformers/random_url.md | 28 + .../standard_transformers/random_username.md | 28 + .../standard_transformers/random_uuid.md | 33 + .../standard_transformers/random_word.md | 28 + .../random_year_string.md | 28 + .../standard_transformers/real_address.md | 45 + .../standard_transformers/regexp_replace.md | 42 + .../standard_transformers/replace.md | 39 + .../standard_transformers/set_null.md | 45 + docs/commands.md | 773 ++++++++++++++++++ docs/configuration.md | 287 +++++++ docs/custom-transformers.md | 3 + docs/getting-started.md | 408 +++++++++ docs/index.md | 41 + docs/installation.md | 53 ++ docs/mkdocs.yml | 147 ++++ docs/overrides/main.html | 5 + docs/playground.md | 63 ++ docs/release_notes/greenmask_0_1_0.md | 75 ++ docs/release_notes/greenmask_0_1_0_beta.md | 19 + docs/release_notes/greenmask_0_1_1.md | 49 ++ docs/release_notes/greenmask_0_1_2.md | 13 + docs/release_notes/greenmask_0_1_3.md | 12 + docs/release_notes/greenmask_0_1_4.md | 11 + docs/release_notes/greenmask_0_1_5.md | 25 + mkdocs.yml | 147 ++++ requirements.txt | 47 ++ 93 files changed, 4569 insertions(+), 1 deletion(-) create mode 100644 docs/architecture.md create mode 100644 docs/assets/built_in_transformers/orders-schema.png create mode 100644 docs/assets/built_in_transformers/person-person-schema.png create mode 100644 docs/assets/getting_started/list-dumps.png create mode 100644 docs/assets/getting_started/list-transformers-example.png create mode 100644 docs/assets/getting_started/validate-result.png create mode 100644 docs/assets/list_dumps_screen.png create mode 100644 docs/assets/list_transformers_screen_1.png create mode 100644 docs/assets/list_transformers_screen_2.png create mode 100644 docs/assets/logo.png create mode 100644 docs/assets/show_transformer.png create mode 100644 docs/assets/validate_horizontal_diff.png create mode 100644 docs/assets/validate_vertical_diff.png create mode 100644 docs/built_in_transformers/advanced_transformers/custom_functions/core_functions.md create mode 100644 docs/built_in_transformers/advanced_transformers/custom_functions/faker_function.md create mode 100644 docs/built_in_transformers/advanced_transformers/custom_functions/index.md create mode 100644 docs/built_in_transformers/advanced_transformers/index.md create mode 100644 docs/built_in_transformers/advanced_transformers/json.md create mode 100644 docs/built_in_transformers/advanced_transformers/template.md create mode 100644 docs/built_in_transformers/advanced_transformers/template_record.md create mode 100644 docs/built_in_transformers/index.md create mode 100644 docs/built_in_transformers/standard_transformers/cmd.md create mode 100644 docs/built_in_transformers/standard_transformers/dict.md create mode 100644 docs/built_in_transformers/standard_transformers/hash.md create mode 100644 docs/built_in_transformers/standard_transformers/index.md create mode 100644 docs/built_in_transformers/standard_transformers/masking.md create mode 100644 docs/built_in_transformers/standard_transformers/noise_date.md create mode 100644 docs/built_in_transformers/standard_transformers/noise_float.md create mode 100644 docs/built_in_transformers/standard_transformers/noise_int.md create mode 100644 docs/built_in_transformers/standard_transformers/random_amount_with_currency.md create mode 100644 docs/built_in_transformers/standard_transformers/random_bool.md create mode 100644 docs/built_in_transformers/standard_transformers/random_cc_number.md create mode 100644 docs/built_in_transformers/standard_transformers/random_cc_type.md create mode 100644 docs/built_in_transformers/standard_transformers/random_century.md create mode 100644 docs/built_in_transformers/standard_transformers/random_choice.md create mode 100644 docs/built_in_transformers/standard_transformers/random_currency.md create mode 100644 docs/built_in_transformers/standard_transformers/random_date.md create mode 100644 docs/built_in_transformers/standard_transformers/random_day_of_month.md create mode 100644 docs/built_in_transformers/standard_transformers/random_day_of_week.md create mode 100644 docs/built_in_transformers/standard_transformers/random_domain_name.md create mode 100644 docs/built_in_transformers/standard_transformers/random_e164_phone_number.md create mode 100644 docs/built_in_transformers/standard_transformers/random_email.md create mode 100644 docs/built_in_transformers/standard_transformers/random_first_name.md create mode 100644 docs/built_in_transformers/standard_transformers/random_first_name_female.md create mode 100644 docs/built_in_transformers/standard_transformers/random_first_name_male.md create mode 100644 docs/built_in_transformers/standard_transformers/random_float.md create mode 100644 docs/built_in_transformers/standard_transformers/random_int.md create mode 100644 docs/built_in_transformers/standard_transformers/random_ipv4.md create mode 100644 docs/built_in_transformers/standard_transformers/random_ipv6.md create mode 100644 docs/built_in_transformers/standard_transformers/random_last_name.md create mode 100644 docs/built_in_transformers/standard_transformers/random_latitude.md create mode 100644 docs/built_in_transformers/standard_transformers/random_longitude.md create mode 100644 docs/built_in_transformers/standard_transformers/random_mac_address.md create mode 100644 docs/built_in_transformers/standard_transformers/random_month_name.md create mode 100644 docs/built_in_transformers/standard_transformers/random_name.md create mode 100644 docs/built_in_transformers/standard_transformers/random_paragraph.md create mode 100644 docs/built_in_transformers/standard_transformers/random_password.md create mode 100644 docs/built_in_transformers/standard_transformers/random_phone_number.md create mode 100644 docs/built_in_transformers/standard_transformers/random_sentence.md create mode 100644 docs/built_in_transformers/standard_transformers/random_string.md create mode 100644 docs/built_in_transformers/standard_transformers/random_timezone.md create mode 100644 docs/built_in_transformers/standard_transformers/random_title_female.md create mode 100644 docs/built_in_transformers/standard_transformers/random_title_male.md create mode 100644 docs/built_in_transformers/standard_transformers/random_toll_free_phone_number.md create mode 100644 docs/built_in_transformers/standard_transformers/random_unix_time.md create mode 100644 docs/built_in_transformers/standard_transformers/random_url.md create mode 100644 docs/built_in_transformers/standard_transformers/random_username.md create mode 100644 docs/built_in_transformers/standard_transformers/random_uuid.md create mode 100644 docs/built_in_transformers/standard_transformers/random_word.md create mode 100644 docs/built_in_transformers/standard_transformers/random_year_string.md create mode 100644 docs/built_in_transformers/standard_transformers/real_address.md create mode 100644 docs/built_in_transformers/standard_transformers/regexp_replace.md create mode 100644 docs/built_in_transformers/standard_transformers/replace.md create mode 100644 docs/built_in_transformers/standard_transformers/set_null.md create mode 100644 docs/commands.md create mode 100644 docs/configuration.md create mode 100644 docs/custom-transformers.md create mode 100644 docs/getting-started.md create mode 100644 docs/index.md create mode 100644 docs/installation.md create mode 100644 docs/mkdocs.yml create mode 100644 docs/overrides/main.html create mode 100644 docs/playground.md create mode 100644 docs/release_notes/greenmask_0_1_0.md create mode 100644 docs/release_notes/greenmask_0_1_0_beta.md create mode 100644 docs/release_notes/greenmask_0_1_1.md create mode 100644 docs/release_notes/greenmask_0_1_2.md create mode 100644 docs/release_notes/greenmask_0_1_3.md create mode 100644 docs/release_notes/greenmask_0_1_4.md create mode 100644 docs/release_notes/greenmask_0_1_5.md create mode 100644 mkdocs.yml create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index ec63b7bd..5e82a3dd 100644 --- a/.gitignore +++ b/.gitignore @@ -18,11 +18,11 @@ vendor/ .idea .vscode scratch - config.yml !playground/config.yml # Project exclusion +site venv .cache # Binaries diff --git a/docs/architecture.md b/docs/architecture.md new file mode 100644 index 00000000..c317cd65 --- /dev/null +++ b/docs/architecture.md @@ -0,0 +1,64 @@ +# Architecture + +## Introduction + +It is evident that the most appropriate approach for executing logical backup dumping and restoration is by leveraging the core PostgreSQL utilities, specifically `pg_dump` and `pg_restore`. Greenmask has been purposefully designed to align with PostgreSQL's native utilities, ensuring compatibility. Greenmask primarily handles data dumping operations independently and delegates the responsibilities of schema dumping and restoration to `pg_dump` and `pg_restore` respectively, maintaining seamless integration with PostgreSQL's standard tools. + +## Backup process + +The process of backing up PostgreSQL databases is divided into three distinct sections: + +* **Pre-data** — this section encompasses the raw schema of tables, excluding primary keys (PK) and foreign keys (FK). +* **Data** — the data section contains the actual table data in COPY format, including information about sequence current values and Large Objects data. +* **Post-data** — in this section, you'll find the definitions of indexes, triggers, rules, and constraints (such as PK and FK). + +Greenmask focuses exclusively on the data section during runtime. It delegates the handling of the `pre-data` and `post-data` sections to the core PostgreSQL utilities, `pg_dump` and `pg_restore`. + +Greenmask employs the directory format of `pg_dump` and `pg_restore`. This format is particularly suitable for +parallel execution and partial restoration, and it includes clear metadata files that aid in determining the backup and restoration steps. Greenmask has been optimized to work seamlessly with remote storage systems and obfuscation procedures. + +When performing data dumping, Greenmask utilizes the COPY command in TEXT format, maintaining reliability and +compatibility with the vanilla PostgreSQL utilities. + +Additionally, Greenmask supports parallel execution, significantly reducing the time required for the dumping process. + +## Storage options + +The core PostgreSQL utilities, `pg_dump` and `pg_restore`, traditionally operate with files in a directory format, offering no alternative methods. To meet modern backup requirements and provide flexible approaches, +Greenmask introduces the concept of storages. + +* `s3` — this option supports any S3-like storage system, including AWS S3, which makes it versatile and adaptable to various cloud-based storage solutions. +* `directory` — this is the standard choice, representing the ordinary filesystem directory for local storage. + +!!! note + If you have suggestions for additional storage options that would be valuable to implement, feel free to + share your ideas with us. Greenmask aims to accommodate a wide range of storage preferences to suit diverse backup needs. + +## Restoration process + +In the restoration process, Greenmask combines the capabilities of different tools: + +* For **schema restoration** Greenmask utilizes `pg_restore` to restore the database schema. This ensures that the schema is accurately reconstructed. +* For **data restoration** Greenmask independently applies the data using the COPY protocol. This allows Greenmask to handle the data efficiently, especially when working with various storage solutions. Greenmask is aware of the restoration metadata, which enables it to download only the necessary data. This feature is particularly useful for partial restoration scenarios, such as restoring a single table from a complete backup. + +Greenmask also supports **parallel restoration**, which can significantly reduce the time required to complete the restoration process. This parallel execution enhances the efficiency of restoring large datasets. + +## Data obfuscation and validation + +Greenmask works with COPY lines, collects schema metadata using the Golang driver, and employs this driver in the encoding and decoding process. The **validate command** offers a way to assess the impact on both schema +(**validation warnings**) and data (**transformation and displaying differences**). This command allows you to validate the schema and data transformations, ensuring the desired outcomes during the obfuscation process. + +## Customization + +If your table schema relies on functional dependencies between columns, you can address this challenge using the [**TemplateRecord**](built_in_transformers/advanced_transformers/template_record.md) transformer. This transformer enables you to define transformation logic for entire tables, offering type-safe operations when assigning new values. + +Greenmask provides a framework for creating your custom transformers, which can be reused efficiently. These +transformers can be seamlessly integrated without requiring recompilation, thanks to the PIPE (stdin/stdout) +interaction. + +!!! note + Furthermore, Greenmask's architecture is designed to be highly extensible, making it possible to introduce other interaction protocols, such as HTTP or Socket, for conducting obfuscation procedures. + +## PostgreSQL version compatibility + +Greenmask is compatible with PostgreSQL versions **11 and higher**. diff --git a/docs/assets/built_in_transformers/orders-schema.png b/docs/assets/built_in_transformers/orders-schema.png new file mode 100644 index 0000000000000000000000000000000000000000..58a8e7f73fac2cb8955abdb12ecf901817e50730 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/docs/assets/built_in_transformers/person-person-schema.png b/docs/assets/built_in_transformers/person-person-schema.png new file mode 100644 index 0000000000000000000000000000000000000000..277d25a25dbceeacf854bc0a87b66630ae1d0603 GIT binary patch literal 45160 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 literal 0 HcmV?d00001 diff --git a/docs/assets/getting_started/list-dumps.png b/docs/assets/getting_started/list-dumps.png new file mode 100644 index 0000000000000000000000000000000000000000..2f16c565a516ee4097949385d7c4eccf3510e72a GIT binary patch literal 8111 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 literal 0 HcmV?d00001 diff --git a/docs/assets/getting_started/validate-result.png b/docs/assets/getting_started/validate-result.png new file mode 100644 index 0000000000000000000000000000000000000000..d41029803f7503d5aaba20a22a8d53ca28325637 GIT binary patch literal 60751 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 literal 0 HcmV?d00001 diff --git a/docs/assets/list_dumps_screen.png b/docs/assets/list_dumps_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..ac2660155939247a0e5027979ea37d313f43bce5 GIT binary patch literal 98768 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®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 literal 0 HcmV?d00001 diff --git a/docs/assets/list_transformers_screen_1.png b/docs/assets/list_transformers_screen_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d4bd91e36d32a4a5461d1778d683968f4df7f3ef GIT binary patch literal 107840 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

tBJiyeqb1dD|Pm96oUmud=^+`WLI>9 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�rfFAnn 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%0A7L@i-k7LW$#6>sKk~j%L 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 literal 0 HcmV?d00001 diff --git a/docs/assets/show_transformer.png b/docs/assets/show_transformer.png new file mode 100644 index 0000000000000000000000000000000000000000..16015cddb6ae7e8d2e0c831f63b554eecf4e6ae6 GIT binary patch literal 308384 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�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

bm%OO4mu)0IP*1Dt9}yZCPj( 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 literal 0 HcmV?d00001 diff --git a/docs/assets/validate_horizontal_diff.png b/docs/assets/validate_horizontal_diff.png new file mode 100644 index 0000000000000000000000000000000000000000..c34fc97a4d913d74754fc63fb5f692c2c03e57c4 GIT binary patch literal 68153 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 IYY(FSFD=c5{{R30 literal 0 HcmV?d00001 diff --git a/docs/assets/validate_vertical_diff.png b/docs/assets/validate_vertical_diff.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9c6351167d3e77aa6004119d97d1e34a8ab938 GIT binary patch literal 99420 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

_}k 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 (To Do: Add a link to fakerFirstName) + +To generate random names, you can use the `fakerFirstName` template function, which is designed to create +synthetic names. + +```yaml title="Template transformer example" +- schema: "humanresources" + name: "employee" + transformation: + - name: "Template" + params: + column: "firstname" + template: > + {{- if eq .GetValue "Terri" -}} + Mary + {{- else -}} + {{- fakerFirstName -}} Jr + {{- end -}} + + validate: true +``` + +Expected result: + +=== "Value = Terry" + + | column name | original value | transformed | + |-------------|----------------|-------------| + | firstname | Terri | Mary | + +=== "Value != Terri" + + | column name | original value | transformed | + |-------------|------------------|-------------| + | firstname | Ken Jr | Mike | diff --git a/docs/built_in_transformers/advanced_transformers/template_record.md b/docs/built_in_transformers/advanced_transformers/template_record.md new file mode 100644 index 00000000..716f0a66 --- /dev/null +++ b/docs/built_in_transformers/advanced_transformers/template_record.md @@ -0,0 +1,68 @@ +Modify records using a Go template and apply changes by using the PostgreSQL driver functions. This transformer provides a way to implement custom transformation logic. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|--------------------| +| columns | A list of columns to be affected by the template. The list of columns will be checked for constraint violations. | | No | any | +| template | A Go template string | | Yes | - | +| validate | Validate the template result via PostgreSQL driver decoding procedure. Throws an error if a custom type does not have an encode-decoder implementation. | false | No | - | + +## Description + +`TemplateRecord` uses [Go templates](https://pkg.go.dev/text/template) to change data. However, while the [Template transformer](/template.md) operates with a single column and automatically applies results, the `TemplateRecord` transformer can make changes to a set of columns in the string, and using driver functions `.SetValue` or `.SetRawValue` is mandatory to do that. + +With the `TemplateRecord` transformer, you can implement complicated transformation logic using basic or custom template functions. Below you can get familiar with the basic template functions for the `TemplateRecord` transformer. For more information about available custom template functions, see [Custom functions](custom_functions/index.md). + +### Template functions + +| Function | Description | Signature | +|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------| +| `.GetColumnType` | Returns a string with the column type. | `.GetColumnType(name string) (typeName string, err error)` | +| `.GetColumnValue` | Returns an encoded value for a specified column or throws an error. A value can be any of `int`, `float`, `time`, `string`, `bool`, or `slice` or `map`. | `.GetColumnValue(name string) (value any, err error)` | +| `.GetRawColumnValue` | Returns a raw value for a specified column as a string or throws an error | `.GetRawColumnValue(name string) (value string, err error)` | +| `.SetColumnValue` | Sets a new value of a specific data type to the column. The value assigned must be compatible with the PostgreSQL data type of the column. For example, it is allowed to assign an `int` value to an `INTEGER` column, but you cannot assign a `float` value to a `timestamptz` column. | `SetColumnValue(name string, v any) (bool, error)` | +| `.SetRawColumnValue` | Sets a new raw value for a column, inheriting the column's existing data type, without performing data type validation. This can lead to errors when restoring the dump if the assigned value is not compatible with the column type. To ensure compatibility, consider using the `.DecodeValueByColumn` function followed by `.SetColumnValue`, for example, `{{ "13" \| .DecodeValueByColumn "items_amount" \| .SetColumnValue "items_amount" }}`. | `.SetRawColumnValue(name string, value any) (err error)` | +| `.EncodeValueByColumn` | Encodes a value of any type into its raw string representation using the specified column name. Encoding is performed through the PostgreSQL driver. Throws an error if types are incompatible. | `.EncodeValueByColumn(name string, value any) (res any, err error)` | +| `.DecodeValueByColumn` | Decodes a value from its raw string representation to a Golang type using the specified column name. Decoding is performed through the PostgreSQL driver. Throws an error if types are incompatible. | `.DecodeValueByColumn(name string, value any) (res any, err error)` | +| `.EncodeValueByType` | Encodes a value of any type into its string representation using the specified type name. Encoding is performed through the PostgreSQL driver. Throws an error if types are incompatible. | `.EncodeValueByType(name string, value any) (res any, err error)` | +| `.DecodeValueByType` | Decodes a value from its raw string representation to a Golang type using the specified type name. Decoding is performed through the PostgreSQL driver. Throws an error if types are incompatible. | `.DecodeValueByType(name string, value any) (res any, err error)` | + +## Example: Generate a random `created_at` and `updated_at` dates + +Below you can see the table structure: + +![img.png](../../assets/built_in_transformers/orders-schema.png) + +The goal is to modify the `"created_at"` and `"updated_at"` columns based on the following rules: + +* Do not change the value if the `created_at` is Null. +* If the `created_at` is not Null, generate the current time and use it as the minimum threshold for randomly + generating the `updated_at` value. +* Assign all generated values using the `.SetColumnValue` function. + + +```yaml title="Template transformer example" +- name: "TemplateRecord" + params: + columns: + - "created_at" + - "updated_at" + template: > + {{ $val := .GetColumnValue "created_at" }} + {{ if isNotNull $val }} + {{ $createdAtValue := now }} + {{ $maxUpdatedDate := date_modify "24h" $createdAtValue }} + {{ $updatedAtValue := randomDate $createdAtValue $maxUpdatedDate }} + {{ .SetColumnValue "created_at" $createdAtValue }} + {{ .SetColumnValue "updated_at" $updatedAtValue }} + {{ end }} + validate: true +``` + +Expected result: + +| column name | original value | transformed | +|-------------|-------------------------------|-----------------------------| +| created_at | 2021-01-20 07:01:00.513325+00 | 2023-12-17 19:37:29.910054Z | +| updated_at | 2021-08-09 21:27:00.513325+00 | 2023-12-18 10:05:25.828498Z | diff --git a/docs/built_in_transformers/index.md b/docs/built_in_transformers/index.md new file mode 100644 index 00000000..31fda4ed --- /dev/null +++ b/docs/built_in_transformers/index.md @@ -0,0 +1,7 @@ +# About transformers + +Transformers in Greenmask are methods which are applied to obfuscate sensitive data. All Greenmask transformers are split into the following groups: + +- [Standard transformers](standard_transformers/index.md) — transformers that require only an input of parameters. +- [Advanced transformers](advanced_transformers/index.md) — transformers that can be modified according to user's needs with the help of [custom functions](advanced_transformers/custom_functions/index.md). +- Custom transformers — coming soon... diff --git a/docs/built_in_transformers/standard_transformers/cmd.md b/docs/built_in_transformers/standard_transformers/cmd.md new file mode 100644 index 00000000..ddf2025c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/cmd.md @@ -0,0 +1,115 @@ +Transform data via external program using `stdin` and `stdout` interaction. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|----------|--------------------| +| columns | A list of column names to be affected. If empty, the entire tuple is used. Read about the structure further. | | Yes | Any | +| executable | The path to the `executable` parameter file | | Yes | - | +| args | A list of parameters for the executable | | No | - | +| driver | The row driver with parameters that is used for interacting with cmd. `{"name": "text, csv, json", "params": { "format": "[text bytes]"}}`. The `text` and `bytes` options are available only for `json`. | `{"name": "csv"}` | No | - | +| validate | Performs a decoding operation using the PostgreSQL driver for data received from the command to ensure the data format is correct | `false` | No | - | +| timeout | Timeout for sending and receiving data from the external command | `2s` | No | - | +| expected_exit_code | The expected exit code on SIGTERM signal. If the exit code is unexpected, the transformation exits with an error. | `0` | No | - | +| skip_on_behaviour | Skips transformation call if one of the provided columns has a `null` value (`any`) or each of the provided columns has `null` values (`all`). This option works together with the `skip_on_null_input` parameter on columns. Possible values: `all`, `any`. | `all` | No | - | + +!!! warning + + The parameter `validate_output=true` may cause an error if the type does not have a PostgreSQL driver decoder implementation. Most of the types, such as `int`, `float`, `text`, `varchar`, `date`, `timestamp`, etc., have encoders and decoders, as well as inherited types like domain types based on them. + +## Description + +The `Cmd` transformer allows you to send original data to an external program via `stdin` and receive transformed data from `stdout`. It supports various interaction formats such as `json`, `csv`, or plain `text` for one-column transformations. The interaction is performed line by line, so at the end of each sent data, a new line symbol `\n` must be included. + +### Types of interaction modes + +#### text + +Textual driver that is used only for one column transformation, thus you cannot provide here more than one column. The value encodes into string laterally. For example, `2023-01-03 01:00:00.0+03`. + +#### json + +JSON line driver. It has two formats that can be passed through `driver.params`: `[text|bytes]`. Use the `bytes` format for binary datatypes. Use the `text` format for non-binary datatypes and for those that can be represented as string literals. + +=== "The text format example" + + ```json + { + 1: { + "d": "some_value1", + "n": false, + }, + 2: { + "d": "some_value2", + "n": false, + } + } + ``` + +=== "The bytes format example" + + ```json + { + 1: { + "d": "aGVsbG8gd29ybHNeODcxMjE5MCUlJSUlJQ==", + "n": false, + }, + 2: { + "d": "aGVsbG8gd29ybHNeODcxMjE5MCUlJSUlJQ==", + "n": false, + } + } + ``` + +where: + +* Each line is a JSON line with a map of attribute numbers to their values +* `d` — the raw data represented as base64 encoding for the bytes format or Unicode text for the text format. The base64 encoding is needed because data can be binary. +* `n` — indicates if NULL is present + +#### csv + +CSV driver (comma-separated). The number of attributes is the same as the number of table columns, but the +columns that were not mentioned in the `columns` list are empty. The `NULL` value is represented as `\N`. Each attribute is escaped by a quote (`"`). For example, if the transformed table has attributes `id`, `title`, and `created_at`, and only `id` and `created_at` require transformation, then the CSV line will look as follows: + +``` csv title="csv line example" +"123","","2023-01-03 01:00:00.0+03" +``` + +Column object attributes: + +* `name` — the name of the column. This value is required. Depending on the attributes that follows further, this column may be used just as a value and is not affected in any way. +* `not_affected` — indicates whether the column is affected in the transformation. This attribute is required for the validation procedure when Greenmask is called with `greenmask dump --validate`. Setting `not_affected=true` can be helpful when the command transformer transforms data depending on the value of another column. For example, if you want to generate an `updated_at` column value depending on the `created_at` column value, you can set `created_at` to `not_affected=true`. The default value is `false`. +* `skip_original_data` — indicates whether the original data is required for the transformer. This attribute can be helpful for decreasing the interaction time. One use case is when the command works as a generator and returns the value without relying on the original data. The default value is `false`. +* `skip_on_null_input` — specifies whether to skip transformation when the original value is `null`. This attribute works in conjunction with the `skip_on_behaviour` parameter. For example, if you have two affected columns with `skip_on_null_input=true` and one column is `null`, then, if `skip_on_behaviour=any`, the transformation will be skipped, or, if `skip_on_behaviour=and`, the transformation will be performed. The default is `false`. + +## Example: Apply transformation performed by external command + +In the following example, `actual_arrival` and `scheduled_arrival` columns are transformed via external command transformer. + +```yaml title="Cmd transformer example" +- name: "Cmd" + params: + executable: "cmd_test.sh" + driver: + name: "json" + params: + format: "bytes" # (4) + timeout: "60s" + validate_output: true # (1) + expected_exit_code: -1 + skip_on_behaviour: "any" # (2) + columns: + - name: "actual_arrival" + skip_original_data: true + skip_on_null_input: true # (3) + - name: "scheduled_arrival" + skip_original_data: true + skip_on_null_input: true # (3) +``` +{ .annotate } + +1. Validate the received data via decode procedure using the PostgreSQL driver. Note that this may cause an error if the type is not supported in the PostgreSQL driver. +2. Skip transformation (keep the values) if one of the affected columns (`not_affected=false`) has a null value. +3. If a column has a null value, then skip it. This works in conjunction with `skip_on_behaviour`. Since it has the value any, if one of the columns (`actual_arrival` or `scheduled_arrival`) has a `null` value, then skip the transformation call. +4. The format of JSON can be either `text` or `bytes`. diff --git a/docs/built_in_transformers/standard_transformers/dict.md b/docs/built_in_transformers/standard_transformers/dict.md new file mode 100644 index 00000000..35c18dbd --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/dict.md @@ -0,0 +1,37 @@ +Replace values matched by dictionary keys. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------------|----------------------------------------------------------------------------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | any | +| values | Value replace mapping as in: `{"string": "string"}`. The string with value `"\N"` is considered NULL. | | No | - | +| default | Shown if no value has been matched with dict. The string with value `"\N"` is considered NULL. By default is empty. | | No | - | +| fail_not_matched | When no value is matched with the dict, fails the replacement process if set to `true`, or keeps the current value, if set to `false`. | `true` | No | - | +| validate | Performs the encode-decode procedure using column type to ensure that values have correct type | `true` | No | - | + +## Description + +The `Dict` transformer uses a user-provided key-value dictionary to replace values based on matches specified in the `values` parameter mapping. These provided values must align with the PostgreSQL type format. To validate the values format before application, you can utilize the `validate` parameter, triggering a decoding procedure via the PostgreSQL driver. + +If there are no matches by key, an error will be raised according to a default `fail_not_matched: true` parameter. You can change this behaviour by providing the `default` parameter, value from which will be shown in case of a missing match. + +In certain cases where the driver type does not support the validation operation, an error may occur. For setting or matching a NULL value, use a string with the `\N` sequence. + +## Example: Replace marital status + +The following example replaces marital status from `S` to `M` or from `M` to `S` and raises an error if there is no match: + +``` yaml title="Dict transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "Dict" + params: + column: "maritalstatus" + values: + "S": "M" + "M": "S" + validate: true + fail_not_matched: true +``` diff --git a/docs/built_in_transformers/standard_transformers/hash.md b/docs/built_in_transformers/standard_transformers/hash.md new file mode 100644 index 00000000..4944983e --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/hash.md @@ -0,0 +1,32 @@ +Generate a hash of the text value using the `Scrypt` hash function under the hood. `NULL` values are kept. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|---------------------------------------------------------------------------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| function | Hash algorithm to obfuscate data. Can be any of `md5`, `sha1`, `sha256`, `sha512`. | `sha1` | No | - | +| max_length | Indicates whether to truncate the hash tail and specifies at what length. Can be any integer number, where `0` means "no truncation". | `0` | No | - | + +## Example: Generate hash from job title + +The following example generates a hash from the `jobtitle` into sha1 and truncates the results after the 10th character. + +```yaml title="Hash transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "Hash" + params: + column: "jobtitle" + function: "sha1" + max_length: 10 +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|--------------------------|-------------| +| jobtitle | Research and Development | Zpmfe8F+LV | + +``` diff --git a/docs/built_in_transformers/standard_transformers/index.md b/docs/built_in_transformers/standard_transformers/index.md new file mode 100644 index 00000000..ccd1ce68 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/index.md @@ -0,0 +1,56 @@ +# Standard transformers + +Standard transformers are ready-to-use methods that require no customization and perform with just as little as parameters input. Below you can find an index of all standard transformers currently available in Greenmask. + +1. [Cmd](cmd.md) — transforms data via external program using `stdin` and `stdout` interaction. +1. [Dict](dict.md) — replaces values matched by dictionary keys. +1. [Hash](dict.md) — generates a hash of the text value. +1. [Masking](masking.md) — masks a value using one of the masking behaviors depending on your domain. +1. [NoiseDate](noise_date.md) — randomly adds or subtracts a duration within the provided ratio interval to the original date value. +1. [NoiseFloat](noise_float.md) — adds or subtracts a random fraction to the original float value. +1. [NoiseInt](noise_int.md) — adds or subtracts a random fraction to the original integer value. +1. [RandomBool](random_bool.md) — generates random boolean values. +1. [RandomChoice](random_choice.md) — replaces values randomly chosen from a provided list. +1. [RandomDate](random_date.md) — generates a random date in a specified interval. +1. [RandomFloat](random_float.md) — generates a random float within the provided interval. +1. [RandomInt](random_int.md) — generates a random integer within the provided interval. +1. [RandomString](random_string.md) — generates a random string using the provided characters within the specified length range. +1. [RandomUuid](random_uuid.md) — generates a random unique user ID. +1. [RandomLatitude](random_latitude.md) — generates a random latitude value. +1. [RandomLongitude](random_longitude.md) — generates a random longitude value. +1. [RandomUnixTime](random_unix_time.md) — generates a random Unix timestamp. +1. [RandomDayOfWeek](random_day_of_week.md) — generates a random day of the week. +1. [RandomDayOfMonth](random_day_of_month.md) — generates a random day of the month. +1. [RandomMonthName](random_month_name.md) — generates the name of a random month. +1. [RandomYearString](random_year_string.md) — generates a random year as a string. +1. [RandomCentury](random_century.md) — generates a random century. +1. [RandomTimezone](random_timezone.md) — generates a random timezone. +1. [RandomEmail](random_email.md) — generates a random email address. +1. [RandomUsername](random_username.md) — generates a random username. +1. [RandomPassword](random_password.md) — generates a random password. +1. [RandomMacAddress](random_mac_address.md) — generates a random MAC address. +1. [RandomDomainName](random_domain_name.md) — generates a random domain name. +1. [RandomURL](random_url.md) — generates a random URL. +1. [RandomIPv4](random_ipv4.md) — generates a random IPv4 address. +1. [RandomIPv6](random_ipv6.md) — generates a random IPv6 address. +1. [RandomWord](random_word.md) — generates a random word. +1. [RandomSentence](random_sentence.md) — generates a random sentence. +1. [RandomParagraph](random_paragraph.md) — generates a random paragraph. +1. [RandomCCType](random_cc_type.md) — generates a random credit card type. +1. [RandomCCNumber](random_cc_number.md) — generates a random credit card number. +1. [RandomCurrency](random_currency.md) — generates a random currency code. +1. [RandomAmountWithCurrency](random_amount_with_currency.md) — generates a random monetary amount with currency. +1. [RandomName](random_name.md) — generates a full random name. +1. [RandomLastName](random_last_name.md) — generates a random last name. +1. [RandomFirstName](random_first_name.md) — generates a random first name. +1. [RandomFirstNameMale](random_first_name_male.md) — generates a random male first name. +1. [RandomFirstNameFemale](random_first_name_female.md) — generates a random female first name. +1. [RandomTitleMale](random_title_male.md) — generates a random male title. +1. [RandomTitleFemale](random_title_female.md) — generates a random female title. +1. [RandomPhoneNumber](random_phone_number.md) — generates a random phone number. +1. [RandomTollFreePhoneNumber](random_toll_free_phone_number.md) — generates a random toll-free phone number. +1. [RandomE164PhoneNumber](random_e164_phone_number.md) — generates a random phone number in E.164 format. +1. [RealAddress](real_address.md) — generates a real address. +1. [RegexpReplace](regexp_replace.md) — replaces a string using a regular expression. +1. [Replace](replace.md) — replaces an original value by the provided one. +1. [SetNull](set_null.md) — sets `NULL` value to the column. diff --git a/docs/built_in_transformers/standard_transformers/masking.md b/docs/built_in_transformers/standard_transformers/masking.md new file mode 100644 index 00000000..f240cef5 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/masking.md @@ -0,0 +1,48 @@ +Mask a value using one of the masking rules depending on your domain. `NULL` values are kept. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|--------|-----------------------------------------------------------------------------------------------------------------|-----------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| type | Data type of attribute (`default`, `password`, `name`, `addr`, `email`, `mobile`, `tel`, `id`, `credit`, `url`) | `default` | No | - | + +## Description + +The `Masking` transformer replaces characters with asterisk `*` symbols depending on the provided data type. If the +value is `NULL`, it is kept unchanged. It is based on [ggwhite/go-masker](https://github.com/ggwhite/go-masker) and +supports the following masking rules: + +| Type | Description | +|:-----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------| +| default | Returns `*` symbols with the same length, e.g. input: `test1234` output: `********` | +| name | Masks the second letter the third letter in a word, e. g. input: `ABCD` output: `A**D` | +| password | Always returns `************` | +| address | Keeps first 6 letters, masks the rest, e. g. input: `Larnaca, makarios st` output: `Larnac*************` | +| email | Keeps a domain and the first 3 letters, masks the rest, e. g. input: `ggw.chang@gmail.com` output: `ggw****@gmail.com` | +| mobile | Masks 3 digits starting from the 4th digit, e. g. input: `0987654321` output: `0987***321` | +| telephone | Removes `(`, `)`, ` `, `-` chart, and masks last 4 digits of telephone number, then formats it to `(??)????-????`, e. g. input: `0227993078` output: `(02)2799-****` | +| id | Masks last 4 digits of ID number, e. g. input: `A123456789` output: `A12345****` | +| credit_cart | Masks 6 digits starting from the 7th digit, e. g. input `1234567890123456` output `123456******3456` | +| url | Masks the password part of the URL, if applicable, e. g. `http://admin:mysecretpassword@localhost:1234/uri` output: `http://admin:xxxxx@localhost:1234/uri` | + +## Example: Masking employee national ID number + +In the following example, the national ID number of an employee is masked. + +``` yaml title="Masking transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "Masking" + params: + column: "nationalidnumber" + type: "id" +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|------------------|----------------|-------------| +| nationalidnumber | 295847284 | 295847**** | +``` diff --git a/docs/built_in_transformers/standard_transformers/noise_date.md b/docs/built_in_transformers/standard_transformers/noise_date.md new file mode 100644 index 00000000..1307da43 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/noise_date.md @@ -0,0 +1,31 @@ +Randomly add or subtract a duration within the provided `ratio` interval to the original date value. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|----------|-------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|------------------------------| +| column | The name of the column to be affected | | Yes | date, timestamp, timestamptz | +| ratio | The maximum random duration for noise. The value must be in PostgreSQL interval format, e. g. 1 year 2 mons 3 day — `04:05:06.07` | | Yes | - | +| truncate | Truncate the date to the specified part (`nano`, `second`, `minute`, `hour`, `day`, `month`, `year`). The truncate operation is not applied by default. | | No | - | + +## Description + +The `NoiseDate` transformer randomly generates duration within the specified `ratio` parameter and adds it to or +subtracts it from the original date value. The `ratio` parameter must be written in +the [PostgreSQL interval format](https://www.postgresql.org/docs/current/datatype-datetime.html#DATATYPE-INTERVAL-INPUT). You can also truncate the date up to a specified part by setting the `truncate` parameter. + +## Example: Adding noise to the modified date + +In the following example, the original `timestamp` value of `modifieddate` will be noised up to `1 year 2 months 3 days 4 hours 5 +minutes 6 seconds and 7 milliseconds` with truncation up to the `nano` part. + +``` yaml title="NoiseDate transformer example" +- schema: "humanresources" + name: "jobcandidate" + transformers: + - name: "NoiseDate" + params: + column: "modifieddate" + ratio: "1 year 2 mons 3 day 04:05:06.07" + truncate: "nano" +``` diff --git a/docs/built_in_transformers/standard_transformers/noise_float.md b/docs/built_in_transformers/standard_transformers/noise_float.md new file mode 100644 index 00000000..eecef9ee --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/noise_float.md @@ -0,0 +1,29 @@ +Add or subtract a random fraction to the original float value. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|----------------------------------------------------------------------------------------------------------|---------|----------|---------------------------------------------------| +| column | The name of the column to be affected | | Yes | float4 (real), float8 (double precision), numeric | +| ratio | The maximum random percentage for noise, from `0` to `1`, e. g. `0.1` means "add noise up to 10%" | | Yes | - | +| precision | The precision of the noised float value (number of digits after the decimal point) | `4` | No | - | + +## Description + +The `NoiseFloat` transformer multiplies the original float value by a provided random value that is not higher than +the `ratio` parameter and adds it to or subtracts it from the original value. Additionally, you can specify the number of decimal digits by using the `precision` parameter. + +## Example: Adding noise to the purchase price + +In this example, the original value of `standardprice` will be noised up to `50%` and rounded up to `2` decimals. + +``` yaml title="NoiseFloat transformer example" +- schema: "purchasing" + name: "productvendor" + transformers: + - name: "NoiseFloat" + params: + column: "standardprice" + ratio: 0.5 + precision: 2 +``` diff --git a/docs/built_in_transformers/standard_transformers/noise_int.md b/docs/built_in_transformers/standard_transformers/noise_int.md new file mode 100644 index 00000000..759e633f --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/noise_int.md @@ -0,0 +1,27 @@ +Add or subtract a random fraction to the original integer value. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|--------|------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | int2, int4, int8 | +| ratio | The maximum random percentage for noise, from `0` to `1` | | Yes | - | + +## Description + +The `NoiseInt` transformer multiplies the original integer value by a provided random value that is not higher than the +`ratio` parameter and adds it to or subtracts it from the original value. + +## Example: Noise vacation hours of an employee + +In the following example, the original value of `vacationhours` will be noised up to 40%. + +``` yaml title="NoiseInt transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "NoiseInt" + params: + column: "vacationhours" + ratio: 0.4 +``` diff --git a/docs/built_in_transformers/standard_transformers/random_amount_with_currency.md b/docs/built_in_transformers/standard_transformers/random_amount_with_currency.md new file mode 100644 index 00000000..a70d3d8c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_amount_with_currency.md @@ -0,0 +1,28 @@ +The `RandomAmountWithCurrency` transformer is specifically designed to populate specified database columns with random financial amounts accompanied by currency codes. Ideal for applications requiring the simulation of financial transactions, this utility enhances the realism of financial datasets by introducing variability in amounts and currencies. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|----------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +This transformer automatically generates random financial amounts along with corresponding global currency codes (e. g., `250.00 USD`, `300.00 EUR`), injecting them into the designated database column. It provides a straightforward solution for populating financial records with varied and realistic data, suitable for testing payment systems, data anonymization, and simulation of economic models. + +## Example: Populate the `payments` table with random amounts and currencies + +This example shows how to configure the `RandomAmountWithCurrency` transformer to populate the `payment_details` column in the `payments` table with random amounts and currencies. It is an effective approach to simulating a diverse range of payment transactions. + +```yaml title="RandomAmountWithCurrency transformer example" +- schema: "public" + name: "payments" + transformers: + - name: "RandomAmountWithCurrency" + params: + column: "payment_details" + keep_null: false +``` + +In this setup, the `payment_details` column will be updated with random financial amounts and currency codes for each entry, replacing any existing non-NULL values. The `keep_null` parameter, when set to `true`, ensures that existing NULL values in the column remain unchanged, preserving the integrity of records without specified payment details. diff --git a/docs/built_in_transformers/standard_transformers/random_bool.md b/docs/built_in_transformers/standard_transformers/random_bool.md new file mode 100644 index 00000000..89f51f07 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_bool.md @@ -0,0 +1,26 @@ +Generate random boolean values. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | bool | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | + +## Description + +The `RandomBool` transformer generates a random boolean value. The behaviour for NULL values can be +configured using the `keep_null` parameter. + +## Example: Generate a random boolean for a column + +In the following example, the `RandomBool` transformer generates a random boolean value for the `salariedflag` column. + +``` yaml title="RandomBool transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "RandomBool" + params: + column: "salariedflag" +``` diff --git a/docs/built_in_transformers/standard_transformers/random_cc_number.md b/docs/built_in_transformers/standard_transformers/random_cc_number.md new file mode 100644 index 00000000..fe2bb128 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_cc_number.md @@ -0,0 +1,28 @@ +The `RandomCCNumber` transformer is specifically designed to populate specified database columns with random credit card numbers. This utility is crucial for applications that involve simulating financial data, testing payment systems, or anonymizing real credit card numbers in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +By leveraging algorithms capable of generating plausible credit card numbers that adhere to standard credit card validation rules (such as the Luhn algorithm), the `RandomCCNumber` transformer injects random credit card numbers into the designated database column. This approach ensures the generation of credit card numbers that are realistic for testing and development purposes, without compromising real-world applicability and security. + +## Example: Populate random credit card numbers for the `payment_information` table + +This example demonstrates configuring the `RandomCCNumber` transformer to populate the `cc_number` column in the `payment_information` table with random credit card numbers. It is an effective strategy for creating a realistic set of payment data for application testing or data anonymization. + +```yaml title="RandomCCNumber transformer example" +- schema: "public" + name: "payment_information" + transformers: + - name: "RandomCCNumber" + params: + column: "cc_number" + keep_null: false +``` + +With this setup, the `cc_number` column will be updated with random credit card numbers for each entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, it will ensure that existing NULL values in the column are preserved, maintaining the integrity of records where credit card information is not applicable or available. diff --git a/docs/built_in_transformers/standard_transformers/random_cc_type.md b/docs/built_in_transformers/standard_transformers/random_cc_type.md new file mode 100644 index 00000000..d09b10b0 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_cc_type.md @@ -0,0 +1,28 @@ +The `RandomCCType` transformer is designed to populate specified database columns with random credit card types. This tool is essential for applications that require the simulation of financial transaction data, testing payment processing systems, or anonymizing credit card type information in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing a predefined list of credit card types (e.g., VISA, MasterCard, American Express, Discover), the `RandomCCType` transformer injects random credit card type names into the designated database column. This feature allows for the creation of realistic and varied financial transaction datasets by simulating a range of credit card types without using real card data. + +## Example: Populate random credit card types for the `transactions` table + +This example shows how to configure the `RandomCCType` transformer to populate the `card_type` column in the `transactions` table with random credit card types. It is a straightforward method for simulating diverse payment methods across transactions. + +```yaml title="RandomCCType transformer example" +- schema: "public" + name: "transactions" + transformers: + - name: "RandomCCType" + params: + column: "card_type" + keep_null: false +``` + +In this configuration, the `card_type` column will be updated with random credit card types for each entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, maintaining the integrity of records where card type information is not applicable. diff --git a/docs/built_in_transformers/standard_transformers/random_century.md b/docs/built_in_transformers/standard_transformers/random_century.md new file mode 100644 index 00000000..e683bd45 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_century.md @@ -0,0 +1,28 @@ +The `RandomCentury` transformer is crafted to populate specified database columns with random century values. It is ideal for applications that require historical data simulation, such as generating random years within specific centuries for historical databases, testing datasets with temporal dimensions, or anonymizing dates in historical research data. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomCentury` transformer utilizes an algorithm or a library function (hypothetical in this context) to generate random century values. Each value represents a century (e.g., `19th`, `20th`, `21st`), providing a broad temporal range that can be used to enhance datasets requiring a distribution across different historical periods without the need for precise date information. + +## Example: Populate random centuries for the `historical_artifacts` table + +This example shows how to configure the `RandomCentury` transformer to populate the `century` column in a `historical_artifacts` table with random century values, adding an element of variability and historical context to the dataset. + +```yaml title="RandomCentury transformer example" +- schema: "public" + name: "historical_artifacts" + transformers: + - name: "RandomCentury" + params: + column: "century" + keep_null: false +``` + +In this setup, the `century` column will be filled with random century values, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, then existing NULL values in the column will remain untouched, preserving the original dataset's integrity where no temporal data is available. diff --git a/docs/built_in_transformers/standard_transformers/random_choice.md b/docs/built_in_transformers/standard_transformers/random_choice.md new file mode 100644 index 00000000..19d5f3fb --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_choice.md @@ -0,0 +1,33 @@ +Replace values randomly chosen from a provided list. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|-----------------------------------------------------------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | any | +| values | A list of values in any format. The string with value `\N` is considered NULL. | | Yes | - | +| validate | Performs a decoding procedure via the PostgreSQL driver using the column type to ensure that values have correct type | `true` | No | | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | | + +## Description + +The `RandomChoice` transformer replaces one randomly chosen value from the list provided in the `values` parameter. You +can use the `validate` parameter to ensure that values are correct before applying the transformation. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Choosing randomly from provided dates + +In this example, the provided values undergo validation through PostgreSQL driver decoding, and one value is randomly +chosen from the list. + +```yaml title="RandomChoice transformer example" + - schema: "humanresources" + name: "jobcandidate" + transformers: + - name: "RandomChoice" + params: + column: "modifieddate" + validate: true + values: + - "2023-12-21 07:41:06.891" + - "2023-12-21 07:41:06.896" +``` diff --git a/docs/built_in_transformers/standard_transformers/random_currency.md b/docs/built_in_transformers/standard_transformers/random_currency.md new file mode 100644 index 00000000..aae5e83c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_currency.md @@ -0,0 +1,28 @@ +The `RandomCurrency` transformer is tailored to populate specified database columns with random currency codes. This tool is highly beneficial for applications involving the simulation of international financial data, testing currency conversion features, or anonymizing currency information in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing a comprehensive list of global currency codes (e.g., USD, EUR, JPY), the `RandomCurrency` transformer injects random currency codes into the designated database column. This feature allows for the creation of diverse and realistic financial transaction datasets by simulating a variety of currencies without relying on actual financial data. + +## Example: Populate random currency codes for the `transactions` table + +This example outlines configuring the `RandomCurrency` transformer to populate the `currency_code` column in a `transactions` table with random currency codes. It is an effective way to simulate international transactions across multiple currencies. + +```yaml title="RandomCurrency transformer example" +- schema: "public" + name: "transactions" + transformers: + - name: "RandomCurrency" + params: + column: "currency_code" + keep_null: false +``` + +In this configuration, the `currency_code` column will be updated with random currency codes for each entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where currency data may not be applicable. diff --git a/docs/built_in_transformers/standard_transformers/random_date.md b/docs/built_in_transformers/standard_transformers/random_date.md new file mode 100644 index 00000000..d8c796f5 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_date.md @@ -0,0 +1,43 @@ +Generate a random date in a specified interval. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------|---------|----------|------------------------------| +| column | Name of the column to be affected | | Yes | date, timestamp, timestamptz | +| min | The minimum threshold date for the random value. The format depends on the column type. | | Yes | - | +| max | The maximum threshold date for the random value. The format depends on the column type. | | Yes | - | +| truncate | Truncate the date to the specified part (`nano`, `second`, `minute`, `hour`, `day`, `month`, `year`). The truncate operation is not applied by default. | | No | - | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | + +## Description + +The `RandomDate` transformer generates a random date within the provided interval, starting from `min` to `max`. It +can also perform date truncation up to the specified part of the date. The format of dates in the `min` and `max` +parameters must adhere to PostgreSQL types, including `DATE`, `TIMESTAMP WITHOUT TIMEZONE`, +or `TIMESTAMP WITH TIMEZONE`. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Generate `modifieddate` + +In the following example, a random timestamp without timezone is generated for the `modifieddate` column within the range from +`2011-05-31 00:00:00` to `2013-05-31 00:00:00`, and the part of the random value after `day` is truncated. + +``` yaml title="RandomDate transformer example" +- schema: "sales" + name: "salesorderdetail" + transformers: + - name: "RandomDate" + params: + column: "modifieddate" + keep_null: false + min: "2011-05-31 00:00:00" + max: "2013-05-31 00:00:00" + truncate: "day" +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|--------------|---------------------|---------------------| +| modifieddate | 2007-06-23 00:00:00 | 2005-12-08 00:00:00 | +``` diff --git a/docs/built_in_transformers/standard_transformers/random_day_of_month.md b/docs/built_in_transformers/standard_transformers/random_day_of_month.md new file mode 100644 index 00000000..65471716 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_day_of_month.md @@ -0,0 +1,28 @@ +The `RandomDayOfMonth` transformer is designed to populate specified database columns with random day-of-the-month values. It is particularly useful for scenarios requiring the simulation of dates, such as generating random event dates, user sign-up dates, or any situation where the specific day of the month is needed without reference to the actual month or year. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar, int2, int4, int8, numeric | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing the `faker` library, the `RandomDayOfMonth` transformer generates random numerical values representing days of the month, ranging from 1 to 31. This allows for the easy insertion of random but plausible day-of-the-month data into a database, enhancing realism or anonymizing actual dates. + +## Example: Populate random days of the month for the `events` table + +This example illustrates how to configure the `RandomDayOfMonth` transformer to fill the `event_day` column in the `events` table with random day-of-the-month values, facilitating the simulation of varied event scheduling. + +```yaml title="RandomDayOfMonth transformer example" +- schema: "public" + name: "events" + transformers: + - name: "RandomDayOfMonth" + params: + column: "event_day" + keep_null: false +``` + +With this setup, the `event_day` column will be updated with random day-of-the-month values, replacing any existing non-NULL values. Setting `keep_null` to `true` ensures that NULL values in the column are left unchanged, maintaining any existing gaps in the data. diff --git a/docs/built_in_transformers/standard_transformers/random_day_of_week.md b/docs/built_in_transformers/standard_transformers/random_day_of_week.md new file mode 100644 index 00000000..3caae1ee --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_day_of_week.md @@ -0,0 +1,28 @@ +The `RandomDayOfWeek` transformer is specifically designed to fill specified database columns with random day-of-the-week names. It is particularly useful for applications that require simulated weekly schedules, random event planning, or any scenario where the day of the week is relevant but the specific date is not. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing the `faker` library, the `RandomDayOfWeek` transformer generates names of days (e. g., Monday, Tuesday) at random. This transformer can be applied to any text or varchar column in a database, introducing variability and realism into data sets that need to represent days of the week in a non-specific manner. + +## Example: Populate random days of the week for the `work_schedule` table + +This example demonstrates configuring the `RandomDayOfWeek` transformer to populate the `work_day` column in the `work_schedule` table with random days of the week. This setup can help simulate a diverse range of work schedules without tying them to specific dates. + +```yaml title="RandomDayOfWeek transformer example" +- schema: "public" + name: "work_schedule" + transformers: + - name: "RandomDayOfWeek" + params: + column: "work_day" + keep_null: false +``` + +In this configuration, every entry in the `work_day` column will be updated with a random day of the week, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, then existing NULL values within the column will remain unchanged. diff --git a/docs/built_in_transformers/standard_transformers/random_domain_name.md b/docs/built_in_transformers/standard_transformers/random_domain_name.md new file mode 100644 index 00000000..9850ccd6 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_domain_name.md @@ -0,0 +1,28 @@ +The `RandomDomainName` transformer is designed to populate specified database columns with random domain names. This tool is invaluable for simulating web data, testing applications that interact with domain names, or anonymizing real domain information in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +By leveraging an algorithm or library capable of generating believable domain names, the `RandomDomainName` transformer introduces random domain names into the specified database column. Each generated domain name includes a second-level domain (SLD) and a top-level domain (TLD), such as "example.com" or "website.org," providing a wide range of plausible web addresses for database enrichment. + +## Example: Populate random domain names for the `websites` table + +This example demonstrates configuring the `RandomDomainName` transformer to populate the `domain` column in the `websites` table with random domain names. This approach facilitates the creation of a diverse and realistic set of web addresses for testing, simulation, or data anonymization purposes. + +```yaml title="RandomDomainName transformer example" +- schema: "public" + name: "websites" + transformers: + - name: "RandomDomainName" + params: + column: "domain" + keep_null: false +``` + +In this setup, the `domain` column will be updated with random domain names for each entry, replacing any existing non-NULL values. If `keep_null` is set to `true`, the transformer will preserve existing NULL values in the column, maintaining the integrity of data where domain information is not applicable. diff --git a/docs/built_in_transformers/standard_transformers/random_e164_phone_number.md b/docs/built_in_transformers/standard_transformers/random_e164_phone_number.md new file mode 100644 index 00000000..aeb9cf90 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_e164_phone_number.md @@ -0,0 +1,28 @@ +The `RandomE164PhoneNumber` transformer is developed to populate specified database columns with random E.164 phone numbers. This tool is essential for applications requiring the simulation of contact information, testing phone number validation systems, or anonymizing phone number data in datasets while focusing on E.164 numbers. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomE164PhoneNumber` transformer utilizes algorithms capable of generating random E.164 phone numbers with the standard international format and injects them into the designated database column. This feature allows for the creation of diverse and realistic contact information in datasets for development, testing, or data anonymization purposes. + +## Example: Populate random E.164 phone numbers for the `contact_information` table + +This example demonstrates configuring the `RandomE164PhoneNumber` transformer to populate the `phone_number` column in the `contact_information` table with random E.164 phone numbers. It is an effective method for simulating a variety of contact information entries with E.164 numbers. + +```yaml title="RandomE164PhoneNumber transformer example" +- schema: "public" + name: "contact_information" + transformers: + - name: "RandomE164PhoneNumber" + params: + column: "phone_number" + keep_null: false +``` + +In this configuration, the `phone_number` column will be updated with random E.164 phone numbers for each contact information entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where E.164 phone number information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_email.md b/docs/built_in_transformers/standard_transformers/random_email.md new file mode 100644 index 00000000..128413e7 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_email.md @@ -0,0 +1,28 @@ +The `RandomEmail` transformer is designed to populate specified database columns with random email addresses. This transformer is especially useful for applications requiring the simulation of user contact data, testing email functionalities, or anonymizing real user email addresses in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Leveraging a method or library capable of generating plausible email address strings, the `RandomEmail` transformer injects random email addresses into the specified database column. It generates email addresses with varied domains and user names, offering a realistic range of email patterns suitable for filling user tables, contact lists, or any other dataset requiring email addresses without utilizing real user data. + +## Example: Populate random email addresses for the `users` table + +This example illustrates configuring the `RandomEmail` transformer to populate the `email` column in the `users` table with random email addresses, thereby simulating a diverse user base without exposing real contact information. + +```yaml title="RandomEmail transformer example" +- schema: "public" + name: "users" + transformers: + - name: "RandomEmail" + params: + column: "email" + keep_null: false +``` + +In this setup, the `email` column will receive random email addresses for each entry, replacing any existing non-NULL values. If `keep_null` is set to `true`, then the transformer will preserve existing NULL values, maintaining the integrity of the original dataset where email information is absent. diff --git a/docs/built_in_transformers/standard_transformers/random_first_name.md b/docs/built_in_transformers/standard_transformers/random_first_name.md new file mode 100644 index 00000000..f184e7f7 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_first_name.md @@ -0,0 +1,28 @@ +The `RandomFirstName` transformer is designed to populate specified database columns with random first names. This tool is indispensable for applications requiring the simulation of user profiles, testing user registration systems, or anonymizing user data in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomFirstName` transformer utilizes a comprehensive list of first names to inject random first names into the designated database column. This feature allows for the creation of diverse and realistic user profiles by simulating a variety of first names without using real user data. + +## Example: Populate random first names for the `user_profiles` table + +This example demonstrates configuring the `RandomFirstName` transformer to populate the `first_name` column in the `user_profiles` table with random first names. It is an effective method for simulating a variety of user profiles with diverse first names. + +```yaml title="RandomFirstName transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomFirstName" + params: + column: "first_name" + keep_null: false +``` + +In this configuration, the `first_name` column will be updated with random first names for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where first name information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_first_name_female.md b/docs/built_in_transformers/standard_transformers/random_first_name_female.md new file mode 100644 index 00000000..0921a2e6 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_first_name_female.md @@ -0,0 +1,28 @@ +The `RandomFirstNameFemale` transformer is designed to populate specified database columns with random female first names. This tool is crucial for applications requiring the simulation of user profiles, testing gender-specific features, or anonymizing user data in datasets while focusing on female names. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomFirstNameFemale` transformer utilizes a comprehensive list of female first names to inject random female first names into the designated database column. This feature allows for the creation of diverse and realistic user profiles with a focus on female names without using real user data. + +## Example: Populate random female first names for the `user_profiles` table + +This example demonstrates configuring the `RandomFirstNameFemale` transformer to populate the `first_name` column in the `user_profiles` table with random female first names. It is an effective method for simulating a variety of user profiles with diverse female first names. + +```yaml title="RandomFirstNameFemale transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomFirstNameFemale" + params: + column: "first_name" + keep_null: false +``` + +In this configuration, the `first_name` column will be updated with random female first names for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where female first name information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_first_name_male.md b/docs/built_in_transformers/standard_transformers/random_first_name_male.md new file mode 100644 index 00000000..fc25b1fc --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_first_name_male.md @@ -0,0 +1,28 @@ +The `RandomFirstNameMale` transformer is developed to populate specified database columns with random male first names. This tool is essential for applications requiring the simulation of user profiles, testing gender-specific features, or anonymizing user data in datasets while focusing on male names. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|---------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomFirstNameMale` transformer utilizes a comprehensive list of male first names to inject random male first names into the designated database column. This feature allows for the creation of diverse and realistic user profiles with a focus on male names without using real user data. + +## Example: Populate random male first names for the `user_profiles` table + +This example demonstrates configuring the `RandomFirstNameMale` transformer to populate the `first_name` column in the `user_profiles` table with random male first names. It is an effective method for simulating a variety of user profiles with diverse male first names. + +```yaml title="RandomFirstNameMale transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomFirstNameMale" + params: + column: "first_name" + keep_null: false +``` + +In this configuration, the `first_name` column will be updated with random male first names for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where male first name information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_float.md b/docs/built_in_transformers/standard_transformers/random_float.md new file mode 100644 index 00000000..c0db5b70 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_float.md @@ -0,0 +1,40 @@ +Generate a random float within the provided interval. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|----------------------------------------------------------------------------------------|---------|----------|---------------------------------------------------| +| column | The name of the column to be affected | | Yes | float4 (real), float8 (double precision), numeric | +| min | The minimum threshold for the random value. The value range depends on the column type. | | Yes | - | +| max | The maximum threshold for the random value. The value range depends on the column type. | | Yes | - | +| precision | The precision of the random float value (number of digits after the decimal point) | `4` | No | - | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | + +## Description + +The `RandomFloat` transformer generates a random float value within the provided interval, starting from `min` to +`max`, with the option to specify the number of decimal digits by using the `precision` parameter. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Generate random price + +In this example, the `RandomFloat` transformer generates random prices in the range from `0.1` to `7000` while +maintaining a precision of up to 2 digits. + +``` yaml title="RandomFloat transformer example" +- schema: "sales" + name: "salesorderdetail" + transformers: + - name: "RandomFloat" + params: + column: "unitprice" + min: 0.1 + max: 7000 + precision: 2 +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|----------------|-------------| +| unitprice | 2024.994 | 6806.5 | +``` diff --git a/docs/built_in_transformers/standard_transformers/random_int.md b/docs/built_in_transformers/standard_transformers/random_int.md new file mode 100644 index 00000000..71db66fb --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_int.md @@ -0,0 +1,37 @@ +Generate a random integer within the provided interval. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|----------------------------------------------------------------------------------------|---------|----------|-----------------------------------------------------| +| column | The name of the column to be affected | | Yes | int2 (smallint), int4 (int), int8 (bigint), numeric | +| min | The minimum threshold for the random value. The value range depends on the column type. | | Yes | - | +| max | The maximum threshold for the random value. The value range depends on the column type. | | Yes | - | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | + +## Description + +The `RandomInt` transformer generates a random integer within the specified `min` and `max` thresholds. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Generate random item quantity + +In the following example, the `RandomInt` transformer generates a random value in the range from `1` to `30` and assigns it to +the `orderqty` column. + +``` yaml title="RandomInt transformer example" +- schema: "sales" + name: "salesorderdetail" + transformers: + - name: "RandomInt" + params: + column: "orderqty" + min: 1 + max: 30 +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|----------------|-------------| +| orderqty | 1 | 8 | +``` diff --git a/docs/built_in_transformers/standard_transformers/random_ipv4.md b/docs/built_in_transformers/standard_transformers/random_ipv4.md new file mode 100644 index 00000000..321554c6 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_ipv4.md @@ -0,0 +1,28 @@ +The `RandomIPv4` transformer is designed to populate specified database columns with random IPv4 addresses. This utility is essential for applications requiring the simulation of network data, testing systems that utilize IP addresses, or anonymizing real IP addresses in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|----------|----------|---------------------| +| column | The name of the column to be affected | | Yes | text, varchar, inet | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing a robust algorithm or library for generating IPv4 address strings, the `RandomIPv4` transformer injects random IPv4 addresses into the designated database column. Each generated address follows the standard IPv4 format, consisting of four octets separated by dots (e. g., "192.168.1.1"), ensuring a wide range of plausible network addresses for various use cases. + +## Example: Populate random IPv4 addresses for the `network_logs` table + +This example shows how to configure the `RandomIPv4` transformer to populate the `source_ip` column in the `network_logs` table with random IPv4 addresses, simulating diverse network traffic sources for analysis or testing purposes. + +```yaml title="RandomIPv4 transformer example" +- schema: "public" + name: "network_logs" + transformers: + - name: "RandomIPv4" + params: + column: "source_ip" + keep_null: false +``` + +With this setup, the `source_ip` column will be updated with random IPv4 addresses for each entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, it will ensure that existing NULL values in the column are preserved, accommodating scenarios where IP address data may be intentionally omitted. diff --git a/docs/built_in_transformers/standard_transformers/random_ipv6.md b/docs/built_in_transformers/standard_transformers/random_ipv6.md new file mode 100644 index 00000000..0226b98c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_ipv6.md @@ -0,0 +1,28 @@ +The `RandomIPv6` transformer is engineered to populate specified database columns with random IPv6 addresses. This tool is particularly useful for simulating modern network environments, testing systems that operate with IPv6 addresses, or anonymizing datasets containing real IPv6 addresses. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|---------------------| +| column | The name of the column to be affected | | Yes | text, varchar, inet | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Employing advanced algorithms or libraries capable of generating IPv6 address strings, the `RandomIPv6` transformer introduces random IPv6 addresses into the specified database column. IPv6 addresses, represented as eight groups of four hexadecimal digits separated by colons (e. g., "2001:0db8:85a3:0000:0000:8a2e:0370:7334"), provide a vast range of possible addresses, reflecting the extensive addressing capacity of the IPv6 standard. + +## Example: Populate random IPv6 addresses for the `devices` table + +This example illustrates configuring the `RandomIPv6` transformer to populate the `device_ip` column in the `devices` table with random IPv6 addresses, enhancing the dataset with a broad spectrum of network addresses for development, testing, or data protection purposes. + +```yaml title="RandomIPv6 transformer example" +- schema: "public" + name: "devices" + transformers: + - name: "RandomIPv6" + params: + column: "device_ip" + keep_null: false +``` + +This configuration ensures that the `device_ip` column receives random IPv6 addresses for each entry, replacing any existing non-NULL values. Setting the `keep_null` parameter to `true` allows for the preservation of existing NULL values within the column, maintaining the integrity of records where IP address information is not applicable or available. diff --git a/docs/built_in_transformers/standard_transformers/random_last_name.md b/docs/built_in_transformers/standard_transformers/random_last_name.md new file mode 100644 index 00000000..8fd8aba9 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_last_name.md @@ -0,0 +1,28 @@ +The `RandomLastName` transformer is developed to populate specified database columns with random last names. This tool is essential for applications requiring the simulation of user profiles, testing user registration systems, or anonymizing user data in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomLastName` transformer utilizes a comprehensive list of last names to inject random last names into the designated database column. This feature allows for the creation of diverse and realistic user profiles by simulating a variety of last names without using real user data. + +## Example: Populate random last names for the `user_profiles` table + +This example demonstrates configuring the `RandomLastName` transformer to populate the `last_name` column in the `user_profiles` table with random last names. It is an effective method for simulating a variety of user profiles with diverse last names. + +```yaml title="RandomLastName transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomLastName" + params: + column: "last_name" + keep_null: false +``` + +In this configuration, the `last_name` column will be updated with random last names for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where last name information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_latitude.md b/docs/built_in_transformers/standard_transformers/random_latitude.md new file mode 100644 index 00000000..a9222587 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_latitude.md @@ -0,0 +1,28 @@ +The `RandomLatitude` transformer generates random latitude values for specified database columns. It is designed to support geographical data enhancements, particularly useful for applications requiring randomized but plausible geographical coordinates. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | float4, float8, numeric | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomLatitude` transformer utilizes the `faker` library to produce random latitude values within the range of -90 to +90 degrees. This transformer can be applied to columns designated to store geographical latitude information, enhancing data sets with randomized latitude coordinates. + +## Example: Populate random latitude for the `locations` table + +This example demonstrates configuring the `RandomLatitude` transformer to populate the `latitude` column in the `locations` table with random latitude values. + +```yaml title="RandomLatitude transformer example" +- schema: "public" + name: "locations" + transformers: + - name: "RandomLatitude" + params: + column: "latitude" + keep_null: false +``` + +With this configuration, the `latitude` column will be filled with random latitude values, replacing any existing non-NULL values. If `keep_null` is set to `true`, existing NULL values will be preserved. diff --git a/docs/built_in_transformers/standard_transformers/random_longitude.md b/docs/built_in_transformers/standard_transformers/random_longitude.md new file mode 100644 index 00000000..9a80dc39 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_longitude.md @@ -0,0 +1,28 @@ +The `RandomLongitude` transformer is designed to generate random longitude values for specified database columns, enhancing datasets with realistic geographic coordinates suitable for a wide range of applications, from testing location-based services to anonymizing real geographic data. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | float4, float8, numeric | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomLongitude` transformer leverages the `faker` library to produce random longitude values within the globally accepted range of -180 to +180 degrees. This flexibility allows the transformer to be applied to any column intended for storing longitude data, providing a simple yet powerful tool for introducing randomized longitude coordinates into a database. + +## Example: Populate random longitude for the `locations` table + +This example shows how to use the `RandomLongitude` transformer to fill the `longitude` column in the `locations` table with random longitude values. + +```yaml title="RandomLongitude transformer example" +- schema: "public" + name: "locations" + transformers: + - name: "RandomLongitude" + params: + column: "longitude" + keep_null: false +``` + +This setup ensures that all entries in the `longitude` column receive a random longitude value, replacing any existing non-NULL values. If `keep_null` is set to `true`, then existing NULL values in the column will remain unchanged. diff --git a/docs/built_in_transformers/standard_transformers/random_mac_address.md b/docs/built_in_transformers/standard_transformers/random_mac_address.md new file mode 100644 index 00000000..7982800e --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_mac_address.md @@ -0,0 +1,29 @@ +The `RandomMacAddress` transformer is developed to populate specified database columns with random MAC (Media Access Control) addresses. This transformer is particularly useful for simulating network hardware data, testing applications that process MAC addresses, or anonymizing real network device identifiers in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|----------------------------------------------------|---------|----------|----------------------------------| +| column | The name of the column to be affected | | Yes | text, varchar, macaddr, macaddr8 | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing a sophisticated algorithm or library for generating MAC address strings, the `RandomMacAddress` transformer injects random MAC addresses into the designated database column. Each generated MAC address follows the standard format of six groups of two hexadecimal digits, separated by colons (e. g., "01:23:45:67:89:ab"), ensuring plausible values for network device simulations. + +## Example: Populate random MAC addresses for the `network_devices` table + +This example shows how to configure the `RandomMacAddress` transformer to populate the `mac_address` column in +a `network_devices` table with random MAC addresses, enhancing the realism of simulated network device data. + +```yaml title="RandomMacAddress transformer example" +- schema: "public" + name: "network_devices" + transformers: + - name: "RandomMacAddress" + params: + column: "mac_address" + keep_null: false +``` + +With this configuration, every entry in the `mac_address` column will be assigned a random MAC address, replacing any existing non-NULL values. Setting the `keep_null` parameter to `true` allows the preservation of existing NULL values within the column, accommodating scenarios where MAC address data may be intentionally absent. diff --git a/docs/built_in_transformers/standard_transformers/random_month_name.md b/docs/built_in_transformers/standard_transformers/random_month_name.md new file mode 100644 index 00000000..deccd673 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_month_name.md @@ -0,0 +1,28 @@ +The `RandomMonthName` transformer is crafted to populate specified database columns with random month names. This transformer is especially useful for scenarios requiring the simulation of time-related data, such as user birth months or event months, without relying on specific date values. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomMonthName` transformer utilizes the `faker` library to generate the names of months at random. It can be applied to any textual column in a database to introduce variety and realism into data sets that require representations of months without the need for specific calendar dates. + +## Example: Populate random month names for the `user_profiles` table + +This example demonstrates how to configure the `RandomMonthName` transformer to fill the `birth_month` column in the `user_profiles` table with random month names, adding a layer of diversity to user data without using actual birthdates. + +```yaml title="RandomMonthName transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomMonthName" + params: + column: "birth_month" + keep_null: false +``` + +With this setup, the `birth_month` column will be updated with random month names, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, then existing NULL values within the column will remain untouched. diff --git a/docs/built_in_transformers/standard_transformers/random_name.md b/docs/built_in_transformers/standard_transformers/random_name.md new file mode 100644 index 00000000..e2e86fbd --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_name.md @@ -0,0 +1,28 @@ +The `RandomName` transformer is designed to populate specified database columns with random full names, including both first names and last names. This tool is indispensable for applications requiring the simulation of user profiles, testing user registration systems, or anonymizing user data in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomName` transformer utilizes a comprehensive list of first names and last names to inject random full names into the designated database column. This feature allows for the creation of diverse and realistic user profiles by simulating a variety of full names without using real user data. + +## Example: Populate random full names for the `user_profiles` table + +This example demonstrates configuring the `RandomName` transformer to populate the name column in the `user_profiles` table with random full names. It is an effective method for simulating a variety of user profiles with diverse full names. + +```yaml title="RandomName transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomName" + params: + column: "name" + keep_null: false +``` + +In this configuration, the `name` column will be updated with random full names for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where full name information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_paragraph.md b/docs/built_in_transformers/standard_transformers/random_paragraph.md new file mode 100644 index 00000000..3050378b --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_paragraph.md @@ -0,0 +1,28 @@ +The `RandomParagraph` transformer is crafted to populate specified database columns with random paragraphs. This utility is indispensable for applications that require the generation of extensive textual content, such as simulating articles, enhancing textual datasets for NLP systems, or anonymizing textual content in databases. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Employing sophisticated text generation algorithms or libraries, the `RandomParagraph` transformer generates random paragraphs, injecting them into the designated database column. This transformer is designed to create varied and plausible paragraphs that simulate real-world textual content, providing a valuable tool for database enrichment, testing, and anonymization. + +## Example: Populate random paragraphs for the `articles` table + +This example illustrates configuring the `RandomParagraph` transformer to populate the `body` column in an `articles` table with random paragraphs. It is an effective way to simulate diverse article content for development, testing, or demonstration purposes. + +```yaml title="RandomParagraph transformer example" +- schema: "public" + name: "articles" + transformers: + - name: "RandomParagraph" + params: + column: "body" + keep_null: false +``` + +With this setup, the `body` column will receive random paragraphs for each entry, replacing any existing non-NULL values. Setting the `keep_null` parameter to `true` allows for the preservation of existing NULL values within the column, maintaining the integrity of records where article content is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_password.md b/docs/built_in_transformers/standard_transformers/random_password.md new file mode 100644 index 00000000..9fd6b483 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_password.md @@ -0,0 +1,28 @@ +The `RandomPassword` transformer is designed to populate specified database columns with random passwords. This utility is vital for applications that require the simulation of secure user data, testing systems with authentication mechanisms, or anonymizing real passwords in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Employing sophisticated password generation algorithms or libraries, the `RandomPassword` transformer injects random passwords into the designated database column. This feature is particularly useful for creating realistic and secure user password datasets for development, testing, or demonstration purposes. + +## Example: Populate random passwords for the `user_accounts` table + +This example demonstrates how to configure the `RandomPassword` transformer to populate the `password` column in the `user_accounts` table with random passwords. + +```yaml title="RandomPassword transformer example" +- schema: "public" + name: "user_accounts" + transformers: + - name: "RandomPassword" + params: + column: "password" + keep_null: false +``` + +In this configuration, every entry in the `password` column will be updated with a random password. Setting the `keep_null` parameter to `true` will preserve existing NULL values in the column, accommodating scenarios where password data may not be applicable. diff --git a/docs/built_in_transformers/standard_transformers/random_phone_number.md b/docs/built_in_transformers/standard_transformers/random_phone_number.md new file mode 100644 index 00000000..3b4c659c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_phone_number.md @@ -0,0 +1,28 @@ +The `RandomPhoneNumber` transformer is developed to populate specified database columns with random phone numbers. This tool is essential for applications requiring the simulation of contact information, testing phone number validation systems, or anonymizing phone number data in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomPhoneNumber` transformer utilizes algorithms capable of generating random phone numbers with various formats and injects them into the designated database column. This feature allows for the creation of diverse and realistic contact information in datasets for development, testing, or data anonymization purposes. + +## Example: Populate random phone numbers for the `contact_information` table + +This example demonstrates configuring the `RandomPhoneNumber` transformer to populate the `phone_number` column in the `contact_information` table with random phone numbers. It is an effective method for simulating a variety of contact information entries. + +```yaml title="RandomPhoneNumber transformer example" +- schema: "public" + name: "contact_information" + transformers: + - name: "RandomPhoneNumber" + params: + column: "phone_number" + keep_null: false +``` + +In this configuration, the `phone_number` column will be updated with random phone numbers for each contact information entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where phone number information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_sentence.md b/docs/built_in_transformers/standard_transformers/random_sentence.md new file mode 100644 index 00000000..56e8f68c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_sentence.md @@ -0,0 +1,28 @@ +The `RandomSentence` transformer is designed to populate specified database columns with random sentences. Ideal for simulating natural language text for user comments, testing NLP systems, or anonymizing textual data in databases. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomSentence` transformer employs complex text generation algorithms or libraries to generate random sentences, injecting them into a designated database column without the need for specifying sentence length. This flexibility ensures the creation of varied and plausible text for a wide range of applications. + +## Example: Populate random sentences for the `comments` table + +This example shows how to configure the `RandomSentence` transformer to populate the `comment` column in the `comments` table with random sentences. It is a straightforward method for simulating diverse user-generated content. + +```yaml title="RandomSentence transformer example" +- schema: "public" + name: "comments" + transformers: + - name: "RandomSentence" + params: + column: "comment" + keep_null: false +``` + +In this configuration, the `comment` column will be updated with random sentences for each entry, replacing any existing non-NULL values. If `keep_null` is set to `true`, existing NULL values in the column will be preserved, maintaining the integrity of records where comments are not applicable. diff --git a/docs/built_in_transformers/standard_transformers/random_string.md b/docs/built_in_transformers/standard_transformers/random_string.md new file mode 100644 index 00000000..8384c7e3 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_string.md @@ -0,0 +1,40 @@ +Generate a random string using the provided characters within the specified length range. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------------------------------|--------------------------------------------------------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| min_length | The minimum length of the generated string | | Yes | - | +| max_length | The maximum length of the generated string | | Yes | - | +| symbols | The range of characters that can be used in the random string | `abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ` | No | - | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | + +## Description + +The `RandomString` transformer generates a random string with a length between `min_length` and `max_length` using the +characters specified in the symbols string as the possible set of characters. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Generate a random string for `accountnumber` + +In the following example, a random string is generated for the `accountnumber` column with a length range from `9` to `12`. The +character set used for generation includes `1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ`. + +``` yaml title="RandomString transformer example" +- schema: "purchasing" + name: "vendor" + transformers: + - name: "RandomString" + params: + column: "accountnumber" + min_length: 9 + max_length: 12 + symbols: "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ" +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|---------------|----------------|-------------| +| accountnumber | AUSTRALI0001 | 96B82A65548 | +``` diff --git a/docs/built_in_transformers/standard_transformers/random_timezone.md b/docs/built_in_transformers/standard_transformers/random_timezone.md new file mode 100644 index 00000000..e5456c37 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_timezone.md @@ -0,0 +1,28 @@ +The `RandomTimezone` transformer is designed to populate specified database columns with random timezone strings. This transformer is particularly useful for applications that require the simulation of global user data, testing of timezone-related functionalities, or anonymizing real user timezone information in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing a comprehensive library or algorithm for generating timezone data, the `RandomTimezone` transformer provides random timezone strings (e. g., "America/New_York", "Europe/London") for database columns. This feature enables the creation of diverse and realistic datasets by simulating timezone information for user profiles, event timings, or any other data requiring timezone context. + +## Example: Populate random timezone strings for the `user_accounts` table + +This example demonstrates how to configure the `RandomTimezone` transformer to populate the `timezone` column in the `user_accounts` table with random timezone strings, enhancing the dataset with varied global user representations. + +```yaml title="RandomTimezone transformer example" +- schema: "public" + name: "user_accounts" + transformers: + - name: "RandomTimezone" + params: + column: "timezone" + keep_null: false +``` + +With this configuration, every entry in the `timezone` column will be updated with a random timezone string, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values within the column will remain unchanged, preserving the integrity of rows without specified timezone data. diff --git a/docs/built_in_transformers/standard_transformers/random_title_female.md b/docs/built_in_transformers/standard_transformers/random_title_female.md new file mode 100644 index 00000000..cea669c7 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_title_female.md @@ -0,0 +1,28 @@ +The `RandomTitleFemale` transformer is designed to populate specified database columns with random female titles. This tool is crucial for applications that require the simulation of user profiles, testing gender-specific features, or anonymizing user data in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomTitleFemale` transformer utilizes a predefined list of female titles (e. g., Mrs., Dr., Prof.) to inject random female titles into the designated database column. This feature allows for the creation of diverse and realistic user profiles by simulating a variety of female titles without using real user data. + +## Example: Populate random female titles for the `user_profiles` table + +This example demonstrates configuring the `RandomTitleFemale` transformer to populate the `title` column in the `user_profiles` table with random female titles. It is an effective method for simulating a variety of user profiles with female titles. + +```yaml title="RandomTitleFemale transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomTitleFemale" + params: + column: "title" + keep_null: false +``` + +In this configuration, the `title` column will be updated with random female titles for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where title information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_title_male.md b/docs/built_in_transformers/standard_transformers/random_title_male.md new file mode 100644 index 00000000..59e668b3 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_title_male.md @@ -0,0 +1,28 @@ +The `RandomTitleMale` transformer is developed to populate specified database columns with random male titles. This tool is essential for applications that require the simulation of user profiles, testing gender-specific features, or anonymizing user data in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomTitleMale` transformer utilizes a predefined list of male titles (e. g., Mr., Dr., Prof.) to inject random male titles into the designated database column. This feature allows for the creation of diverse and realistic user profiles by simulating a variety of male titles without using real user data. + +## Example: Populate random male titles for the `user_profile` table + +This example outlines configuring the `RandomTitleMale` transformer to populate the `title` column in a `user_profiles` table with random male titles. It is a straightforward method for simulating a variety of user profiles with male titles. + +```yaml title="RandomTitleMale transformer example" +- schema: "public" + name: "user_profiles" + transformers: + - name: "RandomTitleMale" + params: + column: "title" + keep_null: false +``` + +In this configuration, the `title` column will be updated with random male titles for each user profile entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where title information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_toll_free_phone_number.md b/docs/built_in_transformers/standard_transformers/random_toll_free_phone_number.md new file mode 100644 index 00000000..832a7a2c --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_toll_free_phone_number.md @@ -0,0 +1,28 @@ +The `RandomTollFreePhoneNumber` transformer is designed to populate specified database columns with random toll-free phone numbers. This tool is essential for applications requiring the simulation of contact information, testing phone number validation systems, or anonymizing phone number data in datasets while focusing on toll-free numbers. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomTollFreePhoneNumber` transformer utilizes algorithms capable of generating random toll-free phone numbers with various formats and injects them into the designated database column. This feature allows for the creation of diverse and realistic toll-free contact information in datasets for development, testing, or data anonymization purposes. + +## Example: Populate random toll-free phone numbers for the `contact_information` table + +This example demonstrates configuring the `RandomTollFreePhoneNumber` transformer to populate the `phone_number` column in the `contact_information` table with random toll-free phone numbers. It is an effective method for simulating a variety of contact information entries with toll-free numbers. + +```yaml title="RandomTollFreePhoneNumber transformer example" +- schema: "public" + name: "contact_information" + transformers: + - name: "RandomTollFreePhoneNumber" + params: + column: "phone_number" + keep_null: false +``` + +In this configuration, the `phone_number` column will be updated with random toll-free phone numbers for each contact information entry, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, existing NULL values in the column will be preserved, ensuring the integrity of records where toll-free phone number information is not applicable or provided. diff --git a/docs/built_in_transformers/standard_transformers/random_unix_time.md b/docs/built_in_transformers/standard_transformers/random_unix_time.md new file mode 100644 index 00000000..cdf2c4fa --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_unix_time.md @@ -0,0 +1,28 @@ +The `RandomUnixTime` transformer generates random Unix time values (timestamps) for specified database columns. It is particularly useful for populating columns with timestamp data, simulating time-related data, or anonymizing actual timestamps in a dataset. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | int4, int8, numeric | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomUnixTime` transformer uses the `faker` library to generate random Unix timestamps. Unix time, also known as POSIX time or Epoch time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1, 1970, not counting leap seconds. This transformer allows for the generation of timestamps that can represent any moment from the Epoch to the present or even into the future, depending on the range of the `faker` library's implementation. + +## Example: Populate random timestamps for the `registration_dates` table + +This example configures the `RandomUnixTime` transformer to apply random Unix timestamps to the `registration_date` column in a `users` table, simulating user registration times. + +```yaml title="RandomUnixTime transformer example" +- schema: "public" + name: "users" + transformers: + - name: "RandomUnixTime" + params: + column: "registration_date" + keep_null: false +``` + +In this configuration, every entry in the `registration_date` column is assigned a random Unix timestamp, replacing any existing non-NULL values. Setting `keep_null` to `true` would ensure that NULL values in the column are left unchanged. diff --git a/docs/built_in_transformers/standard_transformers/random_url.md b/docs/built_in_transformers/standard_transformers/random_url.md new file mode 100644 index 00000000..a48d38b7 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_url.md @@ -0,0 +1,28 @@ +The `RandomURL` transformer is designed to populate specified database columns with random URL (Uniform Resource Locator) addresses. This tool is highly beneficial for simulating web content, testing applications that require URL input, or anonymizing real web addresses in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +Utilizing advanced algorithms or libraries for generating URL strings, the `RandomURL` transformer injects random, plausible URLs into the designated database column. Each generated URL is structured to include the protocol (e. g., "http://", "https://"), domain name, and path, offering a realistic range of web addresses for various applications. + +## Example: Populate random URLs for the `webpages` table + +This example illustrates how to configure the `RandomURL` transformer to populate the `page_url` column in a `webpages` table with random URLs, providing a broad spectrum of web addresses for testing or data simulation purposes. + +```yaml title="RandomURL transformer example" +- schema: "public" + name: "webpages" + transformers: + - name: "RandomURL" + params: + column: "page_url" + keep_null: false +``` + +With this configuration, the `page_url` column will be filled with random URLs for each entry, replacing any existing non-NULL values. Setting the `keep_null` parameter to `true` allows for the preservation of existing NULL values within the column, accommodating scenarios where URL data may be intentionally omitted. diff --git a/docs/built_in_transformers/standard_transformers/random_username.md b/docs/built_in_transformers/standard_transformers/random_username.md new file mode 100644 index 00000000..73e367fb --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_username.md @@ -0,0 +1,28 @@ +The `RandomUsername` transformer is crafted to populate specified database columns with random usernames. This utility is crucial for applications that require the simulation of user data, testing systems with user login functionality, or anonymizing real usernames in datasets. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +By employing sophisticated algorithms or libraries capable of generating believable usernames, the `RandomUsername` transformer introduces random usernames into the specified database column. Each generated username is designed to be unique and plausible, incorporating a mix of letters, numbers, and possibly special characters, depending on the generation logic used. + +## Example: Populate random usernames for the `user_accounts` table + +This example demonstrates configuring the `RandomUsername` transformer to populate the `username` column in a `user_accounts` table with random usernames. This setup is ideal for creating a diverse and realistic user base for development, testing, or demonstration purposes. + +```yaml title="RandomUsername transformer example" +- schema: "public" + name: "user_accounts" + transformers: + - name: "RandomUsername" + params: + column: "username" + keep_null: false +``` + +In this configuration, every entry in the `username` column will be updated with a random username, replacing any existing non-NULL values. If the `keep_null` parameter is set to `true`, then the transformer will preserve existing NULL values within the column, maintaining data integrity where usernames are not applicable or available. diff --git a/docs/built_in_transformers/standard_transformers/random_uuid.md b/docs/built_in_transformers/standard_transformers/random_uuid.md new file mode 100644 index 00000000..f3baa8d2 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_uuid.md @@ -0,0 +1,33 @@ +Generate random unique user ID using version 4. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------------------------------|---------|----------|---------------------| +| column | The name of the column to be affected | | Yes | text, varchar, uuid | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | + +## Description + +The `RandomUuid` transformer generates a random UUID. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Updating the `rowguid` column + +The following example replaces original UUID values of the `rowguid` column to randomly generated ones. + +``` yaml title="RandomUuid transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "RandomUuid" + params: + column: "rowguid" + keep_null: false +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|--------------------------------------|--------------------------------------| +| rowguid | f01251e5-96a3-448d-981e-0f99d789110d | 0211629f-d197-4187-8a87-095ec4f51977 | +``` diff --git a/docs/built_in_transformers/standard_transformers/random_word.md b/docs/built_in_transformers/standard_transformers/random_word.md new file mode 100644 index 00000000..78be7024 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_word.md @@ -0,0 +1,28 @@ +The `RandomWord` transformer populates specified database columns with random words. Ideal for simulating textual content, enhancing linguistic datasets, or anonymizing text in databases. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|------------|-------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomWord` transformer employs a mechanism to inject random words into a designated database column, supporting the generation of linguistically plausible and contextually diverse text. This transformer is particularly beneficial for creating rich text datasets for development, testing, or educational purposes without specifying the language, focusing on versatility and ease of use. + +## Example: Populate random words for the `content` table + +This example demonstrates configuring the `RandomWord` transformer to populate the `tag` column in the `content` table with random words. It is a straightforward approach to adding varied textual data for tagging or content categorization. + +```yaml title="RandomWord transformer example" +- schema: "public" + name: "content" + transformers: + - name: "RandomWord" + params: + column: "tag" + keep_null: false +``` + +In this setup, the `tag` column will be updated with random words for each entry, replacing any existing non-NULL values. If `keep_null` is set to `true`, existing NULL values in the column will remain unchanged, maintaining data integrity for records where textual data is not applicable. diff --git a/docs/built_in_transformers/standard_transformers/random_year_string.md b/docs/built_in_transformers/standard_transformers/random_year_string.md new file mode 100644 index 00000000..9d95bbcd --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/random_year_string.md @@ -0,0 +1,28 @@ +The `RandomYearString` transformer is designed to populate specified database columns with random year strings. It is ideal for scenarios that require the representation of years without specific dates, such as manufacturing years of products, birth years of users, or any other context where only the year is relevant. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar, int2, int4, int8, numeric | +| keep_null | Indicates whether NULL values should be preserved | `false` | No | - | + +## Description + +The `RandomYearString` transformer leverages the `faker` library to generate strings representing random years. This allows for the easy generation of year data in a string format, adding versatility and realism to datasets that need to simulate or anonymize year-related information. + +## Example: Populate random year strings for the `products` table + +This example shows how to use the `RandomYearString` transformer to fill the `manufacturing_year` column in the `products` table with random year strings, simulating the diversity of manufacturing dates. + +```yaml title="RandomYearString transformer example" +- schema: "public" + name: "products" + transformers: + - name: "RandomYearString" + params: + column: "manufacturing_year" + keep_null: false +``` + +In this configuration, the `manufacturing_year` column will be populated with random year strings, replacing any existing non-NULL values. If `keep_null` is set to `true`, then existing NULL values in the column will be preserved. diff --git a/docs/built_in_transformers/standard_transformers/real_address.md b/docs/built_in_transformers/standard_transformers/real_address.md new file mode 100644 index 00000000..54bb543e --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/real_address.md @@ -0,0 +1,45 @@ +Generates real addresses for specified database columns using the `faker` library. It supports customization of the generated address format through Go templates. + +## Parameters + +| Name | Properties | Description | Default | Required | Supported DB types | +|---------|------------|--------------------------------------------------------------------------------------|---------|----------|--------------------| +| columns | | Specifies the affected column names along with additional properties for each column | | Yes | Various | +| ∟ | name | The name of the column to be affected | | Yes | string | +| ∟ | template | A Go template string for formatting real address attributes | | Yes | string | +| ∟ | keep_null | Indicates whether NULL values should be preserved | | No | bool | + +### Template value descriptions + +The `template` parameter allows for the injection of real address attributes into a customizable template. The following values can be included in your template: + +- `{{.Address}}` — street address or equivalent +- `{{.City}}` — city name +- `{{.State}}` — state, province, or equivalent region name +- `{{.PostalCode}}` — postal or ZIP code +- `{{.Latitude}}` — geographic latitude +- `{{.Longitude}}` — geographic longitude + +These placeholders can be combined and formatted as desired within the template string to generate custom address formats. + +## Description + +The `RealAddress` transformer uses the `faker` library to generate realistic addresses, which can then be formatted according to a specified template and applied to selected columns in a database. It allows for the generated addresses to replace existing values or to preserve NULL values, based on the transformer's configuration. + +## Example: Generate Real addresses for the `employee` table + +This example shows how to configure the `RealAddress` transformer to generate real addresses for the `address` column in the `employee` table, using a custom format. + +```yaml title="RealAddress transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "RealAddress" + params: + columns: + - name: "address" + template: "{{.Address}}, {{.City}}, {{.State}} {{.PostalCode}}" + keep_null: false +``` + +This configuration will generate real addresses with the format "Street address, city, state postal code" and apply them to the `address` column, replacing any existing non-NULL values. diff --git a/docs/built_in_transformers/standard_transformers/regexp_replace.md b/docs/built_in_transformers/standard_transformers/regexp_replace.md new file mode 100644 index 00000000..36f16f86 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/regexp_replace.md @@ -0,0 +1,42 @@ +Replace a string using a regular expression. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|---------|-----------------------------------------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | text, varchar | +| regexp | The regular expression pattern to search for in the column's value | | Yes | - | +| replace | The replacement value. This value may be replaced with a captured group from the `regexp` parameter. | | Yes | - | + +## Description + +The `RegexpReplace` transformer replaces a string according to the applied regular expression. The valid regular expressions syntax is the same as the general syntax used by Perl, Python, and other languages. To be precise, it is the syntax accepted by RE2 and described in the [Golang documentation](https://golang.org/s/re2syntax), except for `\C`. + +## Example: Removing leading prefix from `loginid` column value + +In the following example, the original values from `loginid` matching the `adventure-works\{{ id_name }}` format are replaced with `{{ id_name }}`. + +``` yaml title="RegexpReplace transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "RegexpReplace" + params: + column: "loginid" + regexp: "adventure-works\\\\(.*)" + replace: "$1" +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|----------------------|-------------| +| loginid | adventure-works\ken0 | ken0 | +``` + +!!! note + + YAML has control symbols, and using them without escaping may result in an error. In the example above, the prefix + of `id` is separated by the `\` symbol. Since this symbol is a control symbol, we must escape it using `\\`. + However, the '\' symbol is also a control symbol for regular expressions, which is why we need to + double-escape it as `\\\\`. diff --git a/docs/built_in_transformers/standard_transformers/replace.md b/docs/built_in_transformers/standard_transformers/replace.md new file mode 100644 index 00000000..f4579e62 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/replace.md @@ -0,0 +1,39 @@ +Replace an original value by the provided one. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|-----------|--------------------------------------------------------------------------------------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | any | +| replace | The value to replace | | Yes | - | +| keep_null | Indicates whether NULL values should be replaced with transformed values or not | `true` | No | - | +| validate | Performs a decoding procedure via the PostgreSQL driver using the column type to ensure that values have correct type | `true` | No | - | + +## Description + +The `Replace` transformer replace an original value from the specified column with the provided one. It can optionally run a validation check with the `validate` parameter to ensure that the values are of a correct type before starting transformation. The behaviour for NULL values can be configured using the `keep_null` parameter. + +## Example: Updating the `jobtitle` column + +In the following example, the provided `value: "programmer"` is first validated through driver decoding. If the current value of the +`jobtitle` column is not `NULL`, it will be replaced with `programmer`. If the current value is `NULL`, it will +remain `NULL`. + +``` yaml title="Replace transformer example" +- schema: "humanresources" + name: "employee" + transformers: + - name: "Replace" + params: + column: "jobtitle" + value: "programmer" + keep_null: false + validate: true +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|-------------------------|-------------| +| jobtitle | Chief Executive Officer | programmer | +``` diff --git a/docs/built_in_transformers/standard_transformers/set_null.md b/docs/built_in_transformers/standard_transformers/set_null.md new file mode 100644 index 00000000..4fdd2314 --- /dev/null +++ b/docs/built_in_transformers/standard_transformers/set_null.md @@ -0,0 +1,45 @@ +Set `NULL` value to a column. + +## Parameters + +| Name | Description | Default | Required | Supported DB types | +|--------|-----------------------------------------------------|---------|----------|--------------------| +| column | The name of the column to be affected | | Yes | any | + +## Description + +The `SetNull` transformer assigns `NULL` value to a column. This transformer generates warning if the affected column has `NOT NULL` constraint. + +```json title="NULL constraint violation warning" +{ + "hash": "5a229ee964a4ba674a41a4d63dab5a8c", + "meta": { + "ColumnName": "jobtitle", + "ConstraintType": "NotNull", + "ParameterName": "column", + "SchemaName": "humanresources", + "TableName": "employee", + "TransformerName": "SetNull" + }, + "msg": "transformer may produce NULL values but column has NOT NULL constraint", + "severity": "warning" +} +``` + +## Example: Set NULL value to `updated_at` column + +``` yaml title="SetNull transformer example" +- schema: "humanresources" + name: "employee" + transformation: + - name: "SetNull" + params: + column: "jobtitle" +``` + +```bash title="Expected result" + +| column name | original value | transformed | +|-------------|-------------------------|-------------| +| jobtitle | Chief Executive Officer | NULL | +``` diff --git a/docs/commands.md b/docs/commands.md new file mode 100644 index 00000000..58d43f0e --- /dev/null +++ b/docs/commands.md @@ -0,0 +1,773 @@ +# Commands + +## Introduction + +```shell title="Greenmask available commands" +greenmask \ + --log-format=[json|text] \ + --log-level=[debug|info|error] \ + --config=config.yml \ + [dump|list-dumps|delete|list-transformers|show-transformer|restore|show-dump]` +``` + +You can use the following commands within Greenmask: + +* `dump` — initiates the data dumping process +* `list-dumps` — lists all available dumps stored in the system +* `delete` — deletes a specific dump from the storage +* `list-transformers` — displays a list of available transformers along with their documentation +* `show-transformer` — displays information about the specified transformer +* `restore` — restores data to the target database either by specifying a `dumpId` or using the latest available dump +* `show-dump` — provides metadata information about a particular dump, offering insights into its structure and attributes + +For any of the commands mentioned above, you can include the following common flags: + +* `--log-format` — specifies the desired format for log output, which can be either `json` or `text`. This parameter is optional, with the default format set to `text`. +* `--log-level` — sets the desired level for log output, which can be one of `debug`, `info`, or `error`. This parameter is optional, with the default log level being `info`. +* `--config` — requires the specification of a configuration file in YAML format. This configuration file is mandatory for Greenmask to operate correctly. +* `--help` — displays comprehensive help information for Greenmask, providing guidance on its usage and available commands. + +## validate + +The `validate` command allows you to perform a validation procedure and compare data transformations. +Below is a list of all supported flags for the `validate` command: + +```text +Usage: + greenmask validate [flags] + +Flags: + --data perform test dump for --rows-limit rows and print it pretty + --diff find difference between original and transformed data + --format string format of table output. possible values [horizontal|vertical] (default "horizontal") + --rows-limit uint check tables dump only for specific tables (default 10) + --table strings check tables dump only for specific tables +``` + +You can use the `--table` flag multiple times to specify the tables you want to check. Tables can be written with or without schema names (e. g., `public.table_name` or `table_name`). If you specify multiple tables from different schemas, an error will be thrown. + +To start validation, use the following command: + +```shell +greenmask --config=config.yml dump --validate +``` + +```text title="Validation output example" +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"scheduled_departure","ConstraintDef":"CHECK (scheduled_arrival \u003e scheduled_departure)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Check","ParameterName":"column","SchemaName":"bookings","TableName":"flights","TransformerName":"RandomDate"},"msg":"possible constraint violation: column has Check constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"scheduled_departure","ConstraintDef":"UNIQUE (flight_no, scheduled_departure)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Unique","ParameterName":"column","SchemaName":"bookings","TableName":"flights","TransformerName":"RandomDate"},"msg":"possible constraint violation: column is involved into Unique constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"scheduled_arrival","ConstraintDef":"CHECK (scheduled_arrival \u003e scheduled_departure)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Check","ParameterName":"column","SchemaName":"bookings","TableName":"flights","TransformerName":"NoiseDate"},"msg":"possible constraint violation: column has Check constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"departure_airport","ConstraintDef":"FOREIGN KEY (departure_airport) REFERENCES airports_data(airport_code)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"ForeignKey","ParameterName":"column","SchemaName":"bookings","TableName":"flights","TransformerName":"RegexpReplace"},"msg":"possible constraint violation: column is involved into ForeignKey constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"status","ConstraintDef":"CHECK (status::text = ANY (ARRAY['On Time'::character varying::text, 'Delayed'::character varying::text, 'Departed'::character varying::text, 'Arrived'::character varying::text, 'Scheduled'::character varying::text, 'Cancelled'::character varying::text]))","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Check","ParameterName":"column","SchemaName":"bookings","TableName":"flights","TransformerName":"RegexpReplace"},"msg":"possible constraint violation: column has Check constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"post_code","ParameterName":"column","SchemaName":"bookings","TableName":"flights","TransformerName":"Replace","TypeName":"column"},"msg":"transformer may produce NULL values but column type has NOT NULL constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"Column":"actual_arrival","ColumnMaxLength":-1,"ConstraintType":"Length","Parameter":"column_b","SchemaName":"bookings","TableName":"flights","TransformerMaxLength":0,"TransformerName":"TwoDatesGen"},"msg":"transformer value might be out of length range: column has a length","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"actual_arrival","ConstraintDef":"CHECK (actual_arrival IS NULL OR actual_departure IS NOT NULL AND actual_arrival IS NOT NULL AND actual_arrival \u003e actual_departure)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Check","ParameterName":"column_b","SchemaName":"bookings","TableName":"flights","TransformerName":"TwoDatesGen"},"msg":"possible constraint violation: column has Check constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"Column":"scheduled_arrival","ConstraintType":"NotNull","Parameter":"column_a","SchemaName":"bookings","TableName":"flights","TransformerName":"TwoDatesGen"},"msg":"transformer may produce NULL values but column has NOT NULL constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"Column":"scheduled_arrival","ColumnMaxLength":-1,"ConstraintType":"Length","Parameter":"column_a","SchemaName":"bookings","TableName":"flights","TransformerMaxLength":0,"TransformerName":"TwoDatesGen"},"msg":"transformer value might be out of length range: column has a length","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"scheduled_arrival","ConstraintDef":"CHECK (scheduled_arrival \u003e scheduled_departure)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Check","ParameterName":"column_a","SchemaName":"bookings","TableName":"flights","TransformerName":"TwoDatesGen"},"msg":"possible constraint violation: column has Check constraint","severity":"warning"} +2023-10-30T11:19:28+02:00 WRN ValidationWarning={"meta":{"ColumnName":"range","ConstraintDef":"CHECK (range \u003e 0)","ConstraintName":"bookings","ConstraintSchema":"bookings","ConstraintType":"Check","ParameterName":"column","SchemaName":"bookings","TableName":"aircrafts_data","TransformerName":"NoiseInt"},"msg":"possible constraint violation: column has Check constraint","severity":"warning"} +``` + +The validation output will provide detailed information about potential constraint violations and schema issues. Each line contains nested JSON data under the `ValidationWarning` key, offering insights into the affected part of the configuration and potential constraint violations. + +```json title="Pretty formatted validation warning" +{ + "meta": { // (1) + "ColumnName": "status", // (2) + "ConstraintDef": "CHECK (status::text = ANY (ARRAY['On Time'::character varying::text, 'Delayed'::character varying::text, 'Departed'::character varying::text, 'Arrived'::character varying::text, 'Scheduled'::character varying::text, 'Cancelled'::character varying::text]))", // (3) + "ConstraintName": "bookings", // (4) + "ConstraintSchema": "bookings", // (5) + "ConstraintType": "Check", // (6) + "SchemaName": "bookings", // (7) + "TableName": "flights", // (8) + "TransformerName": "RegexpReplace", // (9) + "ParameterName": "column" // (10) + }, + "msg": "possible constraint violation: column has Check constraint", // (11) + "severity": "warning" // (12) +} +``` +{ .annotate } + +1. **Detailed metadata**. The validation output provides comprehensive metadata to pinpoint the source of problems. +2. **Column name** indicates the name of the affected column. +3. **Constraint definition** specifies the definition of the constraint that may be violated. +4. **Constraint name** identifies the name of the constraint that is potentially violated. +5. **Constraint schema name** indicates the schema in which the constraint is defined. +6. **Type of constraint** represents the type of constraint and can be one of the following: + ``` + * ForeignKey + * Check + * NotNull + * PrimaryKey + * PrimaryKeyReferences + * Unique + * Length + * Exclusion + * TriggerConstraint + ``` +7. **Table schema name** specifies the schema name of the affected table. +8. **Table name** identifies the name of the table where the problem occurs. +9. **Transformer name** indicates the name of the transformer responsible for the transformation. +10. **Name of affected parameter** typically, this is the name of the column parameter that is relevant to the validation warning. +11. **Validation warning description** provides a detailed description of the validation warning and the reason behind it. +12. **Severity of validation warning** indicates the severity level of the validation warning and can be one of the following: + ``` + * error + * warning + * info + * debug + ``` + +!!! note + + A validation warning with a severity level of `"error"` is considered critical and must be addressed before the dump operation can proceed. Failure to resolve such warnings will prevent the dump operation from being executed. + +Example of validation diff in vertical format (`--format=vertical`): + +![img.png](assets/validate_vertical_diff.png) + +The validation diff is presented in a neatly formatted table. In this table: + +* Columns that are affected by the transformation are highlighted with a red background. +* The pre-transformation values are displayed in green. +* The post-transformation values are shown in red. + +The result can be displayed in either **horizontal** or **vertical** format, making it easy to visualize and understand the differences between the original and transformed data. + +Example of validation diff in horizontal format (`--format=horizontal`): + +![img.png](assets/validate_horizontal_diff.png) + +In horizontal format, the validation diff is displayed with two lines for each entry: **line 1** represents +the **original data**, and **line 2** represents the **transformed data**. The color highlighting behavior +remains consistent with the vertical format, where affected columns are highlighted in red, and original and transformed values are displayed in green and red, respectively. This format allows for a side-by-side comparison of the original and transformed data, making it easy to spot differences. + +## dump + +The `dump` command operates in the following way: + +1. Dumps the data from the source database. +2. Validates the data for potential issues. +3. Applies the defined transformations. +4. Stores the transformed data in the specified storage location. + +```text title="Supported flags" +Usage: + greenmask dump [flags] + +Flags: + -b, --blobs include large objects in dump + -c, --clean clean (drop) database objects before recreating + -Z, --compress int compression level for compressed formats (default -1) + -C, --create include commands to create database in dump + -a, --data-only dump only the data, not the schema + -d, --dbname string database to dump (default "postgres") + --disable-dollar-quoting disable dollar quoting, use SQL standard quoting + --disable-triggers disable triggers during data-only restore + --enable-row-security enable row security (dump only content user has access to) + -E, --encoding string dump the data in encoding ENCODING + -N, --exclude-schema strings dump the specified schema(s) only + -T, --exclude-table strings do NOT dump the specified table(s) + --exclude-table-data strings do NOT dump data for the specified table(s) + -e, --extension strings dump the specified extension(s) only + --extra-float-digits string override default setting for extra_float_digits + -f, --file string output file or directory name + -h, --host string database server host or socket directory (default "/var/run/postgres") + --if-exists use IF EXISTS when dropping objects + --include-foreign-data strings use IF EXISTS when dropping objects + -j, --jobs int use this many parallel jobs to dump (default 1) + --load-via-partition-root load partitions via the root table + --lock-wait-timeout int fail after waiting TIMEOUT for a table lock (default -1) + -B, --no-blobs exclude large objects in dump + --no-comments do not dump comments + -O, --no-owner string skip restoration of object ownership in plain-text format + -X, --no-privileges do not dump privileges (grant/revoke) + --no-publications do not dump publications + --no-security-labels do not dump security label assignments + --no-subscriptions do not dump subscriptions + --no-sync do not wait for changes to be written safely to dis + --no-synchronized-snapshots do not use synchronized snapshots in parallel jobs + --no-tablespaces do not dump tablespace assignments + --no-toast-compression do not dump TOAST compression methods + --no-unlogged-table-data do not dump unlogged table data + --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands + -p, --port int database server port number (default 5432) + --quote-all-identifiers quote all identifiers, even if not key words + -n, --schema strings dump the specified schema(s) only + -s, --schema-only string dump only the schema, no data + --section string dump named section (pre-data, data, or post-data) + --serializable-deferrable wait until the dump can run without anomalies + --snapshot string use given snapshot for the dump + --strict-names require table and/or schema include patterns to match at least one entity each + -S, --superuser string superuser user name to use in plain-text format + -t, --table strings dump the specified table(s) only + --test string connect as specified database user (default "postgres") + --use-set-session-authorization use SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership + -U, --username string connect as specified database user (default "postgres") + -v, --verbose string verbose mode +``` + +## list-dumps + +The `list-dumps` command provides a list of all dumps stored in the storage. The list includes the following attributes: + +* `ID` — the unique identifier of the dump, used for operations like `restore`, `delete`, and `show-dump` +* `DATE` — the date when the snapshot was created +* `DATABASE` — the name of the database associated with the dump +* `SIZE` — the original size of the dump +* `COMPRESSED SIZE` — the size of the dump after compression +* `DURATION` — the duration of the dump procedure +* `TRANSFORMED` — indicates whether the dump has been transformed +* `STATUS` — the status of the dump, which can be one of the following: + * `done` — the dump was completed successfully + * `unknown` or `failed` — the dump might be in progress or failed. Failed dumps are not deleted automatically. + +Example of `list-dumps` output: +![list_dumps_screen.png](assets/list_dumps_screen.png) + +## list-transformers + +The `list-transformers` command provides a list of all the allowed transformers, including both standard and advanced transformers. This list can be helpful for searching for an appropriate transformer for your data transformation needs. + +To show a list of available transformers, use the following command: + +```shell +greenmask --config=config.yml list-transformers +``` + +Supported flags: + +* `--format` — allows to select the output format. There are two options available: `text` or `json`. The + default setting is `text`. + +Example of `list-transformers` output: + +![list_transformers_screen.png](assets/list_transformers_screen_2.png) + +When using the `list-transformers` command, you receive a list of available transformers with essential information about each of them. Below are the key parameters for each transformer: + +* `NAME` — the name of the transformer +* `DESCRIPTION` — a brief description of what the transformer does +* `COLUMN PARAMETER NAME` — name of a column or columns affected by transformation +* `SUPPORTED TYPES` — list the supported value types + +The JSON call `greenmask --config=config.yml list-transformers --format=json` has the same attributes: + +```json title="JSON format output" +[ + { + "name": "Cmd", + "description": "Transform data via external program using stdin and stdout interaction", + "parameters": [ + { + "name": "columns", + "supported_types": [ + "any" + ] + } + ] + }, + { + "name": "Dict", + "description": "Replace values matched by dictionary keys", + "parameters": [ + { + "name": "column", + "supported_types": [ + "any" + ] + } + ] + } +] +``` + +## show-transformer + +This command prints out detailed information about a transformer by a provided name, including specific attributes to help you understand and configure the transformer effectively. + +To show detailed information about a transformer, use the following command: + +```shell +greenmask --config=config.yml show-transformer TRANSFORMER_NAME +``` + +Supported flags: + +* `--format` — allows to select the output format. There are two options available: `text` or `json`. The + default setting is `text`. + +Example of `show-transformer` output: + +![show_transformer.png](assets/show_transformer.png) + +When using the `show-transformer` command, you receive detailed information about the transformer and its parameters and their possible attributes. Below are the key parameters for each transformer: + +* `Name` — the name of the transformer +* `Description` — a brief description of what the transformer does +* `Parameters` — a list of transformer parameters, each with its own set of attributes. Possible attributes include: + + * `description` — a brief description of the parameter's purpose + * `required` — a flag indicating whether the parameter is required when configuring the transformer + * `link_parameter` — specifies whether the value of the parameter will be encoded using a specific parameter type encoder. For example, if a parameter named `column` is linked to another parameter `start`, the `start` parameter's value will be encoded according to the `column` type when the transformer is initialized. + * `cast_db_type` — indicates that the value should be encoded according to the database type. For example, when dealing with the INTERVAL data type, you must provide the interval value in PostgreSQL format. + * `default_value` — the default value assigned to the parameter if it's not provided during configuration. + * `column_properties` — if a parameter represents the name of a column, it may contain additional properties, including: + * `nullable` — indicates whether the transformer may produce NULL values, potentially violating the NOT NULL constraint + * `unique` — specifies whether the transformer guarantees unique values for each call. If set to `true`, it means that the transformer cannot produce duplicate values, ensuring compliance with the UNIQUE constraint. + * `affected` — indicates whether the column is affected during the transformation process. If not affected, the column's value might still be required for transforming another column. + * `allowed_types` — a list of data types that are compatible with this parameter + * `skip_original_data` — specifies whether the original value of the column, before transformation, is relevant for the transformation process + * `skip_on_null` — indicates whether the transformer should skip the transformation when the input column value is NULL. If the column value is NULL, interaction with the transformer is unnecessary. + +!!! warning + + The default value in JSON format is base64 encoded. This might be changed in later version of Greenmask. + +```json title="JSON output example" +[ + { + "properties": { + "name": "NoiseFloat", + "description": "Make noise float for int", + "is_custom": false + }, + "parameters": [ + { + "name": "column", + "description": "column name", + "required": true, + "is_column": true, + "is_column_container": false, + "column_properties": { + "max_length": -1, + "affected": true, + "allowed_types": [ + "float4", + "float8", + "numeric" + ], + "skip_on_null": true + } + }, + { + "name": "ratio", + "description": "max random percentage for noise", + "required": false, + "is_column": false, + "is_column_container": false, + "default_value": "MC4x" + }, + { + "name": "precision", + "description": "precision of noised float value (number of digits after coma)", + "required": false, + "is_column": false, + "is_column_container": false, + "default_value": "NA==" + } + ] + } +] +``` + +## restore + +To perform a dump restoration with the provided dump ID, use the following command: + +```shell +greenmask --config=config.yml restore DUMP_ID +``` + +Alternatively, to restore the latest completed dump, use the following command: + +```shell +greenmask --config=config.yml restore latest +``` + +Note that the `restore` command shares the same parameters and environment variables as `pg_restore`, +allowing you to configure the restoration process as needed. + +```text title="Supported flags" +Flags: + -c, --clean clean (drop) database objects before recreating + -C, --create create the target database + -a, --data-only restore only the data, no schema + -d, --dbname string connect to database name (default "postgres") + --disable-triggers disable triggers during data-only restore + --enable-row-security enable row security + -N, --exclude-schema strings do not restore objects in this schema + -e, --exit-on-error exit on error, default is to continue + -f, --file string output file name (- for stdout) + -P, --function strings restore named function + -h, --host string database server host or socket directory (default "/var/run/postgres") + --if-exists use IF EXISTS when dropping objects + -i, --index strings restore named index + -j, --jobs int use this many parallel jobs to restore (default 1) + --list-format string use table of contents in format of text, json or yaml (default "text") + --no-comments do not restore comments + --no-data-for-failed-tables do not restore data of tables that could not be created + -O, --no-owner string skip restoration of object ownership + -X, --no-privileges skip restoration of access privileges (grant/revoke) + --no-publications do not restore publications + --no-security-labels do not restore security labels + --no-subscriptions ddo not restore subscriptions + --no-table-access-method do not restore table access methods + --no-tablespaces do not restore tablespace assignments + -p, --port int database server port number (default 5432) + -n, --schema strings restore only objects in this schema + -s, --schema-only string restore only the schema, no data + --section string restore named section (pre-data, data, or post-data) + -1, --single-transaction restore as a single transaction + --strict-names restore named section (pre-data, data, or post-data) match at least one entity each + -S, --superuser string superuser user name to use for disabling triggers + -t, --table strings restore named relation (table, view, etc.) + -T, --trigger strings restore named trigger + -L, --use-list string use table of contents from this file for selecting/ordering output + --use-set-session-authorization use SET SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership + -U, --username string connect as specified database user (default "postgres") + -v, --verbose string verbose mode + +``` + +## show-dump + +This command provides details about all objects and data that can be restored, similar to the `pg_restore -l` command in PostgreSQL. It helps you inspect the contents of the dump before performing the actual restoration. + +Parameters: + +* `--format` — format of printing. Can be `text` or `json`. + +To display metadata information about a dump, use the following command: + +```shell +greenmask --config=config.yml show-dump dumpID +``` + + +=== "Text output example" + ```text + ; + ; Archive created at 2023-10-30 12:52:38 UTC + ; dbname: demo + ; TOC Entries: 17 + ; Compression: -1 + ; Dump Version: 15.4 + ; Format: DIRECTORY + ; Integer: 4 bytes + ; Offset: 8 bytes + ; Dumped from database version: 15.4 + ; Dumped by pg_dump version: 15.4 + ; + ; + ; Selected TOC Entries: + ; + 3444; 0 0 ENCODING - ENCODING + 3445; 0 0 STDSTRINGS - STDSTRINGS + 3446; 0 0 SEARCHPATH - SEARCHPATH + 3447; 1262 24970 DATABASE - demo postgres + 3448; 0 0 DATABASE PROPERTIES - demo postgres + 222; 1259 24999 TABLE bookings flights postgres + 223; 1259 25005 SEQUENCE bookings flights_flight_id_seq postgres + 3460; 0 0 SEQUENCE OWNED BY bookings flights_flight_id_seq postgres + 3281; 2604 25030 DEFAULT bookings flights flight_id postgres + 3462; 0 24999 TABLE DATA bookings flights postgres + 3289; 2606 25044 CONSTRAINT bookings flights flights_flight_no_scheduled_departure_key postgres + 3291; 2606 25046 CONSTRAINT bookings flights flights_pkey postgres + 3287; 1259 42848 INDEX bookings flights_aircraft_code_status_idx postgres + 3292; 1259 42847 INDEX bookings flights_status_aircraft_code_idx postgres + 3293; 2606 25058 FK CONSTRAINT bookings flights flights_aircraft_code_fkey postgres + 3294; 2606 25063 FK CONSTRAINT bookings flights flights_arrival_airport_fkey postgres + 3295; 2606 25068 FK CONSTRAINT bookings flights flights_departure_airport_fkey postgres + ``` +=== "JSON output example" + + ```json linenums="1" + { + "startedAt": "2023-10-29T20:50:19.948017+02:00", // (1) + "completedAt": "2023-10-29T20:50:22.19333+02:00", // (2) + "originalSize": 4053842, // (3) + "compressedSize": 686557, // (4) + "transformers": [ // (5) + { + "Schema": "bookings", // (6) + "Name": "flights", // (7) + "Query": "", // (8) + "Transformers": [ // (9) + { + "Name": "RandomDate", // (10) + "Params": { // (11) + "column": "c2NoZWR1bGVkX2RlcGFydHVyZQ==", + "max": "MjAyMy0wMS0wMiAwMDowMDowMC4wKzAz", + "min": "MjAyMy0wMS0wMSAwMDowMDowMC4wKzAz" + } + } + ], + "ColumnsTypeOverride": null // (12) + } + ], + "header": { // (13) + "creationDate": "2023-10-29T20:50:20+02:00", + "dbName": "demo", + "tocEntriesCount": 15, + "dumpVersion": "16.0 (Homebrew)", + "format": "TAR", + "integer": 4, + "offset": 8, + "dumpedFrom": "16.0 (Debian 16.0-1.pgdg120+1)", + "dumpedBy": "16.0 (Homebrew)", + "tocFileSize": 8090, + "compression": 0 + }, + "entries": [ // (14) + { + "dumpId": 3416, + "databaseOid": 0, + "objectOid": 0, + "objectType": "ENCODING", + "schema": "", + "name": "ENCODING", + "owner": "", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": null + }, + { + "dumpId": 3417, + "databaseOid": 0, + "objectOid": 0, + "objectType": "STDSTRINGS", + "schema": "", + "name": "STDSTRINGS", + "owner": "", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": null + }, + { + "dumpId": 3418, + "databaseOid": 0, + "objectOid": 0, + "objectType": "SEARCHPATH", + "schema": "", + "name": "SEARCHPATH", + "owner": "", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": null + }, + { + "dumpId": 3419, + "databaseOid": 16384, + "objectOid": 1262, + "objectType": "DATABASE", + "schema": "", + "name": "demo", + "owner": "postgres", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": null + }, + { + "dumpId": 3420, + "databaseOid": 0, + "objectOid": 0, + "objectType": "DATABASE PROPERTIES", + "schema": "", + "name": "demo", + "owner": "postgres", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": null + }, + { + "dumpId": 222, + "databaseOid": 16414, + "objectOid": 1259, + "objectType": "TABLE", + "schema": "bookings", + "name": "flights", + "owner": "postgres", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": null + }, + { + "dumpId": 223, + "databaseOid": 16420, + "objectOid": 1259, + "objectType": "SEQUENCE", + "schema": "bookings", + "name": "flights_flight_id_seq", + "owner": "postgres", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 222 + ] + }, + { + "dumpId": 3432, + "databaseOid": 0, + "objectOid": 0, + "objectType": "SEQUENCE OWNED BY", + "schema": "bookings", + "name": "flights_flight_id_seq", + "owner": "postgres", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 223 + ] + }, + { + "dumpId": 3254, + "databaseOid": 16445, + "objectOid": 2604, + "objectType": "DEFAULT", + "schema": "bookings", + "name": "flights flight_id", + "owner": "postgres", + "section": "PreData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 223, + 222 + ] + }, + { + "dumpId": 3434, + "databaseOid": 16414, + "objectOid": 0, + "objectType": "TABLE DATA", + "schema": "\"bookings\"", + "name": "\"flights\"", + "owner": "\"postgres\"", + "section": "Data", + "originalSize": 4045752, + "compressedSize": 678467, + "fileName": "3434.dat.gz", + "dependencies": [] + }, + { + "dumpId": 3261, + "databaseOid": 16461, + "objectOid": 2606, + "objectType": "CONSTRAINT", + "schema": "bookings", + "name": "flights flights_flight_no_scheduled_departure_key", + "owner": "postgres", + "section": "PostData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 222, + 222 + ] + }, + { + "dumpId": 3263, + "databaseOid": 16463, + "objectOid": 2606, + "objectType": "CONSTRAINT", + "schema": "bookings", + "name": "flights flights_pkey", + "owner": "postgres", + "section": "PostData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 222 + ] + }, + { + "dumpId": 3264, + "databaseOid": 16477, + "objectOid": 2606, + "objectType": "FK CONSTRAINT", + "schema": "bookings", + "name": "flights flights_aircraft_code_fkey", + "owner": "postgres", + "section": "PostData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 222 + ] + }, + { + "dumpId": 3265, + "databaseOid": 16482, + "objectOid": 2606, + "objectType": "FK CONSTRAINT", + "schema": "bookings", + "name": "flights flights_arrival_airport_fkey", + "owner": "postgres", + "section": "PostData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 222 + ] + }, + { + "dumpId": 3266, + "databaseOid": 16487, + "objectOid": 2606, + "objectType": "FK CONSTRAINT", + "schema": "bookings", + "name": "flights flights_departure_airport_fkey", + "owner": "postgres", + "section": "PostData", + "originalSize": 0, + "compressedSize": 0, + "fileName": "", + "dependencies": [ + 222 + ] + } + ] + } + ``` + { .annotate } + + 1. The date when the backup has been initiated, also indicating the snapshot date. + 2. The date when the backup process was successfully completed. + 3. The original size of the backup in bytes. + 4. The size of the backup after compression in bytes. + 5. A list of tables that underwent transformation during the backup. + 6. The schema name of the table. + 7. The name of the table. + 8. Custom query override, if applicable. + 9. A list of transformers that were applied during the backup. + 10. The name of the transformer. + 11. The parameters provided for the transformer. + 12. A mapping of overridden column types. + 13. The header information in the table of contents file. This provides the same details as the `--format=text` output in the previous snippet. + 14. The list of restoration entries. This offers the same information as the `--format=text` output in the previous snippet. + +!!! note + + The `json` format provides more detailed information compared to the `text` format. The `text` format is primarily used for backward compatibility and for generating a restoration list that can be used with `pg_restore -L listfile`. On the other hand, the `json` format provides comprehensive metadata about the dump, including information about the applied transformers and their parameters. The `json` format is especially useful for detailed dump introspection. diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 00000000..8d483ba7 --- /dev/null +++ b/docs/configuration.md @@ -0,0 +1,287 @@ +# Configuration + +The configuration is organized into six sections: + +* `common` — settings that can be used for both the `dump` and `restore` commands +* `log` — settings for the logging subsystem +* `storage` — settings for the storage locations where dumps are stored +* `dump` — settings for the `dump` command. This section includes `pg_dump` options and transformation parameters. +* `restore` — settings for the `restore` command. It contains `pg_restore` options and additional restoration + scripts. +* `custom_transformers` — definitions of the custom transformers that interact through `stdin` and `stdout`. Once a custom transformer is configured, it becomes accessible via the `greenmask list-transformers` command. + +## `common` section + +In the `common` section of the configuration, you can specify the following settings: + +* `pg_bin_path` — path to the PostgreSQL binaries. Note that the PostgreSQL server version must match the provided binaries. +* `tmp_dir` — temporary directory for storing the table of contents files + +!!! note + + Greenmask exclusively manages data dumping and data restoration processes, delegating schema dumping to the `pg_dump `utility and schema restoration to the `pg_restore` utility. Both `pg_dump` and `pg_restore` rely on a `toc.dat` file located in a specific directory, which contains metadata and object definitions. Therefore, the `tmp_dir` parameter is essential for storing the `toc.dat` file during the dumping or restoration procedure. It is important to note that all artifacts in this directory will be automatically deleted once the Greenmask command is completed. + +## `log` section + +In the `log` section of the configuration, you can specify the following settings: + +* `level` — specifies the level of logging, which can be one of the following: `debug`, `info`, or `error`. The default level is `info`. +* `format` — defines the logging format, which can be either `json` or `text`. The default format is `text`. + +## `storage` section + +In the `storage` section, you can configure the storage driver for storing the dumped data. Currently, +two storage options are supported: `directory` and `s3`. + +=== "`directory` option" + + The directory storage option refers to a filesystem directory where the dump data will be stored. + + Parameters include `path` which specifies the path to the directory in the filesystem where the dumps will be stored. + + ``` yaml title="directory storage config example" + directory: + path: "/home/user_name/storage_dir" # (1) + ``` + +=== "`s3` option" + + By choosing the `s3` storage option, you can store dump data in an S3-like remote storage service, + such as Amazon S3 or Azure Blob Storage. Here are the parameters you can configure for S3 storage: + + * `endpoint` — overrides the default AWS endpoint to a custom one for making requests + * `bucket` — the name of the bucket where the dump data will be stored + * `prefix` — a prefix for objects in the bucket, specified in path format + * `region` — the S3 service region + * `storage_class` — the storage class for performing object requests + * `disable_ssl` — disable SSL for interactions (default is `false`) + * `access_key_id` — access key for authentication + * `secret_access_key` — secret access key for authentication + * `session_token` — session token for authentication + * `role_arn` — Amazon resource name for role-based authentication + * `session_name` — role session name to uniquely identify a session + * `max_retries` — the number of retries on request failures + * `cert_file` — the path to the SSL certificate for making requests + * `max_part_size` — the maximum part length for one request + * `concurrency` — the number of goroutines to use in parallel for each upload call when sending parts + * `use_list_objects_v1` — use the old v1 `ListObjects` request instead of v2 one + * `force_path_style` — force the request to use path-style addressing (e. g., `http://s3.amazonaws.com/BUCKET/KEY`) instead of virtual hosted bucket addressing (e. g., `http://BUCKET.s3.amazonaws.com/KEY`) + * `use_accelerate` — enable S3 Accelerate feature + + ```yaml title="s3 storage config example for Minio running in Docker" + s3: + endpoint: "http://localhost:9000" + bucket: "testbucket" + region: "us-east-1" + access_key_id: "Q3AM3UQ867SPQQA43P2F" + secret_access_key: "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG" + ``` + +## `dump` section + +In the `dump` section of the configuration, you configure the `greenmask dump` command. It includes the following parameters: + +* `pg_dump_options` — a map of `pg_dump` options to configure the behavior of the command itself. You can refer to the list of supported `pg_dump` options in the [Greenmask dump command documentation](commands.md#dump). +* `transformation` — this section contains configuration for applying transformations to table columns during the dump operation. It includes the following sub-parameters: + + * `schema` — the schema name of the table + * `name` — the name of the table + * `query` — an optional parameter for specifying a custom query to be used in the COPY command. By default, the entire table is dumped, but you can use this parameter to set a custom query. + + !!! warning + + Be cautious when using the `query` parameter, as it may lead to constraint violation errors during restoration, and Greenmask currently cannot handle query validation. + + * `columns_type_override` — allows you to override the column types explicitly. You can associate a column with another type that is supported by your transformer. This is useful when the transformer works strictly with specific types of columns. For example, if a column named `post_code` is of the TEXT type, but the `RandomInt` transformer works only with INT family types, you can override it as shown in the example provided. + ``` yaml title="column type overridden example" + columns_type_override: + post_code: "int4" # (1) + ``` + { .annotate } + + 1. Change the data type of the post_code column to `INT4` (`INTEGER`) + + * `apply_for_inherited` — an optional parameter to apply the same transformation to all partitions if the table is partitioned. This can save you from defining the transformation for each partition manually. + + !!! warning + + It is recommended to use the `--load-via-partition-root` parameter when dealing with partitioned tables, as the partition key value might change. + + * `transformers` — a list of transformers to apply to the table, along with their parameters. Each transformation item includes the following sub-parameters: + + * `name` — the name of the transformer + * `params` — a map of the provided transformer parameters + + ```yaml title="transformers config example" + transformers: + - name: "RandomDate" + params: + min: "2023-01-01 00:00:00.0+03" + max: "2023-01-02 00:00:00.0+03" + column: "scheduled_departure" + + - name: "NoiseDate" + params: + ratio: "01:00:00" + column: "scheduled_arrival" + ``` + +Here is an example configuration for the `dump` section: + +```yaml title="dump section config example" +dump: + pg_dump_options: + dbname: "host=/run/postgresql user=postgres dbname=demo" + jobs: 10 + exclude-schema: "(\"teSt\"*|test*)" + table: "bookings.flights" + load-via-partition-root: true + + transformation: + - schema: "bookings" + name: "flights" + query: "select * from bookings.flights3 limit 1000000" + columns_type_override: + post_code: "int4" # (1) + transformers: + - name: "RandomDate" + params: + min: "2023-01-01 00:00:00.0+03" + max: "2023-01-02 00:00:00.0+03" + column: "scheduled_departure" + + - name: "NoiseDate" + params: + ratio: "01:00:00" + column: "scheduled_arrival" + + - name: "RegexpReplace" + params: + column: "status" + regexp: "On Time" + replace: "Delayed" + + - name: "RandomInt" # (2) + params: + column: "post_code" + min: "11" + max: "99" + + - schema: "bookings" + name: "aircrafts_data" + transformers: + - name: "Json" + params: + column: "model" + operations: + - operation: "set" + path: "en" + value: "Boeing 777-300-2023" + - operation: "set" + path: "crewSize" + value: 10 + + - name: "NoiseInt" + params: + ratio: 0.9 + column: "range" +``` +{ .annotate } + +1. Override the `post_code` column type to `int4` (INTEGER). This is necessary because the `post_code` column + originally has a `TEXT` type, but it contains values that resemble integers. By explicitly overriding the type to `int4`, we ensure compatibility with transformers that work with integer types, such as `RandomInt`. +2. After the type is overridden, we can apply a compatible transformer. + +## `validate` section + +In the `validate` section of the configuration, you can specify parameters for the `greenmask validate` +command. Here is an example of the validate section configuration: + +```yaml title="validate section config example" +validate: + tables: # (1) + - "orders" + - "public.cart" + data: true # (2) + diff: true # (3) + rows_limit: 10 # (4) + resolved_warnings: # (5) + - "8d436fae67b2b82b36bd3afeb0c93f30" + format: "horizontal" # (6) +``` +{ .annotate } + +1. A list of tables to validate. If this list is not empty, the validation operation will only be performed for the specified tables. Tables can be written with or without the schema name (e. g., `"public.cart"` or `"orders"`). +2. Specifies whether to perform data transformation for a limited set of rows. If set to `true`, data transformation will be performed, and the number of rows transformed will be limited to the value specified in the `rows_limit` parameter (default is `10`). +3. Specifies whether to perform diff operations for the transformed data. If set to `true`, the validation process will **find the differences between the original and transformed data**. See more details in the [validate command documentation](commands.md/#validate). +4. Limits the number of rows to be transformed during validation. The default limit is `10` rows, but you can change it by modifying this parameter. +5. A hash list of resolved warnings. These warnings have been addressed and resolved in a previous validation run. +6. Specifies the format of the transformation output. Possible values are `[horizontal|vertical]`. The default format is `horizontal`. You can choose the format that suits your needs. See more details in the [validate command documentation](commands.md/#validate). + +## `restore` section + +In the `restore` section of the configuration, you can specify parameters for the `greenmask restore` command. It contains `pg_restore` settings and custom script execution settings. Below you can find the available parameters: + +* `pg_restore_options` — a map of `pg_restore` options that are used to configure the behavior of + the `pg_restore` utility during the restoration process. You can refer to the list of supported `pg_restore` options in the [Greenmask restore command documentation](commands.md#restore). +* `scripts` — a map of custom scripts to be executed during different restoration stages. Each script is associated with a specific restoration stage and includes the following attributes: + * `[pre-data|data|post-data]` — the name of the restoration stage when the script should be executed; has the following parameters: + * `name` — the name of the script + * `when` — specifies when to execute the script, which can be either `"before"` or `"after"` the + specified restoration stage + * `query` — an SQL query string to be executed + * `query_file` — the path to an SQL query file to be executed + * `command` — a command with parameters to be executed. It is provided as a list, where the first item is the command name. + +As mentioned in [the architecture](architecture.md/#backing-up), a backup contains three sections: pre-data, data, and post-data. The custom script execution allows you to customize and control the restoration process by executing scripts or commands at specific stages. The available restoration stages and their corresponding execution conditions are as follows: + +* `pre-data` — scripts or commands can be executed before or after restoring the pre-data section +* `data` — scripts or commands can be executed before or after restoring the data section +* `post-data` — scripts or commands can be executed before or after restoring the post-data section + +Each stage can have a `"when"` condition with one of the following possible values: + +* `before` — execute the script or SQL command before the mentioned restoration stage +* `after` — execute the script or SQL command after the mentioned restoration stage + +Below you can one of the possible versions for the `scripts` part of the `restore` section: + +``` yaml title="scripts definition example" +scripts: + pre-data: # (1) + - name: "pre-data before script [1] with query" + when: "before" + query: "create table script_test(stage text)" + - name: "pre-data before script [2]" + when: "before" + query: "insert into script_test values('pre-data before')" + - name: "pre-data after test script [1]" + when: "after" + query: "insert into script_test values('pre-data after')" + - name: "pre-data after script with query_file [1]" + when: "after" + query_file: "pre-data-after.sql" + data: # (2) + - name: "data before script with command [1]" + when: "before" + command: # (4) + - "data-after.sh" + - "param1" + - "param2" + - name: "data after script [1]" + when: "after" + query_file: "data-after.sql" + post-data: # (3) + - name: "post-data before script [1]" + when: "before" + query: "insert into script_test values('post-data before')" + - name: "post-data after script with query_file [1]" + when: "after" + query_file: "post-data-after.sql" +``` +{ .annotate } + +1. **List of pre-data stage scripts**. This section contains scripts that are executed before or after the restoration of the pre-data section. The scripts include SQL queries and query files. +2. **List of data stage scripts**. This section contains scripts that are executed before or after the restoration of the data section. The scripts include shell commands with parameters and SQL query files. +3. **List of post-data stage scripts**. This section contains scripts that are executed before or after the restoration of the post-data section. The scripts include SQL queries and query files. +4. **Command in the first argument and the parameters in the rest of the list**. When specifying a command to be executed in the scripts section, you provide the command name as the first item in a list, followed by any parameters or arguments for that command. The command and its parameters are provided as a list within the script configuration. diff --git a/docs/custom-transformers.md b/docs/custom-transformers.md new file mode 100644 index 00000000..a0e3aa52 --- /dev/null +++ b/docs/custom-transformers.md @@ -0,0 +1,3 @@ +# Coming soon + +This article and custom transformation framework are in development. Stay tuned for the latest updates. diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 00000000..050d9ec0 --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,408 @@ +# Getting started + +This guide will help you to quickly get familiar with Greenmask by setting up **Greenmask Playground** and trying it in action. Greenmask Playground is a Docker Compose environment that includes the following components: + +* **Original database** — the source database you'll be working with. +* **Empty database for restoration** — an empty database where the restored data will be placed. +* **MinIO storage** — used for storage purposes. +* **Greenmask Utility** — Greenmask itself, ready for use. + +!!! warning + + To complete this guide, you must have **Docker** and **docker-compose** installed. + +## Setting up Greenmask Playground + +1. Clone the `greenmask` repository and navigate to its directory by running the following commands: + + ```shell + git clone git@github.com:GreenmaskIO/greenmask.git && cd greenmask + ``` + +2. Once you have cloned the repository, start the environment by running Docker Compose: + + ```shell + docker-compose run greenmask + ``` +!!! Tip + + If you're experiencing problems with pulling images from Docker Hub, you can build the Greenmask image from source by running the following command: + + ```shell + docker-compose run greenmask-from-source + ``` + +Now you have Greenmask Playground up and running with a shell prompt inside the container. All further operations will be carried out within this container's shell. + +## Commands + +Before proceeding to configure Greenmask, let us explore some of the available Greenmask commands: + +```shell +greenmask + --log-format=[json|text] \ + --log-level=[debug|info|error] \ + --config=config.yml \ + [dump | list-dumps | delete | list-transformers | restore | show-dump | validate | completion] +``` + +Below you can find a description for each command: + +* `dump` — performs a logical data dump, transforms the data, and stores it in the designated storage. + +* `list-dumps` — retrieves a list of all stored dumps within the chosen storage. + +* `delete` — removes a dump with a specific ID from the storage. + +* `list-transformers` — displays a list of approved transformers and their documentation. + +* `restore` — restores a dump either by specifying its ID or using the latest available dump to the target database. + +* `show-dump` — presents metadata information about a specific dump (equivalent to `pg_restore -l ./`). + +* `validate` — executes a validation process and generates a data diff for the transformation. + +* `completion` — generates the autocompletion script for the specified shell. + +Note that you can customize the logging format and level using the provided options. Specifying a configuration file (`config.yml`) is mandatory to guide the tool's behavior. + +## Building config.yml + +### The sample database + +Greenmask Playground uses the [Microsoft AdventureWorks sample databases](https://learn.microsoft.com/en-us/sql/samples/adventureworks-install-configure?view=sql-server-ver16&tabs=ssms), +that have been ported to PostgreSQL and sourced from [morenoh149/postgresDBSamples](https://github.com/morenoh149/postgresDBSamples). + +Within Playground, you'll find two predefined databases: + +```text + Name | Owner +-------------+---------- + original | postgres + transformed | postgres +``` + +where: + +* `original` — a database that contains the deployed AdventureWorks sample databases as-is. +* `transformed` — an empty database for restoring transformed dumps. + +Within the Greenmask container, you'll have access to the following commands: + +* `greenmask` — launches the Greenmask obfuscation utility. +* `psql_o` — connects to the `original` database using the psql utility. +* `psql_t` — connects to the `transformed` database using the psql utility. +* `cleanup` — drops and recreates the `transformed` database as an empty container. + +If you are using an external Integrated Development Environment (IDE), you can connect using the following URIs: + +* Original database: `postgresql://postgres:example@localhost:54316/original` +* Transformed database: `postgresql://postgres:example@localhost:54316/transformed` + +### Creating a simple configuration + +The Greenmask utility container is configured with a volume attached to the `./playground` directory located at the root of the repository. Within this directory, there is a pre-defined configuration file called `config.yml`. You have the flexibility to modify this configuration as needed, making adjustments or adding additional transformations. + +Any changes made to this configuration file will be accessible within the container, allowing you to tailor Greenmask's behavior to your specific requirements. + +To build a basic configuration for Greenmask, you can follow these steps: + +1. Get a list of currently available transformers by running the following command: + + ```shell + greenmask --config config.yml list-transformers + ``` + + ![list-transformers-example.png](assets%2Fgetting_started%2Flist-transformers-example.png) + +When building your configuration, ensure that you fill in all the required attributes, including the following sections: + +* common +* storage +* dump +* restore + +Below is an example of a minimal configuration in YAML format: + +```yaml +common: + pg_bin_path: "/usr/lib/postgresql/16/bin" + tmp_dir: "/tmp" + +storage: + s3: + endpoint: "http://playground-storage:9000" + bucket: "adventureworks" + region: "us-east-1" + access_key_id: "Q3AM3UQ867SPQQA43P2F" + secret_access_key: "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG" + +validate: +# resolved_warnings: +# - "aa808fb574a1359c6606e464833feceb" + +dump: + pg_dump_options: # pg_dump option that will be provided + dbname: "host=playground-db user=postgres password=example dbname=original" + jobs: 10 + + transformation: # List of tables to transform + - schema: "humanresources" # Table schema + name: "employee" # Table name + transformers: # List of transformers to apply + - name: "NoiseDate" # name of transformers + params: # Transformer parameters + ratio: "10 year 9 mon 1 day" + column: "birthdate" # Column parameter - this transformer affects scheduled_departure column + +restore: + pg_restore_options: # pg_restore option (you can use the same options as pg_restore has) + jobs: 10 + dbname: "host=playground-db user=postgres password=example dbname=transformed" +``` + +This example demonstrates the essential components of a Greenmask configuration file in YAML format. Please ensure that +you customize it according to your specific needs. + +In the config above applied only one transformer on table `humanresources.employee` called `NoiseDate` with the +next parameters: + +* ratio - add noise to the value up to "10 year 9 mon 1 day" eather before or after. For he current value is + `1976-12-03` and the transformer generated the noise value randomly `1 year 3 mon` and decided to increase that value. + The result will be `1978-02-033` +* column - there is a column name that is going to be affected called `birthdate` + +### Run validation procedure + +You can utilize the following command to initiate a validation procedure: + +```shell +greenmask --config config.yml validate \ + --data \ + --diff \ + --format=vertical \ + --rows-limit=2 +``` + +The validation result will be displayed as follows: + +![validate-result.png](assets%2Fgetting_started%2Fvalidate-result.png) + +There is one warning; let's investigate it: + +```yaml +{ + "hash": "aa808fb574a1359c6606e464833feceb", + "meta": { + "ColumnName": "birthdate", + "ConstraintDef": "CHECK (birthdate >= '1930-01-01'::date AND birthdate <= (now() - '18 years'::interval))", + "ConstraintName": "humanresources", + "ConstraintSchema": "humanresources", + "ConstraintType": "Check", + "ParameterName": "column", + "SchemaName": "humanresources", + "TableName": "employee", + "TransformerName": "NoiseDate" + }, + "msg": "possible constraint violation: column has Check constraint", + "severity": "warning" +} +``` + +The validation warnings include the following details: + +* **hash** - A unique identifier for each validation warning, which can be used to exclude the warning from future + checks + by adding it to the `validate.resolved_warnings` configuration. +* **meta** - Contains essential information that helps identify the location in the configuration or the potentially + violated constraint. +* **msg** - A comprehensive message that provides a detailed explanation of the warning's cause +* **severity** - Indicates the severity of the warning, which can be either "warning" or "error." In the case of an + error, Greenmask will exit immediately with a non-zero exit code. + +The next step in the validation procedure is to compare the data before and after the transformation. This comparison +is presented in a table format. Columns with a red background indicate that they have been affected by the +transformation. The green values represent the original data before the transformation, while the red values depict +the data after the transformation. + +To exclude a warning from future runs, you can uncomment the resolved_warning attribute in the configuration file. + +```yaml +validate: + resolved_warnings: + - "aa808fb574a1359c6606e464833feceb" +``` + +By adding the hash of a warning to the `validate.resolved_warnings` configuration in your `config.yml` +file, you can effectively exclude that specific warning from being displayed in subsequent runs of the validation +process using the command: + +```shell +greenmask --config config.yml validate +``` + +### Dumping procedure + +To perform the data dumping procedure, follow these steps: + +1. Execute the following command to initiate the dump using your configured settings: + ```shell + greenmask --config config.yml dump + ``` + +2. Once the dumping process is complete, you will find the dump with an associated ID in the designated storage. + To list all available dumps, use the following command: + ```shell + greenmask --config config.yml list-dumps + ``` + ![list-dumps.png](assets%2Fgetting_started%2Flist-dumps.png) + +3. If you wish to examine the data that is scheduled for restoration, you can use the show dump command. + Provide the `dumpId` in your call to access the details: + + ```shell + greenmask --config config.yml show-dump 1702489882319 + ``` + + In the output below, you can observe the portion of objects that will be restored: + + ```text + ; + ; Archive created at 2023-12-13 17:51:22 UTC + ; dbname: original + ; TOC Entries: 986 + ; Compression: 0 + ; Dump Version: 16.1 (Ubuntu 16.1-1.pgdg22.04+1) + ; Format: DIRECTORY + ; Integer: 4 bytes + ; Offset: 8 bytes + ; Dumped from database version: 16.0 (Debian 16.0-1.pgdg120+1) + ; Dumped by pg_dump version: 16.1 (Ubuntu 16.1-1.pgdg22.04+1) + ; + ; + ; Selected TOC Entries: + ; + 4666; 0 0 ENCODING - ENCODING + 4667; 0 0 STDSTRINGS - STDSTRINGS + 4668; 0 0 SEARCHPATH - SEARCHPATH + 4669; 1262 16384 DATABASE - original postgres + 14; 2615 18396 SCHEMA - hr postgres + 9; 2615 16524 SCHEMA - humanresources postgres + 4670; 0 0 COMMENT - SCHEMA humanresources postgres + 13; 2615 18343 SCHEMA - pe postgres + 8; 2615 16429 SCHEMA - person postgres + 4671; 0 0 COMMENT - SCHEMA person postgres + 15; 2615 18421 SCHEMA - pr postgres + 10; 2615 16586 SCHEMA - production postgres + 4672; 0 0 COMMENT - SCHEMA production postgres + 16; 2615 18523 SCHEMA - pu postgres + 11; 2615 17034 SCHEMA - purchasing postgres + 4673; 0 0 COMMENT - SCHEMA purchasing postgres + + ... + ... + ... + 4427; 2606 18157 FK CONSTRAINT sales shoppingcartitem FK_ShoppingCartItem_Product_ProductID postgres + 4428; 2606 18162 FK CONSTRAINT sales specialofferproduct FK_SpecialOfferProduct_Product_ProductID postgres + 4429; 2606 18167 FK CONSTRAINT sales specialofferproduct FK_SpecialOfferProduct_SpecialOffer_SpecialOfferID postgres + 4430; 2606 18182 FK CONSTRAINT sales store FK_Store_BusinessEntity_BusinessEntityID postgres + 4431; 2606 18187 FK CONSTRAINT sales store FK_Store_SalesPerson_SalesPersonID postgres + + ``` + +### Restoration Procedure + +To restore data to the target database, you can use the following commands: + +1. To restore data from a specific dump (identified by its **dumpId**), execute the following command: + ```shell + greenmask --config config.yml restore [dumpId] + ``` + Replace **[dumpId]** with the appropriate dump identifier. + +2. Alternatively, you can restore the latest available dump by using the reserved word **latest** like this: + ```shell + greenmask --config config.yml restore latest + ``` + +3. After the restoration process is complete, you can verify the restored data by running the following PostgreSQL + command: + ```shell + psql_t -xc 'select * from humanresources.employee limit 2;' + ``` + This command will display the first two rows of the "flights" table in the target database, showing the restored + data. + + ``` + -[ RECORD 1 ]----+------------------------------------- + businessentityid | 1 + nationalidnumber | 295847284 + loginid | adventure-works\ken0 + jobtitle | Chief Executive Officer + birthdate | 1968-12-18 + maritalstatus | S + gender | M + hiredate | 2009-01-14 + salariedflag | t + vacationhours | 99 + sickleavehours | 69 + currentflag | t + rowguid | f01251e5-96a3-448d-981e-0f99d789110d + modifieddate | 2014-06-30 00:00:00 + organizationnode | / + -[ RECORD 2 ]----+------------------------------------- + businessentityid | 2 + nationalidnumber | 245797967 + loginid | adventure-works\terri0 + jobtitle | Vice President of Engineering + birthdate | 1970-05-04 + maritalstatus | S + gender | F + hiredate | 2008-01-31 + salariedflag | t + vacationhours | 1 + sickleavehours | 20 + currentflag | t + rowguid | 45e8f437-670d-4409-93cb-f9424a40d6ee + modifieddate | 2014-06-30 00:00:00 + organizationnode | /1/ + + ``` + +### Deleting a Dump + +To remove a specific dump from the storage, use the **delete** command with the appropriate **dumpId**. +Here's how to do it: + +```shell +greenmask --config config.yml delete 1702489882319 +``` + +After executing this command, the specified dump will be deleted from the storage. + +To verify the changes, you can list the available dumps using the following command: + +The result + +```shell +greenmask --config config.yml list-dumps +``` + +The list displayed dumps will not include the deleted dump with the previously provided dumpId. + +``` ++----+------+----------+------+-----------------+----------+-------------+--------+ +| ID | DATE | DATABASE | SIZE | COMPRESSED SIZE | DURATION | TRANSFORMED | STATUS | ++----+------+----------+------+-----------------+----------+-------------+--------+ ++----+------+----------+------+-----------------+----------+-------------+--------+ +``` + +## Conclusion + +This is a straightforward example of using Greenmask. If you wish to explore more advanced transformation cases and +delve deeper into the documentation. + +Additionally, if you have any questions or require further assistance, don't hesitate to reach out via +[Discord](https://discord.gg/97AKHdGD), [Telegram](https://t.me/greenmask_community), or by +emailing us at [support@greenmask.io](mailto:support@greenmask.io). Our team is here to help and +provide guidance as needed. diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..9ed4a425 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,41 @@ +# About Greenmask + +**Greenmask** is a powerful open-source utility that is designed for logical database backup dumping, +obfuscation, and restoration. It offers extensive functionality for backup, anonymization, and data masking. + +Greenmask is written in pure Go and includes ported PostgreSQL libraries that allows for platform independence. This tool is stateless and does not require any changes to your database schema. It is designed to be highly customizable and backward-compatible with existing PostgreSQL utilities. + +## Purpose + +The Greenmask utility plays a central role in the Greenmask ecosystem. Our goal is to develop a comprehensive, UI-based solution for managing obfuscation procedures. We recognize the challenges of maintaining obfuscation consistency throughout the software lifecycle. Greenmask is dedicated to providing valuable tools and features that ensure the obfuscation process remains fresh, predictable, and transparent. + +## Key features + +* **Cross-platform** — can be easily built and executed on any platform, thanks to its Go-based architecture, + which eliminates platform dependencies. +* **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 variety of storages** — Greenmask offers a variety of storage options for local and remote data storage, including directories and S3-like storage solutions. + +## Use cases + +Greenmask is ideal for various scenarios, including: + +* **Backup and restoration**. Use Greenmask for your daily routines involving logical backup dumping and restoration. It seamlessly handles tasks like table restoration after truncation. Its functionality closely mirrors that of pg_dump and pg_restore, making it a straightforward replacement. +* **Anonymization, transformation, and data masking**. Employ Greenmask for anonymizing, transforming, and masking backups, especially when setting up a staging environment or for analytical purposes. It simplifies the deployment of a pre-production environment with consistently anonymized data, facilitating faster time-to-market in the development lifecycle. + +## Links + +* [Email](mailto:support@greenmask.io) +* [Twitter](https://twitter.com/GreenmaskIO) +* [Telegram](https://t.me/greenmask_community) +* [Discord](https://discord.gg/tAJegUKSTB) +* [DockerHub](https://hub.docker.com/r/greenmask/greenmask) diff --git a/docs/installation.md b/docs/installation.md new file mode 100644 index 00000000..476f7c7d --- /dev/null +++ b/docs/installation.md @@ -0,0 +1,53 @@ +# Installation + +## Prerequisites + +* Ensure that you have PostgreSQL utilities preinstalled, matching the **major version** + of your destination server. + +* If you are building Greenmask from source, make sure you have the `make` utility installed. + +## From GitHub binaries + +The easiest way to install Greenmask is by using the latest release's binary. Follow these steps: + +1. Check the latest [Greenmask release](https://github.com/GreenmaskIO/greenmask/releases). +2. From **Assets**, download the required binary. +3. Execute the downloaded binary to start using Greenmask. + +### Additional instructions for macOS users + +For those downloading `greenmask-macos-amd64` or `greenmask-macos-arm64`, additional steps are required to ensure proper execution. + +1. In your terminal, move to the directory where the Greenmask binary is located. + +2. Change the file permissions to make it executable by using the following command: + + ```bash + chmod 777 greenmask-macos-[version] + ``` + +3. Remove a quarantine attribute, which macOS may have applied, by using the following command: + + ```bash + xattr -d com.apple.quarantine greenmask-macos-[version] + ``` + !!! info + + In both commands above, replace `[version]` with `amd64` or `arm64` according to your download. + +## From source + +1. Clone the Greenmask repository by using the following command: + + ```bash + git clone git@github.com:GreenmaskIO/greenmask.git + ``` + +2. Once the repository is cloned, execute the following command to build Greenmask: + + ```bash + make build + ``` + +After completing the build process, you will find the binary named `greenmask` in the root directory of the repository. Execute the binary to start using Greenmask. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 00000000..1b575abe --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,147 @@ +site_name: Greenmask — PostgreSQL masking and obfuscation tool + +# Theme +theme: + name: material + custom_dir: overrides + logo: assets/logo.png + favicon: assets/logo.png + features: + - navigation.indexes + - announce.dismiss + - content.code.annotate + - content.code.copy + - content.tooltips + # - navigation.sections + - navigation.tabs + # - navigation.top + # - navigation.tracking + - search.highlight + - search.share + - search.suggest + # - toc.follow + palette: + scheme: default + primary: teal + accent: indigo + toggle: + icon: material/brightness-7 + + +# Markdown extensions +markdown_extensions: + - attr_list + - toc: + permalink: true + - pymdownx.highlight + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.snippets + - admonition + - pymdownx.details + - tables + +nav: + - Home: + - Home: index.md + - Documentation: + - Installation: installation.md + - Configuration: configuration.md + - Architecture: architecture.md + - Playground: playground.md + - Commands: commands.md + - Transformers: + - built_in_transformers/index.md + - Standard transformers: + - built_in_transformers/standard_transformers/index.md + - Cmd: built_in_transformers/standard_transformers/cmd.md + - Dict: built_in_transformers/standard_transformers/dict.md + - Hash: built_in_transformers/standard_transformers/hash.md + - Masking: built_in_transformers/standard_transformers/masking.md + - NoiseDate: built_in_transformers/standard_transformers/noise_date.md + - NoiseFloat: built_in_transformers/standard_transformers/noise_float.md + - NoiseInt: built_in_transformers/standard_transformers/noise_int.md + - RandomBool: built_in_transformers/standard_transformers/random_bool.md + - RandomChoice: built_in_transformers/standard_transformers/random_choice.md + - RandomDate: built_in_transformers/standard_transformers/random_date.md + - RandomFloat: built_in_transformers/standard_transformers/random_float.md + - RandomInt: built_in_transformers/standard_transformers/random_int.md + - RandomString: built_in_transformers/standard_transformers/random_string.md + - RandomUuid: built_in_transformers/standard_transformers/random_uuid.md + - RandomLatitude: built_in_transformers/standard_transformers/random_latitude.md + - RandomLongitude: built_in_transformers/standard_transformers/random_longitude.md + - RandomUnixTime: built_in_transformers/standard_transformers/random_unix_time.md + - RandomDayOfWeek: built_in_transformers/standard_transformers/random_day_of_week.md + - RandomDayOfMonth: built_in_transformers/standard_transformers/random_day_of_month.md + - RandomMonthName: built_in_transformers/standard_transformers/random_month_name.md + - RandomYearString: built_in_transformers/standard_transformers/random_year_string.md + - RandomCentury: built_in_transformers/standard_transformers/random_century.md + - RandomTimezone: built_in_transformers/standard_transformers/random_timezone.md + - RandomEmail: built_in_transformers/standard_transformers/random_email.md + - RandomUsername: built_in_transformers/standard_transformers/random_username.md + - RandomPassword: built_in_transformers/standard_transformers/random_password.md + - RandomMacAddress: built_in_transformers/standard_transformers/random_mac_address.md + - RandomDomainName: built_in_transformers/standard_transformers/random_domain_name.md + - RandomURL: built_in_transformers/standard_transformers/random_url.md + - RandomIPv4: built_in_transformers/standard_transformers/random_ipv4.md + - RandomIPv6: built_in_transformers/standard_transformers/random_ipv6.md + - RandomWord: built_in_transformers/standard_transformers/random_word.md + - RandomSentence: built_in_transformers/standard_transformers/random_sentence.md + - RandomParagraph: built_in_transformers/standard_transformers/random_paragraph.md + - RandomCCType: built_in_transformers/standard_transformers/random_cc_type.md + - RandomCCNumber: built_in_transformers/standard_transformers/random_cc_number.md + - RandomCurrency: built_in_transformers/standard_transformers/random_currency.md + - RandomAmountWithCurrency: built_in_transformers/standard_transformers/random_amount_with_currency.md + - RandomName: built_in_transformers/standard_transformers/random_name.md + - RandomLastName: built_in_transformers/standard_transformers/random_last_name.md + - RandomFirstName: built_in_transformers/standard_transformers/random_first_name.md + - RandomFirstNameMale: built_in_transformers/standard_transformers/random_first_name_male.md + - RandomFirstNameFemale: built_in_transformers/standard_transformers/random_first_name_female.md + - RandomTitleMale: built_in_transformers/standard_transformers/random_title_male.md + - RandomTitleFemale: built_in_transformers/standard_transformers/random_title_female.md + - RandomPhoneNumber: built_in_transformers/standard_transformers/random_phone_number.md + - RandomTollFreePhoneNumber: built_in_transformers/standard_transformers/random_toll_free_phone_number.md + - RandomE164PhoneNumber: built_in_transformers/standard_transformers/random_e164_phone_number.md + - RealAddress: built_in_transformers/standard_transformers/real_address.md + - RegexpReplace: built_in_transformers/standard_transformers/regexp_replace.md + - Replace: built_in_transformers/standard_transformers/replace.md + - SetNull: built_in_transformers/standard_transformers/set_null.md + - Advanced transformers: + - built_in_transformers/advanced_transformers/index.md + - Json: built_in_transformers/advanced_transformers/json.md + - Template: built_in_transformers/advanced_transformers/template.md + - TemplateRecord: built_in_transformers/advanced_transformers/template_record.md + - Custom functions: + - built_in_transformers/advanced_transformers/custom_functions/index.md + - Core custom functions: built_in_transformers/advanced_transformers/custom_functions/core_functions.md + - Faker function: built_in_transformers/advanced_transformers/custom_functions/faker_function.md + - Release notes: + - Greenmask 0.1.5: release_notes/greenmask_0_1_5.md + - Greenmask 0.1.4: release_notes/greenmask_0_1_4.md + - Greenmask 0.1.3: release_notes/greenmask_0_1_3.md + - Greenmask 0.1.2: release_notes/greenmask_0_1_2.md + - Greenmask 0.1.1: release_notes/greenmask_0_1_1.md + - Greenmask 0.1.0: release_notes/greenmask_0_1_0.md + - Greenmask 0.1.0 Beta: release_notes/greenmask_0_1_0_beta.md + +repo_url: https://github.com/GreenmaskIO/greenmask +repo_name: GreenmaskIO/greenmask +site_url: https://greenmask.io +copyright: Copyright © 2024 Greenmask + + +extra: + # version: + # provider: mike + social: + - icon: fontawesome/brands/x-twitter + link: https://twitter.com/GreenmaskIO + - icon: fontawesome/brands/discord + link: https://discord.gg/97AKHdGD + - icon: fontawesome/brands/github + link: https://github.com/GreenmaskIO/greenmask + +plugins: + - social + - search diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 00000000..b2dea1c9 --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,5 @@ +{% extends "base.html" %} + +{% block announce %} + Version 0.1.5 is released +{% endblock %} diff --git a/docs/playground.md b/docs/playground.md new file mode 100644 index 00000000..23f51a53 --- /dev/null +++ b/docs/playground.md @@ -0,0 +1,63 @@ +# Greenmask Playground + +Greenmask Playground is a sandbox environment in Docker with sample databases included to help you try Greenmask without any additional actions. It includes the following components: + +* **Original database** — the source database you'll be working with. +* **Empty database for restoration** — an empty database where the restored data will be placed. +* **MinIO storage** — used for storage purposes. +* **Greenmask Utility** — Greenmask itself, ready for use. + +!!! warning + + To complete this guide, you must have **Docker** and **docker-compose** installed. + +## Setting up Greenmask Playground + +1. Clone the `greenmask` repository and navigate to its directory by running the following commands: + + ```shell + git clone git@github.com:GreenmaskIO/greenmask.git && cd greenmask + ``` + +2. Once you have cloned the repository, start the environment by running Docker Compose: + + ```shell + docker-compose run greenmask + ``` +!!! Tip + + If you're experiencing problems with pulling images from Docker Hub, you can build the Greenmask image from source by running the following command: + + ```shell + docker-compose run greenmask-from-source + ``` + +Now you have Greenmask Playground up and running with a shell prompt inside the container. All further operations will be carried out within this container's shell. + +## Commands + +Below you can see Greenmask commands: + +* `dump` — performs a logical data dump, transforms the data, and stores it in the designated storage. + +* `list-dumps` — retrieves a list of all stored dumps within the chosen storage. + +* `delete` — removes a dump with a specific ID from the storage. + +* `list-transformers` — displays a list of approved transformers and their documentation. + +* `restore` — restores a dump either by specifying its ID or using the latest available dump to the target database. + +* `show-dump` — presents metadata information about a specific dump (equivalent to `pg_restore -l ./`). + +* `validate` — executes a validation process and generates a data diff for the transformation. + +* `completion` — generates the autocompletion script for the specified shell. + +To learn more about them, see [Commands](commands.md). + +## Transformers + +A configuration file is mandatory for Greenmask functioning. The pre-defined configuration file is stored at the repository root directory (`./playground/config.yml`). It also serves to define transformers which you can update to your liking in order to use Greenmask Playground more effectively and to get better understanding of the tool itself. To learn how to customize a configuration file, see [Configuration](configuration.md) + +The pre-defined configuration file uses the [NoiseDate](built_in_transformers/standard_transformers/noise_date.md) transformer as an example. To learn more about other transformers and how to use them, see [Transformers](built_in_transformers/index.md). diff --git a/docs/release_notes/greenmask_0_1_0.md b/docs/release_notes/greenmask_0_1_0.md new file mode 100644 index 00000000..9a82e249 --- /dev/null +++ b/docs/release_notes/greenmask_0_1_0.md @@ -0,0 +1,75 @@ +# Greenmask 0.1.0 + +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. + +## New features + +- Added positional arguments for the list-transformers command, allowing specific transformer information retrieval (e.g., `greenmask list-transformers RandomDate`). + +- Added a version parameter `--version` that prints Greenmask version. + +- Added numeric parameters support for `-Int` and `-Float` transformers. + +## Improvements + +- Improved verbosity in custom transformer interaction, accumulating `stderr` data and forwarding it in batches instead of writing it one by one. + +- 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. + +- Refactored `NoiseDate` transformer implementation for improved stability and predictability. + +- Changed the default value for the `Dict` transformer: `fail_not_matched parameter: true`. + +- Refactored the `Hash` transformer to provide a salt parameter and receive a base64 encoded salt. If salt is not provided, it generates one randomly. + +- Added validation for the truncate parameter of `NoiseDate` and `RandomDate` transformers that issues 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 pipelines 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. + +## Assets + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.0). diff --git a/docs/release_notes/greenmask_0_1_0_beta.md b/docs/release_notes/greenmask_0_1_0_beta.md new file mode 100644 index 00000000..1dda166f --- /dev/null +++ b/docs/release_notes/greenmask_0_1_0_beta.md @@ -0,0 +1,19 @@ +# Greenmask 0.0.1 Beta + +We are excited to announce the beta release of Greenmask, a versatile and open-source utility for PostgreSQL logical backup dumping, obfuscation, and restoration. Greenmask is perfect for routine backup and restoration tasks. It facilitates anonymization and data masking for staging environments and analytics. + +This release introduces a range of features aimed at enhancing database management and security. + +## Key features + +- Cross-platform support — fully written in Go without platform dependencies. +- Type-safe database operations — validates and encodes data, maintaining integrity. +- Transformation validation — ensures data transformations are correct and maintainable. +- Partitioned table support — simplifies configuration for partitioned tables. +- Stateless and backward compatible — works alongside standard PostgreSQL utilities. +- Parallel execution — enhances efficiency in dumping and restoration processes. +- Multiple storage options — supports both local (directory) and remote (S3-like) storage solutions. + +## Download + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.0-beta). diff --git a/docs/release_notes/greenmask_0_1_1.md b/docs/release_notes/greenmask_0_1_1.md new file mode 100644 index 00000000..93e0a592 --- /dev/null +++ b/docs/release_notes/greenmask_0_1_1.md @@ -0,0 +1,49 @@ +# Greenmask 0.1.1 + +This release introduces a suite of new transformers, significantly enhancing Greenmask's capabilities for obfuscating PostgreSQL databases. + +## New features + +Added the following new transformers: + +| Transformer | Description | +|----------------------------------------------------------------------------------------|--------------------------------------------------| +| [RandomLatitude](../built_in_transformers/standard_transformers/random_latitude.md) | Generates a random latitude value | +| [RandomLongitude](../built_in_transformers/standard_transformers/random_longitude.md) | Generates a random longitude value | +| [RandomUnixTime](../built_in_transformers/standard_transformers/random_unix_time.md) | Generates a random Unix timestamp | +| [RandomMonthName](../built_in_transformers/standard_transformers/random_month_name.md) | Generates the name of a random month | +| [RandomYearString](../built_in_transformers/standard_transformers/random_year_string.md) | Generates a random year as a string | +| [RandomDayOfWeek](../built_in_transformers/standard_transformers/random_day_of_week.md) | Generates a random day of the week | +| [RandomDayOfMonth](../built_in_transformers/standard_transformers/random_day_of_month.md) | Generates a random day of the month | +| [RandomCentury](../built_in_transformers/standard_transformers/random_century.md) | Generates a random century | +| [RandomTimezone](../built_in_transformers/standard_transformers/random_timezone.md) | Generates a random timezone | +| [RandomEmail](../built_in_transformers/standard_transformers/random_email.md) | Generates a random email address | +| [RandomMacAddress](../built_in_transformers/standard_transformers/random_mac_address.md) | Generates a random MAC address | +| [RandomDomainName](../built_in_transformers/standard_transformers/random_domain_name.md) | Generates a random domain name | +| [RandomURL](../built_in_transformers/standard_transformers/random_url.md) | Generates a random URL | +| [RandomUsername](../built_in_transformers/standard_transformers/random_username.md) | Generates a random username | +| [RandomIPv4](../built_in_transformers/standard_transformers/random_ipv4.md) | Generates a random IPv4 address | +| [RandomIPv6](../built_in_transformers/standard_transformers/random_ipv6.md) | Generates a random IPv6 address | +| [RandomPassword](../built_in_transformers/standard_transformers/random_password.md) | Generates a random password | +| [RandomWord](../built_in_transformers/standard_transformers/random_word.md) | Generates a random word | +| [RandomSentence](../built_in_transformers/standard_transformers/random_sentence.md) | Generates a random sentence | +| [RandomParagraph](../built_in_transformers/standard_transformers/random_paragraph.md) | Generates a random paragraph | +| [RandomCCType](../built_in_transformers/standard_transformers/random_cc_type.md) | Generates a random credit card type | +| [RandomCCNumber](../built_in_transformers/standard_transformers/random_cc_number.md) | Generates a random credit card number | +| [RandomCurrency](../built_in_transformers/standard_transformers/random_currency.md) | Generates a random currency code | +| [RandomAmountWithCurrency](../built_in_transformers/standard_transformers/random_amount_with_currency.md) | Generates a random monetary amount with currency | +| [RandomTitleMale](../built_in_transformers/standard_transformers/random_title_male.md) | Generates a random title for males | +| [RandomTitleFemale](../built_in_transformers/standard_transformers/random_title_female.md) | Generates a random title for females | +| [RandomFirstName](../built_in_transformers/standard_transformers/random_first_name.md) | Generates a random first name | +| [RandomFirstNameMale](../built_in_transformers/standard_transformers/random_first_name_male.md) | Generates a random male first name | +| [RandomFirstNameFemale](../built_in_transformers/standard_transformers/random_first_name_female.md) | Generates a random female first name | +| [RandomLastName](../built_in_transformers/standard_transformers/random_last_name.md) | Generates a random last name | +| [RandomName](../built_in_transformers/standard_transformers/random_name.md) | Generates a full random name | +| [RandomPhoneNumber](../built_in_transformers/standard_transformers/random_phone_number.md) | Generates a random phone number | +| [RandomTollFreePhoneNumber](../built_in_transformers/standard_transformers/random_toll_free_phone_number.md) | Generates a random toll-free phone number | +| [RandomE164PhoneNumber](../built_in_transformers/standard_transformers/random_e164_phone_number.md) | Generates a random phone number in E.164 format | +| [RealAddress](../built_in_transformers/standard_transformers/real_address.md) | Generates a real address | + +## Assets + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.1). diff --git a/docs/release_notes/greenmask_0_1_2.md b/docs/release_notes/greenmask_0_1_2.md new file mode 100644 index 00000000..6e626114 --- /dev/null +++ b/docs/release_notes/greenmask_0_1_2.md @@ -0,0 +1,13 @@ +# Greenmask 0.1.2 + +This release introduces bug fixes. + +## Fixes + +- Fixed bug when raw COPY lines were parsed incorrectly +- Fixed `--version` parameter behavior +- Fixed `--dbname` parameter - now it correctly works with PostgreSQL connection string in URI format `postgresql:///` + +## Assets + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.2). diff --git a/docs/release_notes/greenmask_0_1_3.md b/docs/release_notes/greenmask_0_1_3.md new file mode 100644 index 00000000..937721a2 --- /dev/null +++ b/docs/release_notes/greenmask_0_1_3.md @@ -0,0 +1,12 @@ +# Greenmask 0.1.3 + +This release introduces bug fixes. + +## Fixes + +- Fixed the JSON transformer's parsing for the `operations` fields +- Fixed database connection string builder in `pg_restore` and `pg_dump` + +## Assets + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.3). diff --git a/docs/release_notes/greenmask_0_1_4.md b/docs/release_notes/greenmask_0_1_4.md new file mode 100644 index 00000000..af6fe42f --- /dev/null +++ b/docs/release_notes/greenmask_0_1_4.md @@ -0,0 +1,11 @@ +# Greenmask 0.1.4 + +This release introduces bug fixes. + +## Fixes + +- Fixed database connection string behavior fields + +## Assets + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.4). diff --git a/docs/release_notes/greenmask_0_1_5.md b/docs/release_notes/greenmask_0_1_5.md new file mode 100644 index 00000000..bf94a6e1 --- /dev/null +++ b/docs/release_notes/greenmask_0_1_5.md @@ -0,0 +1,25 @@ +# Greenmask 0.1.5 + +This release introduces a new Greenmask command, improvements, bug fixes, and numerous documentation updates. + +## New features + +Added a new Greenmask CLI command—[show-transformer](../commands.md#show-transformer) that shows detailed information about a specified transformer. + +## Improvements + +- The [Hash transformer](../built_in_transformers/standard_transformers/hash.md) 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 +- Improved UX for the Greenmask release binaries + +## Fixes + +- 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 + +## Assets + +To download the Greenmask binary compatible with your system, see the [release's assets list](https://github.com/GreenmaskIO/greenmask/releases/tag/v0.1.5). diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..55505bd2 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,147 @@ +site_name: Greenmask — PostgreSQL masking and obfuscation tool + +# Theme +theme: + name: material + custom_dir: docs/overrides + logo: assets/logo.png + favicon: assets/logo.png + features: + - navigation.indexes + - announce.dismiss + - content.code.annotate + - content.code.copy + - content.tooltips + # - navigation.sections + - navigation.tabs + # - navigation.top + # - navigation.tracking + - search.highlight + - search.share + - search.suggest + # - toc.follow + palette: + scheme: default + primary: teal + accent: indigo + toggle: + icon: material/brightness-7 + + +# Markdown extensions +markdown_extensions: + - attr_list + - toc: + permalink: true + - pymdownx.highlight + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.snippets + - admonition + - pymdownx.details + - tables + +nav: + - Home: + - Home: index.md + - Documentation: + - Installation: installation.md + - Configuration: configuration.md + - Architecture: architecture.md + - Playground: playground.md + - Commands: commands.md + - Transformers: + - built_in_transformers/index.md + - Standard transformers: + - built_in_transformers/standard_transformers/index.md + - Cmd: built_in_transformers/standard_transformers/cmd.md + - Dict: built_in_transformers/standard_transformers/dict.md + - Hash: built_in_transformers/standard_transformers/hash.md + - Masking: built_in_transformers/standard_transformers/masking.md + - NoiseDate: built_in_transformers/standard_transformers/noise_date.md + - NoiseFloat: built_in_transformers/standard_transformers/noise_float.md + - NoiseInt: built_in_transformers/standard_transformers/noise_int.md + - RandomBool: built_in_transformers/standard_transformers/random_bool.md + - RandomChoice: built_in_transformers/standard_transformers/random_choice.md + - RandomDate: built_in_transformers/standard_transformers/random_date.md + - RandomFloat: built_in_transformers/standard_transformers/random_float.md + - RandomInt: built_in_transformers/standard_transformers/random_int.md + - RandomString: built_in_transformers/standard_transformers/random_string.md + - RandomUuid: built_in_transformers/standard_transformers/random_uuid.md + - RandomLatitude: built_in_transformers/standard_transformers/random_latitude.md + - RandomLongitude: built_in_transformers/standard_transformers/random_longitude.md + - RandomUnixTime: built_in_transformers/standard_transformers/random_unix_time.md + - RandomDayOfWeek: built_in_transformers/standard_transformers/random_day_of_week.md + - RandomDayOfMonth: built_in_transformers/standard_transformers/random_day_of_month.md + - RandomMonthName: built_in_transformers/standard_transformers/random_month_name.md + - RandomYearString: built_in_transformers/standard_transformers/random_year_string.md + - RandomCentury: built_in_transformers/standard_transformers/random_century.md + - RandomTimezone: built_in_transformers/standard_transformers/random_timezone.md + - RandomEmail: built_in_transformers/standard_transformers/random_email.md + - RandomUsername: built_in_transformers/standard_transformers/random_username.md + - RandomPassword: built_in_transformers/standard_transformers/random_password.md + - RandomMacAddress: built_in_transformers/standard_transformers/random_mac_address.md + - RandomDomainName: built_in_transformers/standard_transformers/random_domain_name.md + - RandomURL: built_in_transformers/standard_transformers/random_url.md + - RandomIPv4: built_in_transformers/standard_transformers/random_ipv4.md + - RandomIPv6: built_in_transformers/standard_transformers/random_ipv6.md + - RandomWord: built_in_transformers/standard_transformers/random_word.md + - RandomSentence: built_in_transformers/standard_transformers/random_sentence.md + - RandomParagraph: built_in_transformers/standard_transformers/random_paragraph.md + - RandomCCType: built_in_transformers/standard_transformers/random_cc_type.md + - RandomCCNumber: built_in_transformers/standard_transformers/random_cc_number.md + - RandomCurrency: built_in_transformers/standard_transformers/random_currency.md + - RandomAmountWithCurrency: built_in_transformers/standard_transformers/random_amount_with_currency.md + - RandomName: built_in_transformers/standard_transformers/random_name.md + - RandomLastName: built_in_transformers/standard_transformers/random_last_name.md + - RandomFirstName: built_in_transformers/standard_transformers/random_first_name.md + - RandomFirstNameMale: built_in_transformers/standard_transformers/random_first_name_male.md + - RandomFirstNameFemale: built_in_transformers/standard_transformers/random_first_name_female.md + - RandomTitleMale: built_in_transformers/standard_transformers/random_title_male.md + - RandomTitleFemale: built_in_transformers/standard_transformers/random_title_female.md + - RandomPhoneNumber: built_in_transformers/standard_transformers/random_phone_number.md + - RandomTollFreePhoneNumber: built_in_transformers/standard_transformers/random_toll_free_phone_number.md + - RandomE164PhoneNumber: built_in_transformers/standard_transformers/random_e164_phone_number.md + - RealAddress: built_in_transformers/standard_transformers/real_address.md + - RegexpReplace: built_in_transformers/standard_transformers/regexp_replace.md + - Replace: built_in_transformers/standard_transformers/replace.md + - SetNull: built_in_transformers/standard_transformers/set_null.md + - Advanced transformers: + - built_in_transformers/advanced_transformers/index.md + - Json: built_in_transformers/advanced_transformers/json.md + - Template: built_in_transformers/advanced_transformers/template.md + - TemplateRecord: built_in_transformers/advanced_transformers/template_record.md + - Custom functions: + - built_in_transformers/advanced_transformers/custom_functions/index.md + - Core custom functions: built_in_transformers/advanced_transformers/custom_functions/core_functions.md + - Faker function: built_in_transformers/advanced_transformers/custom_functions/faker_function.md + - Release notes: + - Greenmask 0.1.5: release_notes/greenmask_0_1_5.md + - Greenmask 0.1.4: release_notes/greenmask_0_1_4.md + - Greenmask 0.1.3: release_notes/greenmask_0_1_3.md + - Greenmask 0.1.2: release_notes/greenmask_0_1_2.md + - Greenmask 0.1.1: release_notes/greenmask_0_1_1.md + - Greenmask 0.1.0: release_notes/greenmask_0_1_0.md + - Greenmask 0.1.0 Beta: release_notes/greenmask_0_1_0_beta.md + +repo_url: https://github.com/GreenmaskIO/greenmask +repo_name: GreenmaskIO/greenmask +site_url: https://greenmask.io +copyright: Copyright © 2024 Greenmask + + +extra: + # version: + # provider: mike + social: + - icon: fontawesome/brands/x-twitter + link: https://twitter.com/GreenmaskIO + - icon: fontawesome/brands/discord + link: https://discord.gg/97AKHdGD + - icon: fontawesome/brands/github + link: https://github.com/GreenmaskIO/greenmask + +plugins: + - social + - search diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..8d9fdc6a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,47 @@ +Babel==2.13.0 +beautifulsoup4==4.12.2 +cairocffi==1.6.1 +CairoSVG==2.7.1 +certifi==2023.7.22 +cffi==1.16.0 +charset-normalizer==3.3.0 +click==8.1.7 +colorama==0.4.6 +cssselect2==0.7.0 +defusedxml==0.7.1 +ghp-import==2.1.0 +gitdb==4.0.11 +GitPython==3.1.41 +idna==3.4 +Jinja2==3.1.3 +lxml==4.9.3 +Markdown==3.5 +MarkupSafe==2.1.3 +mergedeep==1.3.4 +mkdocs==1.5.3 +mkdocs-git-authors-plugin==0.7.2 +mkdocs-git-committers-plugin-2==1.2.0 +mkdocs-git-revision-date-localized-plugin==1.2.1 +mkdocs-material==9.4.6 +mkdocs-material-extensions==1.3 +packaging==23.2 +paginate==0.5.6 +pathspec==0.11.2 +Pillow==10.2.0 +platformdirs==3.11.0 +pycparser==2.21 +Pygments==2.16.1 +pymdown-extensions==10.3.1 +python-dateutil==2.8.2 +pytz==2023.3.post1 +PyYAML==6.0.1 +pyyaml_env_tag==0.1 +regex==2023.10.3 +requests==2.31.0 +six==1.16.0 +smmap==5.0.1 +soupsieve==2.5 +tinycss2==1.2.1 +urllib3==2.0.7 +watchdog==3.0.0 +webencodings==0.5.1