#!/bin/sh # ============================================================================= # Horux Strategy - Script de Inicializacion MinIO # ============================================================================= # Este script crea los buckets necesarios para el almacenamiento de archivos # en MinIO (compatible con S3). # # Buckets creados: # - horux-reports: Reportes financieros generados (PDF, Excel) # - horux-attachments: Adjuntos de documentos (facturas, comprobantes) # - horux-exports: Exportaciones de datos (CSV, JSON) # ============================================================================= set -e echo "=============================================" echo "Horux Strategy - Inicializando MinIO" echo "=============================================" # Esperar a que MinIO este completamente listo echo "[1/5] Esperando a que MinIO este listo..." sleep 5 # Configurar el cliente mc para conectarse a MinIO echo "[2/5] Configurando cliente MinIO..." mc alias set horux http://minio:9000 "${MINIO_ROOT_USER}" "${MINIO_ROOT_PASSWORD}" # Verificar conexion echo "[3/5] Verificando conexion..." mc admin info horux # Crear buckets echo "[4/5] Creando buckets..." # Bucket para reportes financieros # Almacena: PDFs de estados financieros, reportes de KPIs, dashboards exportados if ! mc ls horux/horux-reports > /dev/null 2>&1; then mc mb horux/horux-reports echo " - Bucket 'horux-reports' creado" else echo " - Bucket 'horux-reports' ya existe" fi # Bucket para adjuntos de documentos # Almacena: Facturas escaneadas, XMLs del SAT, comprobantes bancarios if ! mc ls horux/horux-attachments > /dev/null 2>&1; then mc mb horux/horux-attachments echo " - Bucket 'horux-attachments' creado" else echo " - Bucket 'horux-attachments' ya existe" fi # Bucket para exportaciones de datos # Almacena: Exports de datos en CSV/JSON, backups de configuracion if ! mc ls horux/horux-exports > /dev/null 2>&1; then mc mb horux/horux-exports echo " - Bucket 'horux-exports' creado" else echo " - Bucket 'horux-exports' ya existe" fi # Configurar politicas de acceso (opcional) echo "[5/5] Configurando politicas de acceso..." # Politica de retencion para reportes (30 dias minimo) # mc ilm add horux/horux-reports --expire-days 365 # Los attachments pueden ser de solo lectura para usuarios # mc anonymous set download horux/horux-attachments echo "=============================================" echo "MinIO inicializado correctamente!" echo "=============================================" echo "Buckets disponibles:" mc ls horux echo "=============================================" echo "" echo "Acceso a la consola web:" echo " URL: http://localhost:9001" echo " Usuario: ${MINIO_ROOT_USER}" echo " Password: ${MINIO_ROOT_PASSWORD}" echo "============================================="