그린마스크 v0.1.0 출시
게시일2024-01-11작성: 토토 결과.io
관련 오픈소스
PostgreSQL 덤프 및 난독화 도구
우리는 최초의 생산 준비 버전인 Greenmask v0.1.0의 출시를 발표하게 되어 기쁘게 생각합니다. 이 릴리스에서는 다양한 버그 수정을 해결하고 개선 사항을 도입했으며 명확성을 높이기 위한 문서 리팩토링을 포함합니다.
그린마스크 개요
주요 기능
- 교차 플랫폼 지원: Go로 개발된 Greenmask는 플랫폼 종속성이 없습니다.
- 유형 안전 데이터베이스 작업: 데이터 검증 및 인코딩을 보장하고 무결성을 유지합니다.
- 변환 검증: 정확하고 유지 관리 가능한 데이터 변환을 보장합니다.
- 분할된 테이블 지원: 분할된 테이블의 구성이 용이합니다.
- 상태 비저장 및 이전 버전과 호환: 표준 PostgreSQL 유틸리티와 호환됩니다.
- 병렬 실행: 덤프 및 복원 프로세스의 효율성을 높입니다.
- 다중 저장소 옵션: 로컬 및 원격 저장소 솔루션을 모두 지원합니다.
사용 사례
- 일상적인 백업 및 복원 작업에 적합합니다.
- 스테이징 환경 및 분석을 위한 익명화 및 데이터 마스킹을 지원합니다.
출시 노트
개선사항
- 사용자 정의 변환기 상호 작용의 자세한 정보가 향상되어 stderr 데이터를 축적하고 하나씩 작성하는 대신 일괄적으로 전달합니다.
- list-transformers 명령에 위치 인수를 추가하여 특정 변환기 정보 검색을 허용합니다(예:
토토 결과 list-transformers RandomDate).
- 버전 매개변수 추가 --그린마스크 유틸리티 버전을 인쇄하는 버전
- Int 및 Float 변환기에 대한 숫자 매개변수 지원이 추가되었으며, 경우에 따라 범위를 벗어난 오류가 발생할 수 있다는 주의사항이 있습니다.
변경사항
- 최신 버전으로 종속성을 업데이트했습니다.
- stdlib JSON 인코더/디코더를 활용하여 JSON 라인 상호 작용 프로토콜의 안정성을 향상했습니다.
- 테이블 메타데이터를 사용자 정의 변환기로 보내는 방법을 수정했습니다. 이제 명령 인수를 통해 제공하는 대신 JSON 형식의 첫 번째 줄에서 stdin을 통해 전송됩니다.
- 템플릿 함수 이름 지정을 리팩터링했습니다.
- 향상된 안정성과 예측 가능성을 위해 NoiseDate 변환기 구현을 다시 작성했습니다.
- Dict 변환기 failure_not_matched 매개변수의 기본값을 true로 변경했습니다.
- 해시 변환기를 다시 작성하여 이제 솔트 매개변수를 제공하고 base64로 인코딩된 솔트를 수신합니다. 솔트가 제공되지 않으면 무작위로 생성됩니다.
- 잘린 매개변수에 대한 NoiseDate 및 RandomDate 변환기에 대한 유효성 검사기를 추가하여 제공된 값이 유효하지 않은 경우 경고를 발행합니다.
- 매개변수 유효성 검사 경고의 자세한 내용이 증가하여 이제 경고를 stdout에 적절하게 전달합니다.
수정 사항
- pgx 드라이버 연결 누출 문제를 해결했습니다.
- S3 저장소에 대한 덤프 삭제 실패를 수정했습니다.
- 토토 결과 유틸리티의 코브라 자동 완성을 수정했습니다.
- NOT NULL 제약 조건 검증을 수정했습니다.
- 이전에 교착 상태 및 시간 초과를 발생시켰던 JSON API 상호 작용 문제를 해결했습니다.
- 바이너리 매개변수에 대한 인코딩 디코딩을 수정하여 사용자 정의 변환기에 값을 정확하게 전달할 수 있습니다.
- 검증 중에 값을 올바르게 마샬링 및 언마샬링하도록 RandomChoice 변환기를 수정했습니다.
- NOT NULL 제약 조건 유효성 검사를 강화하기 위해 SetNull 변환기에 Nullable 속성을 도입했습니다.
- validate 명령의 텍스트 줄 바꿈 문제를 해결했습니다.
- Linux 플랫폼 종속성으로 인해 Windows에서 빌드 실패를 수정했습니다.
- 사용자 정의 변환기와 상호 작용하는 동안 stdout readline 버퍼 읽기를 수정했습니다.
- 고정 통합 테스트.
생태계 변화
- 전체 프로젝트에 CI/CD를 구현했습니다.
- Docker-compose에서 다음을 포함하여 사용자 친화적인 플레이그라운드를 구축했습니다.
- Minio 저장 컨테이너를 배포했습니다.
- 원래 데이터베이스(Adventure Works)와 변환된(빈 DB)를 모두 포함하는 PostgreSQL 컨테이너.
- 그린마스크 컨테이너 자체.
- 현재 readme 파일을 리팩터링했습니다.
커뮤니티 참여
우리는 PostgreSQL 커뮤니티의 피드백과 제안을 매우 소중하게 생각합니다. 귀하의 통찰력과 테스트는 Greenmask의 견고성과 유용성을 향상하는 데 매우 중요합니다.
유용한 링크