- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
80 lines
1.6 KiB
Markdown
80 lines
1.6 KiB
Markdown
---
|
|
id: "ADR-007"
|
|
title: "Storage Abstraction Layer"
|
|
type: "ADR"
|
|
status: "Accepted"
|
|
priority: "P0"
|
|
supersedes: "N/A"
|
|
superseded_by: "N/A"
|
|
version: "1.0.0"
|
|
created_date: "2026-01-10"
|
|
updated_date: "2026-01-10"
|
|
---
|
|
|
|
# ADR-007: Storage Abstraction Layer
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| ID | ADR-007 |
|
|
| Estado | Accepted |
|
|
| Fecha | 2026-01-10 |
|
|
| Supersede | N/A |
|
|
|
|
## Contexto
|
|
|
|
Se necesita soporte para multiples providers de storage (S3, R2, MinIO) con:
|
|
- Posibilidad de cambiar entre providers segun costos o disponibilidad
|
|
- Migracion sin cambios de codigo
|
|
- Soporte multi-tenant con aislamiento
|
|
|
|
## Opciones Consideradas
|
|
|
|
### Opcion 1: AWS SDK Solo
|
|
|
|
**Pros:** Nativo, bien documentado
|
|
**Contras:** Vendor lock-in
|
|
|
|
### Opcion 2: Abstraccion Propia
|
|
|
|
**Pros:** Control total
|
|
**Contras:** Mayor mantenimiento
|
|
|
|
### Opcion 3: AWS SDK v3 S3-Compatible (Elegida)
|
|
|
|
**Pros:** Cualquier storage S3-compatible funciona
|
|
**Contras:** Limitado a protocolo S3
|
|
|
|
## Decision
|
|
|
|
**Usamos AWS SDK v3 con configuracion S3-compatible** permitiendo conectar S3, R2, MinIO sin cambios de codigo.
|
|
|
|
## Implementacion
|
|
|
|
```typescript
|
|
const s3Client = new S3Client({
|
|
endpoint: process.env.STORAGE_ENDPOINT,
|
|
credentials: {
|
|
accessKeyId: process.env.STORAGE_ACCESS_KEY,
|
|
secretAccessKey: process.env.STORAGE_SECRET_KEY
|
|
},
|
|
forcePathStyle: true // Necesario para MinIO
|
|
});
|
|
```
|
|
|
|
## Consecuencias
|
|
|
|
### Positivas
|
|
- Cualquier storage S3-compatible funciona
|
|
- Migracion sin cambios de codigo
|
|
|
|
### Negativas
|
|
- Limitado a protocolo S3
|
|
- No aprovecha features especificos de cada provider
|
|
|
|
---
|
|
|
|
**Fecha decision:** 2026-01-10
|
|
**Autores:** Claude Code (Arquitectura)
|