Infracost Versions Save

Cloud cost estimates for Terraform in pull requestsπŸ’°πŸ“‰ Shift FinOps Left!

v0.10.17

1 year ago

0.10.17 (Feb 07 2023)

Infracost version 0.10.17 includes several enhancements and bug fixes aimed at helping users with complex setups. This version has improved support for module evaluation, error reporting, and pricing lookups. Give it a try!

New features

  • Augment the infracost comment command to allow passing client certificates for GitHub Enterprise Servers that require them - by @aliscott in https://github.com/infracost/infracost/pull/2256
  • Add support for absolute file paths for Terraform variable files, offering greater flexibility for projects and helping users with a top-level global variable file directory - by @hugorut in https://github.com/infracost/infracost/pull/2279
  • Scope CLI run errors by project, so that multi-project runs no longer fail at the first error. Instead, they report aggregated errors at the end of the run, as shown in the example below:
    Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/dev
    Module path: dev
    
    Errors:
      Error loading Terraform modules:
         failed to inspect module path testdata/breakdown_multi_project_with_error/dev diag:
           Invalid block definition:
             Either a quoted string block label or an opening brace ("{") is expected here. (and 1 other messages)
    
    ──────────────────────────────────
    Project: infracost/infracost/cmd/infracost/testdata/breakdown_multi_project_with_error/prod
    Module path: prod
    
     Name                                                   Monthly Qty  Unit   Monthly Cost 
    
     aws_instance.web_app                                                                    
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, m5.8xlarge)          730  hours     $1,121.28 
     β”œβ”€ root_block_device                                                                    
     β”‚  └─ Storage (general purpose SSD, gp2)                        50  GB            $5.00 
     └─ ebs_block_device[0]                                                                  
        β”œβ”€ Storage (provisioned IOPS SSD, io1)                    1,000  GB          $125.00 
        └─ Provisioned IOPS                                         800  IOPS         $52.00 
    
     Project total                                                                 $1,303.28 
    
     OVERALL TOTAL                                                                 $1,303.28 
    
    by @hugorut in https://github.com/infracost/infracost/pull/2225 and @tim775 in https://github.com/infracost/infracost/pull/2268

AWS

Enhancements

Fixes

Azure

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.16...v0.10.17

v0.10.16

1 year ago

What's Changed

v0.10.16 contains various fixes and enhancements, including improvements related to our GitHubApp.

Infracost has now changed behaviour to add .infracost folder at the working directory for the infracost execution and not the sub project folders. Users might run Infracost in these sub project folders in isolation.

Enhancements

Fixes

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.15...v0.10.16

v0.10.15

1 year ago

What's Changed

Infracost v0.10.15 contains fixes for critical issues facing Terragrunt users. It also resolves minor regressions introduced in 0.10.14 and improves our GitHub app functionality.

Fixes

  • Increase max context iterations whilst parsing Terraform modules, resolving issues faced by users of complex third-party modules that were exiting before being properly evaluated - by @hugorut in https://github.com/infracost/infracost/pull/2174
  • Merge Terraform outputs with output mocks built with regular expression, solving the longstanding invalid character ',' looking for beginning of value bug that Terragrunt users faced if output expressions from dependencies could not be resolved - by @hugorut in https://github.com/infracost/infracost/pull/2175
  • Skip unsupported node pools as Google Container Cluster sub-resources. This resolves a runtime panic caused by nil sub-resources. by @hugorut in https://github.com/infracost/infracost/pull/2184

Improvements

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.14...v0.10.15

v0.10.14

1 year ago

What's Changed

Infracost v0.10.14 contains a number of new resource pricing including support for Google custom machine types! It also includes some CLI features for allowing region overrides and showing the breakdown of all projects in a CI/CD comment.

New features

CLI functionality:

