Show GN: TunnelForge - SSH 터널 + MySQL/PostgreSQL 덤프·복원·엔진 간 이전 데스크톱 앱 (MIT)
요약
Bastion 뒤의 MySQL 및 PostgreSQL 관리를 위한 데스크톱 앱 'TunnelForge'가 소개되었습니다. 이 앱은 SSH 터널링, SQL 편집기, 덤프/복원 기능을 통합 제공하며, 특히 MySQL과 PostgreSQL 간 엔진 이전 기능에 초점을 맞추었습니다.
핵심 포인트
- SSH 터널 관리와 DB 작업을 하나의 앱에서 처리 가능합니다.
- MySQL ↔ PostgreSQL 전환 시 원본 키 기반 검증을 수행합니다.
- UI는 Python/PyQt6, 핵심 로직은 Rust로 구현되었습니다.
- 덤프/복원 과정의 안정성을 높이기 위해 CI 게이트를 도입했습니다.
Bastion(점프 서버) 뒤에 있는 MySQL·PostgreSQL을 다룰 때 터널 열기, 쿼리, 덤프·복원, 엔진 간 이전을 한 앱에서 하려고 만든 데스크톱 앱입니다.
주요 기능
- SSH 터널 관리: bastion 경유/직접 연결, RSA·Ed25519·ECDSA 키, 그룹별 정리와 연결 상태 표시
- SQL 에디터: 테이블·컬럼 자동완성, 결과 표, 트랜잭션 제어
- 덤프/복원: 일부 테이블만 내보내면 FK 부모 테이블 자동 포함. 복원은 기본이 '안전 복원'(새 스키마에 복원 → 검증 → 교체)이고, 덮어쓰기도 검증을 통과한 뒤에만 교체합니다.
- MySQL ↔ PostgreSQL 전환: 사전 점검 → 계획 → 이전 → 원본 키 기준 검증 → 중단 지점부터 이어하기
만든 방식
UI는 Python/PyQt6, DB 작업은 전부 Rust 코어가 맡습니다. 코드는 대부분 AI 코딩 에이전트(Claude Code, Codex)로 작성했습니다. 그래서 검증에 공을 들였습니다. 덤프·복원·보안 테스트는 실제 MySQL·PostgreSQL 컨테이너를 띄운 CI 필수 게이트로 돌고, 통과하지 않으면 머지·배포가 막힙니다. 실사용 중 복원 도중 대상 DB에만 있던 FK 때문에 작업이 멈추고 테이블이 빈 채로 남은 사고가 있었고, 테이블 단위 복원으로 근본 수정했습니다.
한계와 보안
- Windows 설치 파일이 주력이고, macOS DMG는 CI 검증만 거친 베타입니다(실제 Mac 검증 전).
- Windows 설치 파일은 아직 코드 서명 전이라 SmartScreen 경고가 뜹니다(SignPath Foundation 무료 서명 신청 예정).
- 접속 정보는 로컬 설정 파일에 Fernet으로 암호화해 저장하지만, 키 파일도 같은 로컬 앱 데이터 폴더에 있어 OS 키체인 수준의 보호는 아닙니다.
- 사용 통계는 수집하지 않습니다. 앱 시작 시 새 버전 확인을 위해 GitHub Releases API를 호출하며(설정에서 끌 수 있음), 오류 보고는 동의한 경우에만 보냅니다.
받고 싶은 피드백
- 실제 DB에서 덤프/복원이나 엔진 간 이전이 깨지는 경우
- 자격증명 보관 방식에 대한 의견
설치 파일은 GitHub Releases에 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기