Espacio Público · Datos
  • Inicio
  • Explorar
    • Catálogo
    • Gráficos
    • Dashboard
    • Mapas
    • Reportes
    • Monitoreo
    • Workbench
    • Herramientas
  • Proyecto
  • Documentación
  • API
    • Endpoint base
    • OpenAPI
    • Estado
  1. Infraestructura
  2. Arquitectura general
  • Plataforma de Datos · ep.illanes00.cl
  • Lanzamientos
    • Changelog
  • Infraestructura
    • Arquitectura general
    • Operación y despliegue
    • Seguridad y cumplimiento
  • API & Catálogo
    • Catálogo de la API REST
    • Catálogo de datos
    • Monitoreo de la API
    • Catálogo DIPRES (Raw)
  • Datos & ETL
    • Procesos ETL
    • Diseño de esquema y pipelines
    • Data Workbench
  • Planificación
    • Backlog Técnico y Roadmap
    • Backlog Quarto
  • Guías
    • Entornos y despliegue
    • INIT · Bootstrap del proyecto
    • AGENTS · Roles y responsabilidades

En esta página

  • Arquitectura general
    • Capas
    • Entornos
    • Servicios del VPS
    • Flujos CI/CD

Otros formatos

  • MS Word
  • Github (GFM)
  • PDF
  1. Infraestructura
  2. Arquitectura general

Arquitectura general

Capas

  1. Frontend (Quarto): sitio estático que consume la API y publica catálogos/documentación.
  2. API (FastAPI): endpoints REST bajo /api/0.6.9.
  3. ETL (Python + SQL): ingesta, limpieza y publicación en capas raw → bronze → silver → gold.
  4. Datos: PostgreSQL 14 como data warehouse principal.

El frontend se prepara con Quarto (make build-ui) y sus artefactos estáticos (frontend/_site/) se sirven directamente desde FastAPI mediante StaticFiles.

Entornos

Entorno Branch Host Descripción
Producción main ep.illanes00.cl Servicio estable supervisado por systemd.
Staging staging staging.ep.illanes00.cl (pendiente) Validación previa al release.
Desarrollo feat/* localhost Iteraciones locales.

Servicios del VPS

  • illanes00-ep.service: corre Uvicorn (.venv/bin/python + FastAPI).
  • postgresql@14-main: almacena todas las capas de datos.
  • caddy.service: reverse proxy TLS → 127.0.0.1:8107.

Flujos CI/CD

  1. Pull request → CI (lint + tests + migraciones).
  2. Merge a main → GitHub Actions → despliegue por SSH (make migrate, make seed_min, restart, smoke tests).
  3. Monitoreo: /healthz, /api/0.6.9/health, /api/0.6.9/hello.
Volver arriba
Descargar HTML Descargar PDF
Changelog
Operación y despliegue