Skip to content

v0.15.0

Compare
Choose a tag to compare
@cloudposse-releaser cloudposse-releaser released this 06 Aug 14:44
· 8 commits to refs/heads/main since this release
e61cbb5
feat: Add tags to aws_appautoscaling_target @MaxymVlasov (#65) ## what Add missed tags

why

Tags were introduced for all aws_appautoscaling_target resources created after 2023-03-20.

That blocks us from enforcing policy checks for missing tags.

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_target

Also, after release a new version here, we need release in https://github.com/cloudposse/terraform-aws-dynamodb/blob/a0cfac2e8c2584125596089a3185fc4a057410e4/main.tf#L153-L155

Added scaling cooldown variables. @Jon-Berg (#53) ## what

Added scaling cooldown variables.

why

Need to control autoscaling cooldown times to handle usage spikes.

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_policy#target_tracking_scaling_policy_configuration

Support AWS Provider V5 @max-lobur (#52) ## what

Support AWS Provider V5
Linter fixes

why

Maintenance

references

https://github.com/hashicorp/terraform-provider-aws/releases/tag/v5.0.0

Sync github @max-lobur (#49) Rebuild github dir from the template
git.io->cloudposse.tools update @dylanbannon (#45) ## what and why Change all references to `git.io/build-harness` into `cloudposse.tools/build-harness`, since `git.io` redirects will stop working on April 29th, 2022.

References

  • DEV-143
some resources names build logic fix @maximmi (#38) ## what * some resources names build logic fix

why

  • broken logic
count replaced with foreach @maximmi (#37) ## what * `count` replaced with `foreach`

why

  • requires to fix invalid count argument on read/write_target_index with multiple dynamodb tables issue

refs

context.tf updated to v0.24.1, minimum required Terraform version bumped to 0.13.0 when needed, readme updated @maximmi (#33) ## what - update context.tf to v0.24.1 - minimum required Terraform version bumped to 0.13.0 - readme updated, Bridgecrew compliance badges added

why

  • It allows for setting the letter case of tag names and labels, back compatibility with context v0.22.0 and below
  • we have dropped support for Terraform 0.12
  • To be able see and fix the recommendations from Bridgecrew so we can position our modules as standards compliant

Supersedes and closes #32

Terraform 0.14 upgrade @maximmi (#31) ## what - Upgrade to support Terraform 0.14 and bring up to current Cloud Posse standard

why

  • Support Terraform 0.14
Terraform 0.14 upgrade @Nuru (#28) ## what - Upgrade to support Terraform 0.14 and bring up to current Cloud Posse standard - Remove IAM role and policies

why

  • Support Terraform 0.14
  • Not needed now that we have service-linked roles
  • Closes #25
make this module v14 compatible @jurgenweber (#27) make this module v14 compatible
use minimum versions for provider pinning @woz5999 (#24) ## what set minimum versions for providers without pinning to a specific major version

why

the current method makes it very difficult to maintain or upgrade consistent provider versions within a project

references

https://www.terraform.io/docs/configuration/provider-requirements.html#best-practices-for-provider-versions

[AUTOMATED] Update terraform-null-label versions to support Terraform 0.13 @Gowiem (#23) ## What
  1. Updates terraform-null-label versions 0.14.1, 0.15.0, and 0.16.0 to version 0.17.0
  2. This is an automated commit and pull request created by Microplane. More information here.

Why

  1. This module and the mentioned previous versions are used extensively across the large majority of Cloud Posse's Terraform Modules. They're currently holding back support for Terraform v0.13. Doing this upgrade in mass will alleviate the pain in our efforts to support Terraform v0.13
Update Version Pinning for Terraform to support 0.13. Fix example and Terratest. Add Go modules for Terratest @Gowiem (#22) ## What
  • Update Version Pinning for Terraform to support 0.13
  • Fix example and Terratest
  • Add Go modules for Terratest

Why

  • This is a relatively minor update that the CloudPosse module already likely supports
  • This allows module consumers to not individually update our Terraform module to support Terraform 0.13
  • Fix example and Terratest: deploy a DynamoDB table to connect the autoscaler to (otherwise, AWS throws errors)
  • Add Go modules for Terratest: use Go modules to pin versions
Updates to ChatOps - Automated commit @Gowiem (#21) ## What * Adds chatops commands - '/test all' - '/test bats' - '/test readme' - '/test terratest' * Drops codefresh * Drops slash-command-dispatch * Removes codefresh badge * Rebuilds README

Why

  • Change over from codefresh to GH Actions
  • Facilitate testing of PRs from forks
Use the latest label module to support the environment attribute @adamcrews (#19)
Convert to TF 0.12. Add tests. Add Codefresh test pipeline @aknysh (#17) ## what * Port module to Terraform 0.12 * Pin all providers * Add example for testing * Add `bats` and `terratest` for the example * Add Codefresh badge to point to the test pipeline in `terraform-modules` project * Update README

why

  • Module currently does not work with 0.12. Much easier syntax
  • Better regression control
  • Automatically test the example on every commit and pull request
  • Provision resources on AWS in the test account and check the outputs for the correct values
  • terraform-modules project contains pipelines for all terraform modules

related

notes

Add tags to autoscaler role @lapastillaroja (#14) IAM roles now support tagging. With this change the role created for autoscaler will inherit the tags passed as a variable.

AWS docs: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html

Use `splat+join` pattern for resources with counts @aknysh (#10) ## what * Use `splat+join` pattern for resources with counts

why

  • To prevent errors when var.enabled = false
Resource 'aws_iam_role.autoscaler' not found for variable 'aws_iam_role.autoscaler.id'
  • Address #6
Regenerate README.md @vadim-hleif (#8) ## what * Regenerate `README.md`

why

  • Previous version of build-harness has some typos
Migrate readme yaml @vadim-hleif (#7) ## what * Add `README.yaml`

why

  • Standardize README
Fix appautoscaling policy for global secondary indexes @aknysh (#5) ## what * Add `aws_appautoscaling_policy.read_policy_index` for global secondary indexes * Add `aws_appautoscaling_policy.write_policy_index` for global secondary indexes

why

  • Missing
  • Required for global secondary indexes
Add `enabled` flag to enable/disable creation of the resources @aknysh (#2) ## what * Add `enabled` flag to enable/disable creation of all the resources

why

  • Some applications that use DynamoDB don't require autoscaling
  • Setting the enabled flag to false will not create any autoscaler resources
Initial implementation @aknysh (#1) ## what * Autoscaler scales up/down the provisioned OPS for a DynamoDB table based on the load

why

  • Separate DynamoDB table provisioning from Autoscaler provisioning
  • Some applications require DynamoDB tables with completely different structure (range key required or not, different attributes), which is difficult to generalize taking into account Terraform language restrictions (e.g. no conditionals with maps and lists). Having the autoscaling code in each module is redundant
  • Some application don't require autoscaling at all

🚀 Enhancements

Feat: Add Index Read/Write Values for Capacity and Target @nitrocode (#43) ## what * Add index read/write values for autoscaling capacity and target * If the index values aren't provided, the original values will be used in place via `coalesce(index, original)`

why

  • Separate read/write capacities for table vs index

references

Chore: run `make github/init` @korenyoni (#41) ## what * Run `make github/init`.

why

  • Updates GHA-workflow-related files to their latest distribution.
  • The old context.tf distribution is incompatible with the tenant label.

references

Don't create resources when enabled = false @alexjurkiewicz (#40)
Fix auto-context and validate-codeowners @Nuru (#29) ## what - Fix auto-context and validate-codeowners

why

  • #28 added early versions with issues that have since been resolved
Update readme yaml file and rebuild md @solairerove (#13) ## what - updated `README.yaml` file - add tags and categories - rebuild `README.md` file

why

  • need to add categories and tags so we can pull them into the documentation
Adding indexes support @emmekappa (#4) ## what * Add support for multiple indexes

🤖 Automatic Updates

Update .github/settings.yml @osterman (#64) ## what - Update `.github/settings.yml` - Drop `.github/auto-release.yml` files

why

  • Re-apply .github/settings.yml from org level
  • Use organization level auto-release settings

references

  • DEV-1242 Add protected tags with Repository Rulesets on GitHub
Update release workflow to allow pull-requests: write @osterman (#63) ## what - Update workflow (`.github/workflows/release.yaml`) to have permission to comment on PR

why

  • So we can support commenting on PRs with a link to the release
Update GitHub Workflows to use shared workflows from '.github' repo @osterman (#62) ## what - Update workflows (`.github/workflows`) to use shared workflows from `.github` repo

why

  • Reduce nested levels of reusable workflows
Update GitHub Workflows to Fix ReviewDog TFLint Action @osterman (#61) ## what - Update workflows (`.github/workflows`) to add `issue: write` permission needed by ReviewDog `tflint` action

why

  • The ReviewDog action will comment with line-level suggestions based on linting failures
Update GitHub workflows @osterman (#60) ## what - Update workflows (`.github/workflows/settings.yaml`)

why

  • Support new readme generation workflow.
  • Generate banners
Use GitHub Action Workflows from `cloudposse/.github` Repo @osterman (#59) ## what
  • Install latest GitHub Action Workflows

why

  • Use shared workflows from cldouposse/.github repository
  • Simplify management of workflows from centralized hub of configuration
Add GitHub Settings @osterman (#58) ## what - Install a repository config (`.github/settings.yaml`)

why

  • Programmatically manage GitHub repo settings
Update Scaffolding @osterman (#56) ## what - Reran `make readme` to rebuild `README.md` from `README.yaml` - Migrate to square badges - Add scaffolding for repo settings and Mergify

why

  • Upstream template changed in the .github repo
  • Work better with repository rulesets
  • Modernize look & feel
Update README.md and docs @cloudpossebot (#54) ## what This is an auto-generated PR that updates the README.md and docs

why

To have most recent changes of README.md and doc from origin templates

Update README.md and docs @cloudpossebot (#30) ## what This is an auto-generated PR that updates the README.md and docs

why

To have most recent changes of README.md and doc from origin templates