> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datasnap.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# DataSnap Bridge

> Sincronização automática e segura de logs e bancos de dados para sua nuvem.

O **DataSnap Bridge** é o utilitário oficial de linha de comando (CLI) projetado para simplificar a ingestão de dados na plataforma DataSnap. Ele atua como uma ponte segura entre seus servidores locais e a infraestrutura DataSnap na nuvem.

## ✨ Principais Recursos

* **Configuração Zero-Code**: Conecte bancos de dados e logs sem escrever scripts de integração.
* **Segurança Máxima**: Criptografia **AES-GCM 256-bit** para todas as credenciais sensíveis armazenadas localmente.
* **Conectores Nativos**: Suporte para MySQL, PostgreSQL e logs do framework Laravel.
* **Sincronização Incremental**: Detecta automaticamente novos registros (Deltas) via Chave Primária ou Timestamps.
* **Modo Dry-Run**: Teste suas migrações e veja exatamente o que será enviado antes do upload real.
* **Automatizável**: Pronto para ser executado via Cron Jobs ou pipelines de CI/CD.

## 🚀 Início Rápido

### Instalação

O Bridge requer **Python 3.9+** e pode ser instalado rapidamente:

> **Nota para Ubuntu/Debian**: Se o Python ou o assistente de ambiente virtual não estiverem instalados, execute:
> `sudo apt update && sudo apt install -y python3 python3-pip python3-venv`

```bash theme={null}
# Clone o repositório
git clone https://github.com/datasnap-cloud/bridge
cd bridge

# Crie e ative o ambiente virtual
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# No Windows: venv\Scripts\activate

# Instale as dependências
pip install -r requirements.txt
```

### Configuração Interativa

O comando `setup` fornece uma interface de terminal (TUI) para configurar tudo o que você precisa:

```bash theme={null}
python cli.py setup
```

No menu, você poderá:

1. Cadastrar sua **API Key** da DataSnap.
2. Adicionar suas **Fontes de Dados** (Bancos de dados).
3. **Vincular Tabelas** aos seus Schemas da DataSnap.

### Executando a Sincronização

Após configurar os mapeamentos, você pode sincronizar tudo com um único comando:

```bash theme={null}
# Sincronizar todos os mapeamentos configurados
python cli.py sync --all

# Sincronizar um mapeamento específico
python cli.py sync --mapping meu_banco.usuarios
```

## 🔒 Segurança e Privacidade

A segurança é o pilar central do Bridge. Ao contrário de outras ferramentas que exigem que você envie suas senhas de banco de dados para a nuvem, o Bridge as mantém **apenas no seu servidor**.

* **Criptografia Local**: Suas API Keys e senhas de banco são criptografadas com uma chave derivada do seu ambiente.
* **Zero-Knowledge**: A DataSnap Cloud nunca tem acesso às suas credenciais de banco de dados original.
* **Trânsito Seguro**: Todos os dados são enviados via HTTPS com TLS 1.2+.

## 📊 Fontes de Dados Suportadas

| Fonte            | Descrição                                                                                        |
| :--------------- | :----------------------------------------------------------------------------------------------- |
| **MySQL**        | Suporte total para InnoDB e MyISAM, incluindo réplicas de leitura.                               |
| **PostgreSQL**   | Conectividade robusta com suporte a schemas complexos.                                           |
| **Laravel Logs** | Parser inteligente para arquivos `laravel.log`, transformando logs textuais em JSON estruturado. |
| **S3 (Roadmap)** | Sincronização direta de buckets S3 e compatíveis.                                                |

## ⏰ Automação

Para manter seus dados sempre atualizados, recomendamos configurar um agendamento simples:

```bash theme={null}
# Exemplo de Cron (a cada 15 minutos)
*/15 * * * * cd /caminho/para/bridge && python cli.py sync --all >> sync.log 2>&1
```

***

> **Dica**: Use o comando `python cli.py status` a qualquer momento para verificar a saúde da sua conexão com a DataSnap API.
