infracost

Cloud cost estimates for Terraform in pull requestsπŸ’°πŸ“‰ Love your cloud bill!

APACHE-2.0 License

Stars
9.8K
Committers
92

Bot releases are visible (Hide)

infracost - v0.10.31 Latest Release

Published by github-actions[bot] 11 months ago

What's Changed

This release contains support for using Infracost Cloud FinOps Policies in CI/CD pipelines. It also includes several resource and parsing fixes.

✨ Features

πŸ› Resource fixes

πŸ› Parsing fixes

βœ”οΈ Other changes

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.30...v0.10.31

infracost - v0.10.30

Published by github-actions[bot] 12 months ago

What's Changed

In this release, we're excited to introduce integrations with the Infracost Cloud’s new FinOps policy checker. This allows you to check for FinOps best practices directly in engineering workflows.

New Features:

  • FinOps policy checks: Introduced FinOps policies and governance checks, thanks to @tim775. This includes support for handling FinOps policy exclusions and nested policy allow lists. (#2661, #2671, #2678, #2701)
  • AWS Kinesis Stream Resource: Now supporting AWS Kinesis Stream Resources, thanks to the contribution from @ktasper. (#2640)

Enhancements:

  • Additional Azure Service Plan SKUs: Added support for additional Azure service plan SKUs, implemented by @tim775. (#2658)
  • Terragrunt Support: Improved support for Terragrunt, including the ability to handle generate blocks and optional dependencies by @aliscott (#2708)
  • Google User Labels as Tags: Now supporting Google user labels as tags. Thanks to @tim775 for this enhancement. (#2652)
  • Storage Account Refs for Storage Management Policies: Enhanced support for storage account references in storage management policies, thanks to @tim775. (#2695)
  • Support for Prefixes in Terraform Source Map: Introduced support for prefixes in INFRACOST_TERRAFORM_SOURCE_MAP, implemented by @aliscott. (#2693)

Fixes:

  • Concurrent Map Writes Panic: Fixed an issue with concurrent map writes by @aliscott. (#2669)
  • Module for_each bug: Fixed modules with for_each based on other module outputs by @aliscott. (#2696)
  • Bug Fixes: Addressed a typo in an error message and ensured the correct mapping URL is built if the mapped source contains a ref. Work done by @0o001 and @hugorut. (#2654, #2656)
  • Google Sustained Use Discount Calculation: Fixed the calculation of Google Sustained Use Discounts, thanks to @varshneydevansh. (#2577)

Dependency Updates:

  • Updated various dependencies, ensuring we are using the latest and most secure versions of libraries and tools.

Miscellaneous:

  • Code and Test Maintenance: Conducted code clean-up, removed unnecessary verbose flags from tests, added parser benchmarks, and fixed tests. Thanks to @tim775 and @hugorut for their contributions.
  • Improved Telemetry: Adjusted telemetry settings for FinOps policy errors to enhance user privacy. (#2704)

New Contributors

We're thankful to all contributors who helped in making this release possible. Enjoy the enhanced experience and features of Infracost!

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.29...v0.10.30

infracost - v0.10.29

Published by github-actions[bot] about 1 year ago

Infracost v0.10.29

In this new release, we've concentrated on enhancing tag policy support. Furthermore, we've added a CLI cache to enhance the speed and efficiency of pricing lookups. Users should see a noticeable performance improvement when they upgrade.

New Features

  • Implemented a pricing client cache to improve performance by @hugorut.
  • Introduced support for applying tag policies to AWS launch templates by @hugorut.
  • Added block device tags to the AWS instance resource by @tim775.
  • Added the il-central-1 region by @aliscott.

Enhancements

  • Enhanced data block functionality in submodules to return correct values from stubbed data blocks by @hugorut.
  • Introduced support for optional defaults by @hugorut.
  • Refactored the comment handler to include backoff retry logic by @hugorut.
  • Conducted formatting adjustments by @tim775.

Fixes

  • Fixed a race condition issue by ensuring terragrunt sources are downloaded only once by @tim775.
  • Addressed an issue that caused a panic due to incorrect variable type definition by @hugorut.
  • Resolved issues related to invalid function arguments in mocking by @aliscott.
  • Fixed the handling of un-Rel-able paths by @tim775.

Full Changelog

infracost - v0.10.28

Published by github-actions[bot] about 1 year ago

Infracost v0.10.28

In this update, we’ve continued our work on refining Tag Policy evaluations and addressed several concerns to ensure an improved experience for our Terragrunt users. Furthermore, several optimizations were implemented to make Infracost more robust and efficient.

Enhancements

  • Improved the Tag Policy evaluation to include a total resource summary by @vdmgolub.
  • Stopped sending telemetry data for Policies/Guardrails errors for a more privacy-focused experience by @vdmgolub.

Fixes

  • Resolved an issue where terragrunt remote source modules with specific references and versions were not correctly downloaded to distinct directories by @hugorut.
  • Made certain that project summaries remain consistent with the original summary by @aliscott.
  • Ensured proper support for environment variables specified in configuration files for Terragrunt projects by @aliscott.

Refactoring and Other Improvements

  • Removed any resources from the free resources list that lack tags, making the output cleaner by @hugorut.
  • Conducted necessary adjustments for Google golden tests by @aliscott.

Full Changelog

infracost - v0.10.27

Published by github-actions[bot] about 1 year ago

Infracost v0.10.27

This release provides several enhancements and additions that aim to improve tag policies' efficiency and control. This includes support for data.aws_default_tags and various adjustments to tag handling at launch and within volume resources.

New Features 🎁

  • Support for data.aws_default_tags block has been added for improved tag coverage of resources. PR #2597
  • Introducing various read file functions to give you more ways to interact with your local files in Infracost config template. @hugorut
  • Infracost tagging policies now handle volume tags, allowing for better resource management and discovery. @hugorut
  • Added support for aws_launch_template tag_specifications. @hugorut

Enhancements πŸ”§

  • You can now enjoy Terragrunt global cache for modules for more efficient module management. @hugorut
  • We've updated the Tag Policy comment format, it now shows the value of any invalid tags that don't adhear to a tagging policy. @vdmgolub

Fixes 🩹

  • Stripping count from module name as configuration key when marshalling has been fixed. Improving overall estimates for users who saw discrepancies with modules using count and for_each @vdmgolub
  • aws_autoscaling_group tag blocks that are have progagate_at_launch = false now fail tag policies. @hugorut

Chores

  • We've added memory and CPU profiling options to help with performance troubleshooting. @hugorut
  • To prevent redundancy, we now skip commenting if the run was done earlier. @aliscott

For the full list of changes, check out the changelog.

infracost - v0.10.26

Published by github-actions[bot] over 1 year ago

What's Changed

This release fixes a critical regression that was introduced in Infracost v0.10.25. Users are encouraged to upgrade as soon as possible.

Fixes

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.25...v0.10.26

infracost - v0.10.25

Published by github-actions[bot] over 1 year ago

What's Changed

βœ¨πŸŽ‰ This release contains a lot of functionality to integrate with the new Infracost Cloud Tagging Policies! πŸŽ‰βœ¨

This enables you to define your tagging policies so you can communicate and enforce the required tag keys/values in pull requests. You can find out more about this feature here: https://www.infracost.io/docs/infracost_cloud/tagging_policies/

Here's a screenshot of how this looks in your pull requests:

✨ Features

Tagging policies integration in the following PRs: https://github.com/infracost/infracost/pull/2526, https://github.com/infracost/infracost/pull/2527, https://github.com/infracost/infracost/pull/2536, https://github.com/infracost/infracost/pull/2537, https://github.com/infracost/infracost/pull/2539, https://github.com/infracost/infracost/pull/2540, https://github.com/infracost/infracost/pull/2549, https://github.com/infracost/infracost/pull/2554, https://github.com/infracost/infracost/pull/2555, https://github.com/infracost/infracost/pull/2558, https://github.com/infracost/infracost/pull/2559, https://github.com/infracost/infracost/pull/2564, https://github.com/infracost/infracost/pull/2565, https://github.com/infracost/infracost/pull/2569, https://github.com/infracost/infracost/pull/2571, https://github.com/infracost/infracost/pull/2572, https://github.com/infracost/infracost/pull/2573, https://github.com/infracost/infracost/pull/2574

Other features/enhancements:

πŸ› Fixes

HCL parsing fixes:

Other fixes:

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.24...v0.10.25

infracost - v0.10.24

Published by github-actions[bot] over 1 year ago

What's Changed

This releases fixes a couple of issues introduced v0.10.23, as well as some other resource pricing fixes.

✨ Features

πŸ› Fixes

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.23...v0.10.24

infracost - v0.10.23

Published by github-actions[bot] over 1 year ago

What's Changed

This release includes a lot fixes for different resources, plus general fixes to the HCL parsing logic πŸ›πŸ”¨

✨ New Features

Resource updates:

Other updates:

πŸ› Fixes

Resource fixes:

Improve HCL parsing:

Other fixes:

πŸ—’οΈ Docs

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

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.22...v0.10.23

infracost - v0.10.22

Published by github-actions[bot] over 1 year ago

v0.10.22

This release introduces an exciting new table output for the diff command, as well as other new features, enhancements, and fixes! A big shoutout to our new contributors! 🌟

Infracost estimate: monthly cost will increase by $41 (+100%) ↑

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ Project                                                          ┃ Previous   ┃ New        ┃ Diff         ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━╋━━━━━━━━━━━━━━┫
┃ infracost/infracost/cmd/infraco...data/terraform_v0.14_plan.json ┃        $41 ┃        $81 ┃ +$41 (+100%) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━━━━━━━━┛

Summary

  • New features: Added support for azure_servicebus_namespace, azurerm_logic_app_standard, and table output for diff.
  • Enhancements: Updated several dependencies and added example Wolfi Dockerfiles.
  • Fixes: Fixed various issues including docs, Azure tests, pricing, and INFRACOST_LOG_LEVEL behavior.

New Features

  • 🌟 Added support for azure_servicebus_namespace (#2445)
  • 🌟 Added support for azurerm_logic_app_standard resource (#2452)
  • 🌟 Added table output to diff command (#2454):

Enhancements

Fixes

  • 🩹 Fixed docs "bump_cli_version" post release (#2448)
  • 🩹 Fixed Azure tests (#2446)
  • 🩹 Fixed pricing for spot-like preemptible resources (#2447)
  • 🩹 Removed erroneous tab (#2453)
  • 🩹 Fixed INFRACOST_LOG_LEVEL overriding --log-level flag (#2455)

New Contributors

  • πŸŽ‰ @amouat made their first contribution in (#2438)
  • πŸŽ‰ @gdubicki made their first contribution in (#2447)

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.21...v0.10.22

infracost - v0.10.21

Published by github-actions[bot] over 1 year ago

What's Changed

New Features

This release adds support for a bunch of new resources: 102 have been added in total! πŸš€ This breaks down into:

  • 7 new paid Azure resources
  • 49 new free Azure resources
  • 1 new paid AWS resource
  • 45 new free AWS resources

We've also had 2 new contributors contribute towards this release. Thank you @hash-sha512 and @ABaboshin! πŸ™

Azure Resources

AWS Resources

Google Resources

Free resources

Fixes

Docs

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

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.20...v0.10.21

infracost - v0.10.20

Published by github-actions[bot] over 1 year ago

Infracost v0.10.20

In this release, we've introduced new Azure resources, improved support for global AWS resource references, and addressed various fixes and enhancements! πŸš€

New Features

  • Added support for azurerm_logic_app_integration_account #2397
  • Added support for Azure SignalR Service #2399
  • Added support for Azure Traffic Manager #2401

Enhancements

  • Improved module loading errors as project error metadata #2382
  • Added default variables for Infracost config template files #2394
  • Fixed read operation lookups for Azure storage accounts #2412

Fixes

  • Resolved nil panic coming from protected VM being nil when the resource references are incomplete #2381
  • Added support for name as a global AWS resource reference #2409
  • Suppressed warnings and sync messages when logging #2410
  • Fixed egress and storage costs for GCP #2413

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.19...v0.10.20

infracost - v0.10.19

Published by github-actions[bot] over 1 year ago

New Features

Azure

AWS

Enhancements/Improvements

Fixes and Updates

Docs

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

New Contributors

Full Changelog: https://github.com/infracost/infracost/compare/v0.10.18...v0.10.19

infracost - v0.10.18

Published by github-actions[bot] over 1 year ago

New features

AWS

Azure

Enhancements/Improvements

Fixes and Updates

New Contributors

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

infracost - v0.10.17

Published by github-actions[bot] over 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

infracost - v0.10.16

Published by github-actions[bot] almost 2 years 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

infracost - v0.10.15

Published by github-actions[bot] almost 2 years 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

infracost - v0.10.14

Published by github-actions[bot] almost 2 years 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

infracost - v0.10.13

Published by github-actions[bot] about 2 years 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

infracost - v0.10.12

Published by github-actions[bot] about 2 years 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=USDINFRACOST_CURRENCY_FORMAT="USD: 1.234,567890 $" 64.145,452500 $
    INFRACOST_CURRENCY=EURINFRACOST_CURRENCY_FORMAT="EUR: 1.234,56€" 64.145,45€
    INFRACOST_CURRENCY=GBPINFRACOST_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

Package Rankings
Top 4.02% on Proxy.golang.org
Related Projects