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.