Tenax¶
Tenax는 Kubernetes에서 실행되는 Postgres와 MySQL 데이터베이스를 S3 버킷 어디에든 백업하고, 모든 변경 사항을 스트리밍하며, 보존 기간 안의 어떤 초든 일회용 샌드박스, 새 데이터베이스, 또는 제자리로 복원합니다. 모든 것이 Kubernetes 리소스이고, 모든 오브젝트는 파드를 떠나기 전에 암호화되며, 데이터는 단기 Job에서만 이동합니다.
-
빠른 시작
차트를 설치하고, Tenax가 버킷을 가리키게 한 뒤, 첫 데이터베이스를 선언하고 복원해 보세요. 약 10분이면 됩니다.
-
복원
시각이나 백업, 그리고 복원 위치를 고르세요: 샌드박스, 새 데이터베이스, 다운로드, 또는 제자리.
-
커스텀 리소스
BackupStore,BackupPolicy,BackupTarget,Backup,Restore,Sandbox의 모든 필드. -
REST API
콘솔과 CLI 뒤에 있는 JSON API로, OpenAPI 문서에서 생성됩니다.
-
CLI
노트북에서 쓰는 명령어 하나: Windows에서는
winget install TheRepublic.Tenax, macOS와 Linux에서는 단일 바이너리. -
온콜
각 알림의 의미와 대응 방법. Tenax 자체가 다운되었을 때의 복원 방법도 포함합니다.
한눈에 보기¶
| 영역 | 세부 내용 |
|---|---|
| 엔진 | Postgres 15, 16, 17 (PostGIS 포함): 물리 또는 논리 백업과 WAL 스트리밍. MySQL 8.4: 논리 백업과 binlog 스트리밍. |
| 스토리지 | 모든 S3 호환 버킷. 클라이언트 측 zstd 압축(기본값으로 켜짐)과 age 암호화, 병렬 멀티파트 업로드, 매니페스트는 마지막에 기록. |
| 복원 | 특정 시점 복원 가능 기간 안의 어떤 초든, 또는 보존된 어떤 백업이든 샌드박스, 새 데이터베이스, 다운로드, 제자리로 복원. |
| 안전성 | SQL 검사를 포함한 예약 검증 복원, Prometheus 알림, Grafana 대시보드, 백업 도중 Tenax를 종료하는 카오스 테스트 스위트. |
| 리소스 사용량 | 컨트롤러, API와 콘솔, 데이터 mover, CLI를 위한 정적 바이너리 하나. 백업 사이에는 무거운 것이 실행되지 않습니다. |
| 접근 | 콘솔과 CLI는 하나의 JSON API(OpenAPI)를 사용: kubectl port-forward를 통하거나, 역할이 있는 Cloudflare Access 뒤에서. 모든 쓰기와 쿼리는 감사 로그에 기록됩니다. |