This release also contains functionality to enable features on Infracost Cloud:

  • Jira integration (available now) - see pull request cost estimates in Jira issues
  • Guardrails (upcoming) - get alerted when pull requests pass a certain cost increase threshold
  • Reports (upcoming) - get a daily/weekly summary of pull request costs
  • Cost policies (upcoming) - add custom cost policies to your Terraform repositories, i.e. use gp3 volumes instead of gp2.

New resource prices:

New regions:

Fixes

Dependencies

Docs

https://github.com/infracost/docs/pull/307

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.13...v0.10.14

v0.10.13

1 year ago

What's Changed

Infracost 0.10.13 contains fixes for several issues and... changes to support automatic usage estimates❗️❗️❗️

New Features

Fixes

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.12...v0.10.13

v0.10.12

1 year ago

What's Changed

Infracost 0.10.12 brings additional features that help simplify and debug users' workflows.


New Features

  • New environment variables giving users the option to configure Infracost output currency and format. The below example show the output of the number 64145.4525 with different formatting options:

    Environment variables Output for 64145.4525
    INFRACOST_CURRENCY=USD<BR/>INFRACOST_CURRENCY_FORMAT="USD: 1.234,567890 $" 64.145,452500 $
    INFRACOST_CURRENCY=EUR<BR/>INFRACOST_CURRENCY_FORMAT="EUR: 1.234,56€" 64.145,45€
    INFRACOST_CURRENCY=GBP<BR/>INFRACOST_CURRENCY_FORMAT="GBP: Β£ 1,234.567" Β£ 64,145.453

    by @fatihtokus in https://github.com/infracost/infracost/pull/2017

  • The Infracost usage file now allows users to provide defaults for resource types. Resource type defaults apply to all resources of that type regardless of the module they reside in.

    This is useful when you want to create traffic profiles such as small/medium/large. Resource type defaults can be overridden on a per-resource basis (shown below); usage keys that are re-defined at a resource level override the default, and new usage keys are merged with the defaults.

      aws_dynamodb_table:
        storage_gb: 1000 # Set in all DynamoDB table resources
      aws_dynamodb_table.my_table:
        monthly_write_request_units: 200 # Merged with default that defines storage_gb
      aws_dynamodb_table.my_other_table:
        storage_gb: 50 # Overrides the default
    

    by @balazs-marjan in https://github.com/infracost/infracost/pull/1979

    You can read more about the use cases and options on our docs.

  • Support for HCL warnings in project metadata. This means that your Infracost Cloud runs will now contain useful information about missing configuration that could be affecting your cost estimates. SCR-20220928-k4o

    by @hugorut in https://github.com/infracost/infracost/pull/2037

  • Experimental support for Infracost Cloud based usage estimates, populated from live CUR data. More on this soon. - by @tim775 in https://github.com/infracost/infracost/pull/2050

Fixes

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.11...v0.10.12

v0.10.11

1 year ago

What's Changed

Infracost 0.10.11 contains significant updates to improve VCS detection. In addition, we've added the ability to override detection, which enables users to specify how they want their VCS data displayed in Infracost Cloud.

Users should be aware that with 0.10.11 release, the vcsRepoUrl metadata attribute has been changed to vcsRepositoryUrl:

{
    "vcsPullRequestUrl": "https://github.com/infracost/infracost/pull/42",
-   "vcsRepoUrl": "https://github.com/infracost/infracost.git",
+   "vcsRepositoryUrl": "https://github.com/infracost/infracost.git",
    "vcsProvider": "github",
    "vcsBaseBranch": "master",
    "vcsPullRequestTitle": "Some PR title",
    "vcsPullRequestId": "4321" 
    ...
}

