c3x-pricing-api
API open-source autoalojada para precios cloud de AWS, Azure y GCP con endpoint GraphQL sobre PostgreSQL. Escrapea datos públicos directamente desde las APIs de proveedores y sirve respuestas versionadas con middleware de producción.
Ficha actualizada 22 sept 2026, 17:13 · upstream 22 sept 2026, 16:53 · release v1.1.4
Qué es c3x-pricing-api
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
C3X Pricing API es una solución open-source para obtener precios de servicios cloud de AWS, Azure y Google Cloud mediante un endpoint GraphQL autoalojado. El proyecto está escrito en Go y utiliza PostgreSQL como base de datos persistente con esquema versionado.
La arquitectura incluye middleware de producción: limitación de tasa, autenticación por clave API, CORS, recuperación ante pánicos y validación GraphQL basada en AST. Los scrapes son invocaciones CLI one-shot protegidas por locks de advisory de PostgreSQL para evitar ejecuciones superpuestas.
El proyecto ofrece despliegues opinados para Docker Compose local con cron sidecar, Kubernetes con CronJobs por proveedor, y GitHub Actions contra Postgres alojado. Incluye probes de salud (/healthz, /readyz) y soporte para métricas separadas.
- Integración con C3X CLI para estimaciones de costes en archivos Terraform
- API GraphQL batched para consultas multi-proveedor en una sola petición
- Autoalojado con cron jobs programados para scrapes periódicos de precios
- Endpoint /status para monitorizar frescura de datos por proveedor cloud
- Despliegue en Kubernetes con per-vendor CronJobs y PostgreSQL persistente
- Single binary Go con tres subcommands (serve, scrape, seed)
- Middleware de producción: rate limiting, auth, CORS, panic recovery, AST-based GraphQL validation
- PostgreSQL-backed con esquema versionado y tabla scrape_runs para tracking por proveedor
- Scrapes one-shot protegidos por advisory lock para evitar ejecuciones concurrentes inseguras
- SHA-256 hashing (no MD5), timing-safe API key comparison, graceful shutdown on SIGTERM
- GCP requiere API key gratuito del Google Cloud Console para scraping
- AWS y Azure son públicos sin auth, pero GCP necesita configuración adicional
- No soporta one-click deployment (requires manual env setup)
- Rate limiting per IP puede necesitar proxy inverso como Cloudflare para producción
- CNY_USD_RATE hardcoded en 6.2069 requiere actualización manual si cambia
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere PostgreSQL con DATABASE_URL obligatorio. Para producción, configure API_KEY no vacío y use TRUSTED_PROXIES si está detrás de Cloudflare. Use deploy/compose/ para dev local o deploy/k8s/ para Kubernetes. Los scrapes se ejecutan vía CLI: docker compose exec api ./c3x-pricing-api scrape --vendor aws|azure|gcp|all. Actualice CNY_USD_RATE si el tipo de cambio cambia.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.