Skip to content

Releases: mathumathi-v/finops-cloud

v0.5.0 — Multi-Account, Pattern-Based Waste Detection, Token Optimization

Choose a tag to compare

@mathumathi-v mathumathi-v released this 07 Apr 20:12

What's New

Multi-Account Support

  • Configure multiple AWS accounts, GCP projects, Azure subscriptions, OCI compartments per provider
  • All analysis commands accept --account-id to filter by a specific account
  • Backward-compatible: old single-account config format auto-migrates

Pattern-Based Waste Detection (12 Rules)

Previously 6 state-only checks. Now 12 rules including pattern analysis over 14-day metrics:

Rule Resource Types
Idle instance (avg + P95 CPU) EC2, GCE, VMs, Compute
Off-hours idle (weekday vs weekend) EC2, GCE, VMs, Compute
Declining CPU trend EC2, GCE, VMs, Compute
Duration-aware stopped instances EC2, GCE, VMs, Compute
Idle database (connections + CPU) RDS, CloudSQL, AzureSQL, AutonomousDB
Idle load balancer (zero requests) ELB/ALB, Azure LB, GCP LB, OCI LB
Idle NAT Gateway (traffic bytes) NAT Gateway
Idle attached disk (zero IOPS) EBS
Zero-invocation function Lambda, Cloud Functions, Function Apps
Unattached disk EBS, PD, ManagedDisk, BlockVolume
Unused Elastic IP ElasticIP
Stopped database RDS, CloudSQL, AzureSQL, AutonomousDB

Resource ID / ARN in Output

  • top-cost now shows Resource ID/ARN, Service, Region, State columns
  • find-waste shows full Resource ID/ARN + description
  • explain-bill includes per-resource IDs in fallback output
  • JSON output includes all fields via asdict()

Idempotent Data Collection

  • Unique indexes on natural keys prevent duplicate rows
  • INSERT OR REPLACE — safe to run finops collect repeatedly
  • Running collect 10 times = same data as running once

LLM Token Optimization (69% reduction)

  • Field projection: strips metadata, tags, cpu_daily_values before sending to LLM
  • Anomaly aggregation: 14 daily spikes → 1 grouped entry
  • Compact JSON: no indentation
  • Smart truncation: drops lowest-priority sections instead of cutting mid-JSON
  • Response cap: 2000 → 1024 max_tokens

Other

  • Python 3.10+ compatibility (datetime.UTC → timezone.utc)
  • CI/CD: GitHub Actions workflow auto-publishes Docker image on release
  • Metrics collection for databases, load balancers, NAT gateways, EBS, Lambda, S3

Docker

docker pull mathumathi247/finops-agent:0.5.0
docker pull mathumathi247/finops-agent:latest

Full Changelog

v0.4.0...v0.5.0

v0.4.0 — 20 New Resource Collectors, Dynamic Pricing, CPU Waste Detection

Choose a tag to compare

@mathumathi-v mathumathi-v released this 01 Apr 19:33

What's New in v0.4.0

20 New Resource Collectors

AWS (6 new) Azure (5 new) GCP (6 new) OCI (2 new)
RDS SQL Databases Cloud SQL Autonomous DB
S3 Function Apps GCS Buckets Object Storage
Lambda VPN Gateways Cloud Run
VPN CDN Profiles Cloud Functions
CloudFront Cosmos DB BigQuery
API Gateway Pub/Sub

AWS Pricing Fix

All AWS resources now have cost estimates (previously $0.00).

Dynamic Pricing API Integration

Live pricing with caching and hardcoded fallback: AWS Pricing API, Azure Retail Prices, GCP Cloud Billing Catalog.

CPU-Based Idle Instance Detection

CloudWatch / Azure Monitor / GCP Monitoring / OCI Monitoring — flags instances with avg CPU < 5% over 14 days.

Savings Plan / RI Tracking

New SavingsPlanSnapshot model, SQLite storage, AWS RI + SP utilization collector.

New Waste Detection Rules

  • Idle instance (CPU < 5% over 14 days)
  • Stopped database (RDS/AzureSQL/CloudSQL/AutonomousDB)

Bug Fixes

  • Fixed Azure cffi import crash
  • Fixed VPN Gateway listing to iterate per resource group
  • Improved error messages

Tests

116 -> 171 tests (55 new), all passing

v0.3.2 — Amazon Bedrock LLM Support

Choose a tag to compare

@mathumathi-v mathumathi-v released this 22 Mar 11:32

What's New