Infracost Cloud enhancements:

  • Infracost CLI has improved metadata support, meaning more platforms and deployment systems work out of the box with Infracost Cloud. Additional VCS environment variables have also been added to the CLI. Users can use these to override Infracost VCS detection. A complete list of supported environment variables is below - see our docs for examples:
    - `INFRACOST_VCS_PROVIDER`: can be "github", "gitlab", "azure_repos" or "bitbucket"
    - `INFRACOST_VCS_REPOSITORY_URL`: HTTPS URL of the repository, e.g. "https://github.com/infracost/example-terraform"
    - `INFRACOST_VCS_PULL_REQUEST_URL`: HTTP URL of the pull request, e.g. "https://github.com/alikhajeh1/example-terraform/pull/2"
    - `INFRACOST_VCS_PULL_REQUEST_AUTHOR`: author username or full name of the pull request, e.g. "john190" or "John Smith"
    - `INFRACOST_VCS_PULL_REQUEST_TITLE`: title of the pull request, e.g. "Increase IOPS"
    - `INFRACOST_VCS_BRANCH`: name of the branch that was used to generate the estimate, e.g. "increase_iops"
    - `INFRACOST_VCS_COMMIT_SHA`: long commit SHA of the branch that was used to generate the estimate, e.g. "1af413ad15ad6cbdfca667361231231231231231"
    - `INFRACOST_VCS_COMMIT_MESSAGE`: the commit message, e.g. "use m5.large"
    - `INFRACOST_VCS_COMMIT_TIMESTAMP`: unix epoch timestamp of the commit, e.g. `1661801540`. You can use the following command to get the timestamp on the latest commit from the current branch `export INFRACOST_VCS_COMMIT_TIMESTAMP=$(git show -s --format=%ct)`
    - `INFRACOST_VCS_COMMIT_AUTHOR_EMAIL`: git email of author of the commit, e.g. "[email protected]"
    - `INFRACOST_VCS_COMMIT_AUTHOR_NAME`: git author name of the commit, e.g. "John Smith"
    - `INFRACOST_VCS_PIPELINE_RUN_ID`: a way to differentiate pipelines that are run within one CI/CD run, this is the top-level pipeline ID, not individual jobs/runs within it, e.g. "2846680866"
    
    by @hugorut in https://github.com/infracost/infracost/pull/1990
  • A new infracost upload command which supports uploading an Infracost JSON file to Infracost Cloud without the need for infracost comment. This command uploads the data regardless of your Org Settings or the INFRACOST_ENABLE_CLOUD environment variable. - by @tim775 in https://github.com/infracost/infracost/pull/1997

New Features

Fixes

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.10...v0.10.11

v0.10.10

1 year ago

What's Changed

Infracost v0.10.10 contains fixes and enhancements for the CLI, many of them improving support in the Infracost VS Code extension.

Enhancements

Fixes

Dependency updates

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.9...v0.10.10

v0.10.9

1 year ago

What's Changed

πŸ› πŸ“‰ Infracost v0.10.9 contains a number of fixes for the CLI that are discovered when used with the Infracost VS Code extension support. It also contains several enhancements to how our CLI integrates with Infracost Cloud, to enable it to work with additional CI/CD platforms such as Atlantis, Azure Repos and Bitbucket.

Infracost Cloud enhancements:

Fixes

Panic and runtime errors caused by incomplete VS Code Terraform files

Other fixes:

Dependency updates

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.8...v0.10.9

v0.10.8

1 year ago

0.10.8 (July 20 2022)

Infracost v0.10.8 adds support for Infracost Cloud, our new hosted service. πŸŽ‰ πŸŽ‰ 🚒

It enables team leads, managers and FinOps practitioners to have visibility across all cost estimates in CI/CD and answer questions like:

  1. What are the top pull requests that will increase/decrease costs the most? Who is working on them?
  2. What were all the pull requests to the main branch on the date we had a spike in cloud costs?
runs

As part of this, we've removed the infracost register command in favour of infracost auth login, which uses our new login flow. This will not impact existing users or existing API keys.

This release also contains several critical bug fixes for the CLI that have arisen from Infracost's VSCode extension support.


New features

Azure

Fixes

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.7...v0.10.8