Saltar a contenido

Entornos

Matriz de entornos

Entorno Rama Propósito Infraestructura
Local cualquiera Desarrollo Herd / php artisan serve, PostgreSQL y Redis locales
Testing testing Integración y QA AWS ECS Fargate + RDS + ElastiCache
Staging staging Validación previa a producción AWS ECS Fargate + RDS + ElastiCache
Producción master Clientes reales AWS ECS Fargate + RDS + ElastiCache

Completar URLs, cuentas de AWS y dominios reales en la tabla de accesos interna del equipo. No guardar secretos en este repositorio.

Servicios AWS

  • ECR: imágenes Docker por proyecto.
  • ECS Fargate: runtime de los servicios web y workers.
  • RDS PostgreSQL: base de datos principal.
  • ElastiCache Redis: caché, sesiones y WebSocket de saldo.
  • SQS: colas de trabajos y eventos.
  • S3: assets, exportaciones y resultados de Athena.
  • Athena: consultas de reportes.
  • Secrets Manager: credenciales y variables sensibles.
  • CodeBuild / CodePipeline: build y deploy.
  • Cloudflare + ALB: entrada, TLS y proxy.

Variables de entorno

Cada proyecto tiene su .env.example como referencia. Las reglas comunes:

  • APP_URL y APP_ENV deben coincidir con el entorno.
  • DB_* apunta a PostgreSQL; DB_SCHEMA es site en la plataforma y api en slots.
  • QUEUE_CONNECTION es database en local y sqs en producción.
  • CACHE_STORE es redis en entornos desplegados.
  • OCTANE_SERVER es frankenphp en la plataforma y roadrunner en slots.
  • Los secretos se inyectan desde Secrets Manager, nunca en el repositorio.

Ramas y releases

  • testing: integración diaria.
  • staging: validación previa a producción.
  • master: producción.
  • Releases con semver y CHANGELOG.md por proyecto.
  • No se modifica una migración ya publicada.

Accesos

Los accesos a AWS, GitHub, base de datos, Redis y proveedores se gestionan fuera de este repositorio. Para solicitar acceso, contactar al responsable de plataforma.

Pendiente de completar

  • URLs de testing, staging y producción.
  • IDs de cuenta AWS y región por entorno.
  • Rutas de Secrets Manager.
  • Responsable por proyecto.