Amazon Bedrock LLM Provider

  • New bedrock provider using the Converse API — works with any Bedrock-hosted model:
    • Amazon Nova, Titan
    • Claude (via Bedrock)
    • Llama, Mistral, Cohere
  • Uses existing AWS IAM credentials — no separate API key required
  • Configurable region via llm.bedrock_region (defaults to us-east-1)

Bug Fixes

  • config set now parses YAML/JSON values — lists like '["us-east-1"]' and booleans like 'true' are stored as native types instead of raw strings. Fixes boto3 region iteration bug.
  • Tests skip gracefully when optional SDKs missing — Azure and GCP tests no longer fail with ImportError when azure-identity or google-cloud-bigquery aren't installed.

Setup

finops config set llm.provider bedrock
finops config set llm.model amazon.nova-pro-v1:0
finops config set llm.bedrock_region us-east-1

Tests

  • 7 new unit tests for Bedrock (134 total across all modules)
  • Covers: Converse API calls, empty/missing response handling, region config

Docs

  • Bedrock setup guide added to README (Option 5)
  • Architecture diagram updated
  • Config reference updated with bedrock_region

Full Changelog: v0.3.1...v0.3.2

v0.3.1 - Security Patch

Choose a tag to compare

@mathumathi-v mathumathi-v released this 21 Mar 13:03

Security Fixes

  • CVE-2026-27459 (HIGH 7.2): Upgraded pyOpenSSL from 25.3.0 to 26.0.0
  • CVE-2026-27448 (LOW 1.7): Also fixed by pyOpenSSL upgrade
  • Upgraded all Debian base packages to latest patches
  • Upgraded pip from 25.0.1 to 26.0.1

Docker Hub

docker pull mathumathi247/finops-agent:0.3.1

Full Changelog: v0.3.0...v0.3.1

v0.3.0 - Docker Support

Choose a tag to compare

@mathumathi-v mathumathi-v released this 19 Mar 20:24

What's New

Docker Support

  • Docker Hub image: docker pull mathumathi247/finops-agent:0.3.0
  • Multi-stage Dockerfile with Python 3.12-slim base
  • All cloud provider SDKs included (AWS, GCP, Azure, OCI)
  • Runs as non-root user for security
  • Persistent volume for SQLite data at /home/finops/.finops-agent
  • Smart entrypoint with automatic /tmp fallback for permission issues

Quick Start with Docker

docker pull mathumathi247/finops-agent:0.3.0

docker run --rm \
  -v ~/.finops-agent:/home/finops/.finops-agent \
  -v ~/.aws:/home/finops/.aws:ro \
  mathumathi247/finops-agent:0.3.0 summary --provider aws

Improvements

  • Graceful error handling for database permission issues
  • FINOPS_DB_PATH env var support for custom database location
  • docker-build and docker-run Makefile targets (all 4 cloud credential mounts)
  • .dockerignore for optimized build context
  • Docker usage instructions in README for all cloud providers

Tested

  • All 36 Docker CLI tests passing (9 commands x 4 providers)
  • All 124 unit tests passing

Full Changelog: v0.2.0...v0.3.0

v0.2.0 — Azure & OCI Support

Choose a tag to compare

@mathumathi-v mathumathi-v released this 17 Mar 18:53

What's New

Azure Support (full)

  • Cost Management API — daily cost data grouped by service and region
  • Resource collection — VMs, Managed Disks, Load Balancers, AKS clusters + node pools, Storage Accounts, App Service Plans
  • Embedded pricing tables for cost estimation when billing data isn't per-resource
  • Service principal, Azure CLI, and Managed Identity authentication

OCI Support (new)

  • Usage API — daily cost data grouped by service and region
  • Resource collection — Compute instances (flex/fixed/GPU shapes), Block Volumes (with attachment detection), Load Balancers, OKE clusters + node pools
  • Embedded pricing tables for all supported shapes and tiers
  • OCI config file + profile authentication

Improvements

  • Graceful error handling: cost collection failure no longer blocks resource collection
  • OCI resources (BlockVolume, Compute) added to waste detection engine
  • 124 unit tests passing across all providers

Supported Clouds

Cloud Cost API Resources
AWS Cost Explorer EC2, EBS, ELB, NAT Gateway, EKS
GCP BigQuery billing export Compute VMs, Persistent Disks, LBs, GKE
Azure Cost Management API VMs, Managed Disks, LBs, AKS, Storage, App Service
OCI Usage API Compute, Block Volumes, LBs, OKE

Install

pip install -e ".[azure]"   # Azure
pip install -e ".[oci]"     # OCI