Skip to content
Daniel J. Saldaña edited this page Oct 29, 2026 · 2 revisions

Goliat - Cloud Inventory

🇪🇸 Español

Goliat is a self-hosted Microsoft Azure inventory and FinOps dashboard. An Azure Function collects the resources of one or more subscriptions through Azure Resource Graph and ARM, publishes a single JSON snapshot to Blob Storage, and a Next.js backend imports it into PostgreSQL. The web UI, in English and Spanish, offers 73 views across 12 service groups, interactive charts, global search, tag management, cost analysis from Azure Cost Management and an administration panel for the collector.

Start here

I want to… Read
Run Goliat on my machine with fake data Getting Started
Understand how the pieces fit together Architecture
Configure environment variables Configuration
Choose demo login or Microsoft Entra ID Authentication and Roles
Deploy everything to Azure Deploying to Azure
Collect a real inventory Inventory Collector
Know which Azure services are covered Inventory Views
Analyse costs FinOps
Operate the collector, schedule and tags Administration
Run it in containers Docker
Contribute or run the tests Development and Testing
Review the security model Security
Fix a problem Troubleshooting
Learn about the static website and its demo Product Website

Key ideas

  • Read-only collection. The collector uses Reader permissions and management-plane APIs. It never reads blob contents, Key Vault secrets, account keys or connection strings.
  • Atomic snapshots. Each import is one PostgreSQL transaction. A failed import keeps the previous snapshot, and the same blob ETag is never imported twice.
  • Server-side credentials. The browser only talks to the backend; cloud and database credentials never reach it.
  • Honest data. Missing metrics, insufficient permissions and partial cost results are shown as unavailable, never as zero.

The wiki is a guided overview. The detailed reference lives in the repository: README, docs/, iac/ and functions/. Most reference documents are written in Spanish.

Clone this wiki locally