v0.15.0
feat: Add tags to aws_appautoscaling_target @MaxymVlasov (#65)
## what Add missed tagswhy
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)
## whatAdded scaling cooldown variables.
why
Need to control autoscaling cooldown times to handle usage spikes.
references
Support AWS Provider V5 @max-lobur (#52)
## whatSupport 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 templategit.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 fixwhy
- 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 addedwhy
- 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 standardwhy
- 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 policieswhy
- 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 compatibleuse minimum versions for provider pinning @woz5999 (#24)
## what set minimum versions for providers without pinning to a specific major versionwhy
the current method makes it very difficult to maintain or upgrade consistent provider versions within a project
references
[AUTOMATED] Update terraform-null-label versions to support Terraform 0.13 @Gowiem (#23)
## What- Updates terraform-null-label versions 0.14.1, 0.15.0, and 0.16.0 to version 0.17.0
- This is an automated commit and pull request created by Microplane. More information here.
Why
- 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 READMEWhy
- 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 READMEwhy
- 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
terratest
for the example will be added in the consecutive PR after https://github.com/cloudposse/terraform-aws-dynamodb is converted to TF 0.12 since both modules depend on each other
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 countswhy
- 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
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 indexeswhy
- 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 resourceswhy
- Some applications that use DynamoDB don't require autoscaling
- Setting the
enabled
flag tofalse
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 loadwhy
- 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
- Closes #39
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 thetenant
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-codeownerswhy
- #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` filewhy
- 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` fileswhy
- 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 PRwhy
- 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` repowhy
- 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` actionwhy
- 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 Mergifywhy
- 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 docswhy
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 docswhy
To have most recent changes of README.md and doc from origin templates