Skip to content

Releases: Cro22/CloudOracle

v2.0.0

Choose a tag to compare

@Cro22 Cro22 released this 09 May 22:56
c886c60

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-delta or comment-id as 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

Choose a tag to compare

@Cro22 Cro22 released this 09 May 22:33
c886c60

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

Choose a tag to compare

@Cro22 Cro22 released this 07 May 19:26
57fdfca

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

  • @Cro22 made their first contribution in #1

Full Changelog: https://github.com/Cro22/CloudOracle/commits/1.0.0