infracost

Cloud cost estimates for Terraform in your CLI and pull requests 💰📉

Github星跟蹤圖





Infracost shows hourly and monthly cost estimates for a Terraform project. This helps developers, DevOps et al. quickly see the cost breakdown and compare different deployment options upfront.

Table of Contents

Checkout the docs site for detailed usage options, supported resources and more information.

Installation

  1. Download and install the latest Infracost release

    Linux:

    curl -s -L https://github.com/infracost/infracost/releases/latest/download/infracost-linux-amd64.tar.gz, tar xz -C /tmp && \
    sudo mv /tmp/infracost-linux-amd64 /usr/local/bin/infracost
    

    macOS (Homebrew):

    brew install infracost
    

    macOS (manual):

    curl -s -L https://github.com/infracost/infracost/releases/latest/download/infracost-darwin-amd64.tar.gz, tar xz -C /tmp && \
    sudo mv /tmp/infracost-darwin-amd64 /usr/local/bin/infracost
    

    Docker:

    docker pull infracost/infracost
    docker run --rm \
      -e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
      -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
      -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
      -v $PWD/:/code/ infracost/infracost --tfdir /code/
      # add other required flags for infracost or envs for Terraform
    
  2. Use our free hosted API for cloud prices by registering for an API key:

    infracost register
    

    Alternatively you can run your own pricing API and set the INFRACOST_PRICING_API_ENDPOINT environment variable to point to it.

    The INFRACOST_API_KEY environment variable can be used to set to the API key in CI systems.

Basic usage

Generate a cost breakdown from a Terraform directory:

infracost --tfdir /path/to/code --tfflags "-var-file=myvars.tfvars"

Check the docs site for more details.

The Infracost GitHub action can be used to automatically add a PR comment showing the cost estimate diff between a pull request and the master branch whenever Terraform files change.

Development

Install Go dependencies:

make deps

Install latest version of terraform-provider-infracost. If you want to use a local development version see #using-a-local-version-of-terraform-provider-infracost

make install_provider

Get an API key.

make run ARGS="register"

Alternatively checkout and run the cloud-pricing-api and set the INFRACOST_PRICING_API_ENDPOINT environment variable to point to it.

Add the API key to your .env.local file:

cat <<EOF >> .env.local
INFRACOST_API_KEY=XXX
EOF

Run the code:

make run ARGS="--tfdir examples/terraform"

Run all tests:

make test

Exclude integration tests:

make test ARGS="-v -short"

Build:

make build

Using a local version of terraform-provider-infracost

To use a local development version of terraform-provider-infracost

  1. Fork/clone the terraform-provider-infracost repository

  2. Inside the directory that you cloned the repository run the following to install the local version in your ~/.terraform.d/plugins directory:

make install

Contributing

Pull requests are welcome! For more info, see the CONTRIBUTING file. For major changes, please open an issue first to discuss what you would like to change.

Join our chat, we are a friendly bunch and happy to help you get started :) https://discord.gg/rXCTaH3

License

Apache License 2.0

主要指標

概覽
名稱與所有者infracost/infracost
主編程語言Go
編程語言Makefile (語言數: 5)
平台
許可證Apache License 2.0
所有者活动
創建於2020-06-24 09:11:56
推送於2025-06-01 10:46:44
最后一次提交2025-05-28 15:29:55
發布數115
最新版本名稱preview (發布於 )
第一版名稱v0.1.0 (發布於 )
用户参与
星數11.5k
關注者數69
派生數602
提交數3.1k
已啟用問題?
問題數924
打開的問題數182
拉請求數2016
打開的拉請求數36
關閉的拉請求數368
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?