- app.py: API Flask con endpoints /health, /ingest, /query, /list - Dockerfile y docker-compose.yml para despliegue - init.sql para crear tabla margaret_log - Autenticacion via X-Auth-Key (h_instancia) - Almacenamiento en R2 y PostgreSQL Desplegado en CORP (92.112.181.188:5051)
80 lines
1.6 KiB
Markdown
80 lines
1.6 KiB
Markdown
# MARGARET
|
|
|
|

|
|
|
|
**Log de entrada CORP - Sistema TZZR**
|
|
|
|
## Rol
|
|
|
|
Secretaria de entrada para CORP (servidor empresarial). Variante de CLARA con funcionalidades adicionales.
|
|
|
|
## Posicion en el Flujo
|
|
|
|
```
|
|
PACKET (App) --> MARGARET --> MASON --> FELDMAN
|
|
|
|
|
└--> R2 (archivos)
|
|
```
|
|
|
|
## Endpoints
|
|
|
|
| Metodo | Ruta | Descripcion |
|
|
|--------|------|-------------|
|
|
| GET | `/health` | Estado del servicio |
|
|
| POST | `/ingest` | Recibir contenedor |
|
|
| GET | `/query/<h_entrada>` | Consultar por hash |
|
|
| GET | `/list` | Listar entradas |
|
|
|
|
## Autenticacion
|
|
|
|
Todas las rutas (excepto `/health`) requieren:
|
|
```
|
|
X-Auth-Key: {h_instancia}
|
|
```
|
|
|
|
## Despliegue
|
|
|
|
```bash
|
|
# En CORP
|
|
cd /opt/margaret
|
|
cp .env.example .env
|
|
# Editar .env con credenciales
|
|
docker compose up -d
|
|
```
|
|
|
|
## Configuracion
|
|
|
|
Ver `.env.example` para variables requeridas:
|
|
- `H_INSTANCIA`: Hash unico de CORP
|
|
- `DB_*`: Credenciales PostgreSQL
|
|
- `R2_*`: Credenciales Cloudflare R2
|
|
|
|
## Base de Datos
|
|
|
|
Ejecutar `init.sql` en PostgreSQL:
|
|
```bash
|
|
sudo -u postgres psql -d corp -f init.sql
|
|
```
|
|
|
|
## Comparacion
|
|
|
|
| Aspecto | CLARA (DECK) | MARGARET (CORP) |
|
|
|---------|--------------|-----------------|
|
|
| Servidor | Personal | Empresarial |
|
|
| Log | Inmutable | Inmutable |
|
|
| Puerto | 5051 | 5051 |
|
|
| Bucket R2 | deck | corp |
|
|
|
|
## Funcion
|
|
|
|
1. Recibe contenedor de PACKET
|
|
2. Envia archivos a R2
|
|
3. Registra metadata + ubicacion R2
|
|
4. **NO agrega informacion**
|
|
5. **NO procesa**
|
|
6. **NO modifica**
|
|
|
|
---
|
|
|
|
*Componente del sistema TZZR - Implementado 2025-12-24*
|