Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

schrodump

Schrodump es una herramienta de copias de seguridad lógicas verificadas para PostgreSQL, MySQL/MariaDB y MongoDB. Opera sin agente, usando contenedores efímeros, cifrado con age y retención GFS en destinos S3-compatible.

Ficha actualizada 25 sept 2026, 11:25 · upstream 25 sept 2026, 11:23 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es schrodump

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Schrodump redefine el concepto de copia de seguridad lógica al exigir que cada artefacto sea verificado mediante una restauración exitosa en una base de datos descartable antes de marcarlo como VERIFIED. El modelo de tres estados (VERIFIED, UNOBSERVED, FAILED) prioriza la transparencia sobre el éxito del proceso, mostrando abiertamente las copias sin observar para evitar falsos positivos por fallos silenciosos o credenciales limitadas.

La arquitectura monorepo en Node.js y TypeScript separa responsabilidades: core para lógica de dominio, engines para descripciones de motores, runner para ejecución efímera y storage para drivers S3. El servidor web utiliza Fastify + Prisma con una interfaz Next.js multilenguaje (inglés, portugués y español), permitiendo gestión centralizada sin instalar clientes en los servidores de base de datos objetivo.

La seguridad es explícita: las credenciales son write-only y cifradas con age a dos destinatarios (operativo y escrow), mientras que la clave de cifrado maestro (KEK) reside fuera del host para evitar pérdida catastrófica. El modo sealed permite custodia real, donde el servicio puede escribir artefactos sin poder leerlos, y las imágenes publicadas están firmadas con cosign y llevan SBOM para auditoría completa bajo licencia AGPL-3.0.

CASOS DE USO
  • Automatización de copias lógicas verificadas en entornos heterogéneos (PostgreSQL, MySQL, MongoDB).
  • Cumplimiento normativo GDPR/LGPD mediante cifrado por artefacto y retención GFS con exclusión de borrado.
  • Implementación en infraestructuras multi-nube o on-premise usando cualquier endpoint S3-compatible.
  • Auditoría de seguridad mediante separación de custodia (sealed mode) para evitar acceso no autorizado a datos sensibles.
PUNTOS DESTACADOS
  • Verificación por restauración real en lugar de solo checksums o éxito del proceso.
  • Agentless: ejecuta dumps en contenedores efímeros con versiones exactas de los motores de base de datos.
  • Cifrado al reposo con age y claves maestras (KEK) almacenadas fuera del host protegido.
  • Retención GFS que garantiza que nunca se elimina la copia más reciente verificada de una política.
  • Dashboard web multilenguaje que prioriza el número de copias sin observar sobre las exitosas.
PRECAUCIONES
  • Requiere Docker con plugin Compose instalado en el host de gestión.
  • El puerto está publicado solo en loopback, obligando a usar proxy TLS inverso para acceso externo.
  • Pérdida del archivo KEK implica pérdida irreversible de todos los backups cifrados almacenados.
  • Actualmente soporta solo copias lógicas; las físicas o PITR están en la hoja de ruta futura.
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

Generar el KEK con openssl rand -base64 32 y guardarlo fuera del host, ya que su pérdida elimina todos los backups. Usar un proxy TLS inverso (Caddy o nginx) delante del servicio para exponer el puerto públicamente de forma segura. En producción, fijar una versión exacta en SCHRODUMP_IMAGE en lugar de usar la etiqueta next.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.js
SERVICIOS
PostgreSQLMySQLMongoDBS3/MinIO
BASES DE DATOS
PostgreSQLMySQLMongoDB
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.