Blog

Noticias

Lanzamiento de Greenmask 0.1.0

Herramienta para volcado y ofuscación en PostgreSQL

Nos complace anunciar el lanzamiento de Greenmask v0.1.0, la primera versión lista para producción. Esta versión corrige varios errores, introduce mejoras e incluye una documentación rediseñada para ofrecer una mayor claridad.

Panorámica de Greenmask

Principales características
  • Soporte multiplataforma: Desarrollado en Go, Greenmask no depende de ninguna plataforma.
  • Operaciones de bases de datos con seguridad de tipos: Garantiza la validación y codificación de los datos, manteniendo su integridad.
  • Validación de la transformación: Garantiza transformaciones de datos correctas y sostenibles.
  • Soporte para tablas particionadas: Facilita la configuración de tablas particionadas.
  • Sin estado y compatible con versiones anteriores: Compatible con las aplicaciones estándar de PostgreSQL.
  • Ejecución en paralelo: Aumenta la eficacia de los procesos de volcado y recuperación.
  • Múltiples opciones de almacenamiento: Ofrece compatibilidad con soluciones de almacenamiento local y remoto.
Casos de uso
  • Perfecto para tareas ordinarias de respaldo y recuperación.
  • Ayuda a la anonimización y enmascaramiento de datos para entornos de ensayo y análisis.

Notas de la versión

Mejoras
  • Verbosidad mejorada en la interacción con transformadores personalizados, al acumular datos stderr y reenviarlos por lotes en lugar de escribirlos uno a uno.
  • Se han añadido argumentos posicionales para el comando list-transformers, lo cual permite recuperar información específica sobre transformadores (por ejemplo, greenmask list-transformers RandomDate).
  • Añadido el parámetro de versión –version que muestra la versión de la herramienta greenmask
  • Se ha añadido soporte para parámetros numéricos en los transformadores Int y Float, con la salvedad de que, en algunos casos, puede dar lugar a errores fuera de rango.
Cambios
  • Dependencias actualizadas a versiones más recientes.
  • Se ha mejorado la estabilidad del protocolo de interacción en línea JSON utilizando el codificador/decodificador JSON stdlib.
  • Modificado el método de envío de metadatos de tabla a transformadores personalizados; ahora, se envían a través de stdin en la primera línea en formato JSON en lugar de ser proporcionados a través de argumentos de comando.
  • Refactorización de la nomenclatura de las funciones de plantilla.
  • Nueva implementación del transformador NoiseDate para una mayor estabilidad y predictibilidad.
  • Se ha cambiado a true el valor por defecto del parámetro fail_not_matched del transformador Dict.
  • Transformador Hash reescrito, que ahora proporciona un parámetro de salt y recibe un salt codificado en base64. Si no se proporciona ningún salt, se generará uno aleatoriamente.
  • Se ha añadido un validador para los transformadores NoiseDate y RandomDate para el parámetro truncate, que emite una alerta si el valor proporcionado no es válido.
  • Increased verbosity of parameter validation warnings, now properly forwarding warnings to stdout.
Correcciones
  • Resuelto el problema de fuga de conexión en el controlador pgx.
  • Corregido el fallo de borrado de volcados para el almacenamiento S3.
  • Corregida la función de autocompletado cobra para la herramienta Greenmask.
  • Corrección para la validación de restricciones NOT NULL.
  • Resolución de problemas de interacción con la API JSON que anteriormente provocaban bloqueos y retrasos.
  • Corrección de la codificación y descodificación de los parámetros binarios, lo cual garantiza una transmisión precisa de los valores a los transformadores personalizados.
  • Corrección en el transformador RandomChoice para que realice correctamente el marshal y unmarshal de valores durante la validación.
  • Se ha introducido la propiedad Nullable en el transformador SetNull para mejorar la validación de restricciones NOT NULL.
  • Resueltos los problemas de ajuste de texto en el comando validate.
  • Corregidos los errores de compilación en Windows debidos a dependencias de la plataforma Linux.
  • Corrección de la lectura del búfer stdout readline durante la interacción con transformadores personalizados.
  • Corrección de las pruebas de integración.
Cambios en el ecosistema
  • Implementación de CI/CD para todo el proyecto.
  • Establecido un entorno de fácil uso en Docker-compose, que incluye:
  • Implementación del contenedor de almacenamiento Minio.
  • Contenedor PostgreSQL que contiene tanto la base de datos original (Adventure Works) como la transformada (BD vacía).
  • El propio contenedor de Greenmask.
  • Archivos readme actuales refactorizados.

Participación de la Comunidad

Valoramos enormemente los comentarios y sugerencias de la comunidad PostgreSQL. Sus ideas y pruebas son cruciales para mejorar la robustez y utilidad de Greenmask.

Enlaces útiles

Haz clic aquí para leer la noticia original en inglés en la página web oficial de PostgreSQL.