Releases: mathumathi-v/finops-cloud
Releases · mathumathi-v/finops-cloud
Release list
v0.5.0 — Multi-Account, Pattern-Based Waste Detection, Token Optimization
What's New
Multi-Account Support
- Configure multiple AWS accounts, GCP projects, Azure subscriptions, OCI compartments per provider
- All analysis commands accept
--account-idto 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-costnow shows Resource ID/ARN, Service, Region, State columnsfind-wasteshows full Resource ID/ARN + descriptionexplain-billincludes 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 runfinops collectrepeatedly- 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:latestFull Changelog
v0.4.0 — 20 New Resource Collectors, Dynamic Pricing, CPU Waste Detection
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
What's New
Amazon Bedrock LLM Provider
- New
bedrockprovider 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 tous-east-1)
Bug Fixes
config setnow 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-identityorgoogle-cloud-bigqueryaren'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-1Tests
- 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
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.1Full Changelog: v0.3.0...v0.3.1
v0.3.0 - Docker Support
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
/tmpfallback 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 awsImprovements
- Graceful error handling for database permission issues
FINOPS_DB_PATHenv var support for custom database locationdocker-buildanddocker-runMakefile targets (all 4 cloud credential mounts).dockerignorefor 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
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