Релиз инструмента для анонимизации баз данных nxs-data-anonymizer 1.4.0

Опубликован nxs-data-anonymizer 1.4.0 – инструмент для анонимизации дампа баз данных PostgreSQL и MySQL/MariaDB/Percona. Утилита поддерживает анонимизацию данных на основе шаблонов и функций библиотеки Sprig. Среди прочего, для заполнения можно использовать значения других столбцов для той же строки. Допустимо использовать инструмент через неименованные каналы (pipe) в командной строке и перенаправить дамп из исходной БД непосредственно в целевую БД с необходимыми преобразованиями. Инструмент написан на языке Go и выпускается под лицензией Apache License 2.0.

Менее чем за год после первого релиза версии 1.0.0, в инструменте появились следующие возможности:

  • Добавлена функция фильтров для работы со значениями null.
  • Реализована команда -l/–log-format, позволяющая выбрать формат логирования (json или plain).
  • Добавлена индикация процесса анонимизации – через указанные промежутки выводятся данные о прогрессе выполнения операции.
  • В версии 1.4 появилась возможность задавать значения полей с помощью внешних команд, через добавление в значение столбца “type: command”. Например: filters: some_table_name: columns: some_column_name: type: command value: /path/to/command/or/script.sh

    Если для столбца указано “type: command”, то значение поля value воспринимается как файловых путь к команде, которая будет запущена каждый раз для этого поля. Во время выполнения команды будут доступны дополнительные переменные окружения:

    • ENVVARTABLE={TABLE_NAME}: содержит имя фильтруемой таблицы
    • ENVVARCOLUMN_{COLUMN_NAME}={COLUMN_VALUE}: содержит все столбцы и их значения (до замены) для текущей фильтруемой строки
      Stdout команды считается за новое значение фильтруемого поля.
Release. Ссылка here.