Releases: Cro22/CloudOracle
Release list
v2.0.0
CloudOracle v2.0.0 — PR Cost Comment Action
The first release of CloudOracle as a GitHub Action. Posts an automated cost-impact comment on every Terraform pull request, with an optional LLM-generated narrative that explains why costs change — not just what changed.
What it does
Reads terraform show -json output, queries the AWS Pricing API for each created/modified/destroyed resource, and posts a Markdown comment showing:
- Net monthly cost delta
- Per-resource breakdown (action, monthly cost, delta)
- Plain-language narrative interpreting the change
- Caveats about pricing assumptions (billing model, regional pricing)
The comment auto-updates on subsequent pushes via a hidden HTML marker — no PR spam.
Quick start
on: pull_request
permissions:
pull-requests: write
contents: read
jobs:
cost-impact:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-2
- uses: hashicorp/setup-terraform@v3
- run: |
terraform init
terraform plan -out=tf.plan
terraform show -json tf.plan > tf-plan.json
- uses: Cro22/CloudOracle@v2.0.0
with:
plan-file: tf-plan.json
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}Supported resources
aws_instance(EC2 + root EBS)aws_db_instance(RDS instance + storage)aws_rds_cluster_instance(Aurora cluster instances)aws_ebs_volume(standalone EBS)aws_lambda_function(compute + provisioned concurrency)aws_nat_gateway(hourly + data processing)
LLM narrative (optional)
Set one of these as a workflow secret/env to enable the prose interpretation:
ANTHROPIC_API_KEY(Claude)OPENAI_API_KEY(GPT)GEMINI_API_KEY(Gemini)
Without a provider, falls back to a templated narrative. The cost numbers are identical either way — only the interpretation prose changes.
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
plan-file |
yes | — | Path to terraform show -json output |
region |
no | us-east-2 |
AWS region for pricing lookups |
output-file |
no | — | Also write the rendered Markdown to a file |
marker |
no | cloudoracle-pr-v1 |
HTML marker used for comment upsert |
no-llm |
no | false |
Force templated narrative |
github-token |
no | ${{ github.token }} |
Token for posting the comment |
Limitations
- AWS only in this release. GCP and Azure pricing exist in the v1 CLI but aren't wired into the Action yet.
- Terraform only (no Pulumi, CDK, or Terragrunt yet).
- Linux runners only — this is a Docker action; Windows and macOS runners won't work.
- No structured outputs yet (workflows can't read
total-deltaorcomment-idas step outputs — coming in v2.1).
v1 CLI compatibility
The standalone oracle CLI (seed, list, analyze, report, trend, export, serve) is unchanged. The new pr-check subcommand is additive — existing workflows are not affected.
License
Apache 2.0
2.0.0
What's Changed
- Feature/terraform by @Cro22 in #12
- Feature/action self test by @Cro22 in #14
- Feature/terraform by @Cro22 in #13
- fix: update environment variable from ANTHROPIC_API_KEY to GEMINI_API… by @Cro22 in #15
- feat: update Terraform version to latest in cost self-test workflow by @Cro22 in #17
- Develop by @Cro22 in #16
- fix(action): read INPUT_* env vars via printenv to handle dashes by @Cro22 in #18
- Develop by @Cro22 in #19
- chore: remove probe-pricing utility and Terraform e2e test configuration by @Cro22 in #20
- Develop by @Cro22 in #21
Full Changelog: 1.0.0...2.0.0
1.0.0
What's Changed
- Develop by @Cro22 in #1
- Develop by @Cro22 in #2
- feat: add architecture decisions and tests for LLM providers and PDF … by @Cro22 in #3
- feat: optimize sorting of findings by savings and update README with … by @Cro22 in #4
- Develop by @Cro22 in #5
- feat: implement pagination and sorting for findings in the dashboard by @Cro22 in #6
- Develop by @Cro22 in #7
- docs: enhance README with CloudOracle's analysis-first approach and c… by @Cro22 in #8
- update by @Cro22 in #9
- Develop by @Cro22 in #10
New Contributors
Full Changelog: https://github.com/Cro22/CloudOracle/commits/1.0.0