MinIO (Tier 0 – Fundação)¶
Finalidade: Armazenamento de objetos compatível com S3 para o Lake (bronze/silver/gold).
Imagem¶
- Docker image:
minio/minio:RELEASE.2025-09-07T16-13-09Z(fixa nodocker-compose.yml).
Configuração¶
- Variáveis do
.env:MINIO_ROOT_USER,MINIO_ROOT_PASSWORD,MINIO_SERVER_URL,MINIO_BROWSER_REDIRECT_URL,MINIO_PORT_API,MINIO_PORT_CONSOLE. - Bind mount:
${DATA_DIR}/minio→/data(contém os bucketslakehouseestorage). - Template de policy:
/templates/minio/policy-readonly.json.tpl→/config/minio/policy-readonly.json. - Healthcheck:
GET /minio/health/liveno container. - MinIO Client (mc) fixo para testes e backups dentro da rede do Compose.
Buckets Padrão¶
MINIO_BUCKET(padrãolakehouse): Warehouse Delta ems3a://lakehouse/warehouse.MINIO_STORAGE_BUCKET(padrãostorage): Bucket de staging para CSV/XLSX/ZIP antes da ingestão.
Como é gerado¶
- Comando:
python3 flumen config --service miniorenderiza templates em/config/minio/usando envsubst (local ou via Docker).
Validação¶
# Aguardar saúde
python3 flumen health --service minio
# Smoke test: criar bucket, enviar e ler um arquivo
python3 flumen test --service minio
# Persistência: reiniciar e verificar objeto
python3 flumen test --service minio --persistence
Endpoints úteis¶
- API:
http://localhost:9000 - Console/UI:
http://localhost:9001