Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

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.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Go
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
40005432
06

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.