|
2 | 2 |
|
3 | 3 | <!-- markdownlint-disable --> |
4 | 4 | <a href="https://cpco.io/homepage"><img src="https://github.com/cloudposse/terraform-aws-tfstate-backend/blob/main/.github/banner.png?raw=true" alt="Project Banner"/></a><br/> |
5 | | - <p align="right"> |
6 | | -<a href="https://github.com/cloudposse/terraform-aws-tfstate-backend/releases/latest"><img src="https://img.shields.io/github/release/cloudposse/terraform-aws-tfstate-backend.svg?style=for-the-badge" alt="Latest Release"/></a><a href="https://github.com/cloudposse/terraform-aws-tfstate-backend/commits"><img src="https://img.shields.io/github/last-commit/cloudposse/terraform-aws-tfstate-backend.svg?style=for-the-badge" alt="Last Updated"/></a><a href="https://slack.cloudposse.com"><img src="https://slack.cloudposse.com/for-the-badge.svg" alt="Slack Community"/></a></p> |
| 5 | + |
| 6 | + |
| 7 | +<p align="right"><a href="https://github.com/cloudposse/terraform-aws-tfstate-backend/releases/latest"><img src="https://img.shields.io/github/release/cloudposse/terraform-aws-tfstate-backend.svg?style=for-the-badge" alt="Latest Release"/></a><a href="https://github.com/cloudposse/terraform-aws-tfstate-backend/commits"><img src="https://img.shields.io/github/last-commit/cloudposse/terraform-aws-tfstate-backend.svg?style=for-the-badge" alt="Last Updated"/></a><a href="https://cloudposse.com/slack"><img src="https://slack.cloudposse.com/for-the-badge.svg" alt="Slack Community"/></a><a href="https://cloudposse.com/support/"><img src="https://img.shields.io/badge/Get_Support-success.svg?style=for-the-badge" alt="Get Support"/></a> |
| 8 | + |
| 9 | +</p> |
7 | 10 | <!-- markdownlint-restore --> |
8 | 11 |
|
9 | 12 | <!-- |
@@ -62,7 +65,6 @@ __NOTE:__ This module cannot be used to apply changes to the `mfa_delete` featur |
62 | 65 |
|
63 | 66 | ## Usage |
64 | 67 |
|
65 | | - |
66 | 68 | ### Create |
67 | 69 |
|
68 | 70 | Follow this procedure just once to create your deployment. |
@@ -193,18 +195,6 @@ module "terraform_state_backend" { |
193 | 195 |
|
194 | 196 |
|
195 | 197 |
|
196 | | -<!-- markdownlint-disable --> |
197 | | -## Makefile Targets |
198 | | -```text |
199 | | -Available targets: |
200 | | -
|
201 | | - help Help screen |
202 | | - help/all Display help for all targets |
203 | | - help/short This help short screen |
204 | | - lint Lint terraform code |
205 | | -
|
206 | | -``` |
207 | | -<!-- markdownlint-restore --> |
208 | 198 | <!-- markdownlint-disable --> |
209 | 199 | ## Requirements |
210 | 200 |
|
@@ -329,6 +319,11 @@ Available targets: |
329 | 319 | <!-- markdownlint-restore --> |
330 | 320 |
|
331 | 321 |
|
| 322 | + |
| 323 | + |
| 324 | + |
| 325 | + |
| 326 | + |
332 | 327 | ## Related Projects |
333 | 328 |
|
334 | 329 | Check out these related projects. |
@@ -401,6 +396,38 @@ In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. |
401 | 396 |
|
402 | 397 | **NOTE:** Be sure to merge the latest changes from "upstream" before making a pull request! |
403 | 398 |
|
| 399 | + |
| 400 | +## Running Terraform Tests |
| 401 | + |
| 402 | +We use [Atmos](https://atmos.tools) to streamline how Terraform tests are run. It centralizes configuration and wraps common test workflows with easy-to-use commands. |
| 403 | + |
| 404 | +All tests are located in the [`test/`](test) folder. |
| 405 | + |
| 406 | +Under the hood, tests are powered by Terratest together with our internal [Test Helpers](https://github.com/cloudposse/test-helpers) library, providing robust infrastructure validation. |
| 407 | + |
| 408 | +Setup dependencies: |
| 409 | +- Install Atmos ([installation guide](https://atmos.tools/install/)) |
| 410 | +- Install Go [1.24+ or newer](https://go.dev/doc/install) |
| 411 | +- Install Terraform or OpenTofu |
| 412 | + |
| 413 | +To run tests: |
| 414 | + |
| 415 | +- Run all tests: |
| 416 | + ```sh |
| 417 | + atmos test run |
| 418 | + ``` |
| 419 | +- Clean up test artifacts: |
| 420 | + ```sh |
| 421 | + atmos test clean |
| 422 | + ``` |
| 423 | +- Explore additional test options: |
| 424 | + ```sh |
| 425 | + atmos test --help |
| 426 | + ``` |
| 427 | +The configuration for test commands is centrally managed. To review what's being imported, see the [`atmos.yaml`](https://raw.githubusercontent.com/cloudposse/.github/refs/heads/main/.github/atmos/terraform-module.yaml) file. |
| 428 | + |
| 429 | +Learn more about our [automated testing in our documentation](https://docs.cloudposse.com/community/contribute/automated-testing/) or implementing [custom commands](https://atmos.tools/core-concepts/custom-commands/) with atmos. |
| 430 | + |
404 | 431 | ### 🌎 Slack Community |
405 | 432 |
|
406 | 433 | Join our [Open Source Community](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-tfstate-backend&utm_content=slack) on Slack. It's **FREE** for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build totally *sweet* infrastructure. |
|
0 commit comments