TerraShelf
TerraShelf is an offline library of reusable AWS Terraform modules. The modules are reference implementations with input validation, outputs, changelogs, and offline tests. Nothing in this tree is deployed to an AWS account. Nothing in this tree is published to the Terraform Registry. OWNER in the source addresses below is a placeholder.
SkyForge could later call these modules instead of keeping its own copies of shared building blocks. This repository does not change SkyForge.
Source address
module "site" {
source = "git::https://github.com/OWNER/terrashelf.git//modules/s3-static-site?ref=s3-static-site/v1.1.0"
name_prefix = "demo-site"
}
Tags use <module>/vX.Y.Z. See CONTRIBUTING.md for the version rules and catalog.yaml for the eight modules.
Checks
scripts/check_all.sh (and scripts/check_all.ps1 on Windows) clears AWS credential variables, sets AWS_EC2_METADATA_DISABLED=true, and runs formatting, validation, tflint, terraform test, documentation, checkov, and pytest. Plans in results/plans/ come from a mocked provider. ARNs and ids in those files are simulated.
Billable service names are listed in catalog.yaml. This README does not quote prices.
Modules
| Module | Category |
|---|---|
| s3-static-site | Web |
| github-oidc-role | CI/CD |
| rds-postgres | Data |
| sqs-queue | Messaging |
| lambda-function | Compute |
| cloudwatch-alarms | Observability |
| budget-guard | Cost |
| account-baseline | Security |