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

FinOps

🇪🇸 Español

The FinOps section (/en/finops/, /es/finops/) shows actual or amortized costs from Azure Cost Management. Data comes from Azure on demand; Goliat does not keep its own billing ledger.

What it shows

  • Month selector for the last twelve months (UTC), actual or amortized cost before taxes.
  • Subscription and currency filters. Currencies are never mixed.
  • Total spend, daily evolution and breakdown by resource, service, subscription or resource group.
  • Pie chart with the top five resources and the rest, with amounts and percentages.
  • Paginated, searchable detail by resource and service. Existing resources link to the inventory; deleted resources and charges without a resource keep their amounts.
  • Explicit states for loading, no data, access errors, throttling and partial results. Days without data are shown as gaps, never as zero.

Configuration

FINOPS_AUTH_MODE=default            # default | client-secret | managed-identity
FINOPS_SUBSCRIPTION_IDS=            # up to 20; empty reuses the inventory catalogue
  • Locally, default uses DefaultAzureCredential, which can use your az login session.
  • In Azure, the web managed identity is used. The deployment assigns Cost Management Reader on each inventory subscription.
  • EA, MCA or CSP billing policies may require additional access. See Cost Management permissions.

Limits

  • Private per-process cache, up to 10 minutes; partial results are kept for 30 seconds.
  • At most two concurrent queries per process, with four subscriptions in parallel each. Excess requests return 429 with Retry-After: 5.
  • Results are limited to 50 000 rows and 8 MiB; the cache to 16 MiB. Subscriptions over the limit are reported as unavailable, never as zero cost.
  • Amounts for the current month are estimates and can be revised by Azure.

Budgets, forecasts, savings recommendations and cost allocation by current tags are not implemented.

Full reference: docs/finops.md.

Clone this wiki locally