Add Savings Plans coverage guardrail rules

Open
#108 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
aws, typescript
Domain
cloud, devops

Research direction

Start in the costguardrails module and inspect the account-level dataset pattern used by costguardrails and costexplorer, including how rules declare discovery dependencies and the SDK owns loaders. Review the Savings Plans API and Cost Explorer coverage endpoints first. Done means cross-service discovery rules cover compute spend with no active plans and plans nearing expiry, following the CLDBRN-AWS-COSTGUARDRAILS-N sequence.

Written by the indexing model from the issue text.

Description

enhancement

What

Discovery rules in the costguardrails module that flag accounts with compute spend but no active Savings Plans, and Savings Plans nearing expiry.

Why

CloudBurn covers Reserved Instance coverage per service (CLDBRN-AWS-EC2-7 and -12, CLDBRN-AWS-RDS-3, CLDBRN-AWS-ELASTICACHE-1, and CLDBRN-AWS-REDSHIFT-2) but lacks general Savings Plans lifecycle guardrails. Savings Plans are the commitment model AWS steers customers toward for EC2, Fargate, and Lambda.

Details

  • Candidate rules: sustained compute spend with zero active Savings Plans; Savings Plans expiring within a review window; optionally, low Savings Plans utilization.
  • Data comes from the Savings Plans API and Cost Explorer coverage endpoints, following the account-level dataset pattern used by costguardrails and costexplorer.
  • Discovery only. Continue the CLDBRN-AWS-COSTGUARDRAILS-N sequence per the contiguous-ID convention.
  • Follow the dataset-driven model: rules declare discovery dependencies and the SDK owns loaders.
  • PR #207 implements the SageMaker-specific low-coverage slice as CLDBRN-AWS-SAGEMAKER-3. This issue remains open for the cross-service lifecycle guardrails above.
Dominant language
TypeScript
Stars
1.8k
Forks
371
Avg merge
4h 32m
Merged PRs (30d)
63

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from towardsthecloud/cloudburn

All issues in towardsthecloud/cloudburn

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.