Terraform Modules

Terraform Module Catalog

47 production-ready Terraform modules for AWS infrastructure. All modules are tested against real AWS and designed for ISO 27001 compliance.


Usage

All modules can be sourced from three locations:

# InfraHouse Private Registry  (recommended)
module "example" {
  source  = "registry.infrahouse.com/infrahouse/<module>/aws"
  version = "~> X.Y"
}

# HashiCorp Terraform Registry
module "example" {
  source  = "infrahouse/<module>/aws"
  version = "~> X.Y"
}

# GitHub (for pinning to specific commits)
module "example" {
  source = "github.com/infrahouse/terraform-aws-<module>?ref=vX.Y.Z"
}

Compute & Containers

ModuleDescriptionLinks
ecsRun services in ECSGitHubRegistry
sqs-ecsSQS queue with ECS service as consumerGitHubRegistry
sqs-podSQS queue with autoscaling group as consumerGitHubRegistry
website-podAutoscaling group with ALB and SSL for websitesGitHubRegistry
tcp-podAutoscaling group with NLB for TCP servicesGitHubRegistry
cloud-initCloud-init userdata for InfraHouse EC2 instancesGitHubRegistry
lambda-monitoredLambda with CloudWatch monitoring, log retention, and least-privilege IAMGitHubRegistry
emrserverlessEMR Serverless deploymentGitHubRegistry
ecrContainer registry (AWS ECR)GitHubRegistry
tags-overrideOverride tags list for ECSGitHubRegistry

CI/CD & GitHub Integration

ModuleDescriptionLinks
actions-runnerSelf-hosted GitHub Actions runners with warm poolGitHubRegistry
gha-adminTwo roles to manage AWS with GitHub ActionsGitHubRegistry
gh-identity-providerGitHub OpenID connector configurationGitHubRegistry
github-roleRole for GitHub Action workersGitHubRegistry
github-backupProvision infrahouse-github-backup GitHub AppGitHubRegistry
github-backup-configurationConfigure infrahouse-github-backup GitHub App clientGitHubRegistry
ci-cdRoles, state bucket, and DynamoDB table for Terraform CI/CDGitHubRegistry

Networking & Access

ModuleDescriptionLinks
service-networkVPC with public/private subnets, NAT, IGWGitHubRegistry
openvpnOpenVPN server with Google OAuthGitHubRegistry
jumphostSecure bastion host for SSH accessGitHubRegistry
update-dnsLambda for ASG instance DNS A recordsGitHubRegistry
http-redirectHTTP redirect serverGitHubRegistry
teleportSingle node Teleport clusterGitHubRegistry
teleport-agentResources for account joining Teleport clusterGitHubRegistry

Security & IAM

ModuleDescriptionLinks
secretSecrets Manager with owner/writer/reader rolesGitHubRegistry
secret-policyAWS secret permissions policyGitHubRegistry
instance-profileIAM instance profile for EC2GitHubRegistry
truststoreALB trust store with generated CA for mTLSGitHubRegistry
keyEncryption key in KMSGitHubRegistry
guardduty-configurationGuardDuty configuration with email notificationsGitHubRegistry
iso27001ISO 27001 compliance configuration for AWSGitHubRegistry
cloudcraft-roleRole for CloudCraft scannerGitHubRegistry

Terraform State & Infrastructure Management

ModuleDescriptionLinks
state-bucketS3 bucket for Terraform stateGitHubRegistry
state-managerIAM role for Terraform state managementGitHubRegistry
terraformerEC2 instance for managing Terraform root modulesGitHubRegistry
registryPrivate Terraform registryGitHubRegistry

Data & Storage

ModuleDescriptionLinks
elasticsearchSelf-managed Elasticsearch clusterGitHubRegistry
kibanaKibana for Elasticsearch visualizationGitHubRegistry
aerospikeAerospike clusterGitHubRegistry
s3-bucketISO 27001 compliant S3 bucketGitHubRegistry
dmsAWS Data Migration ServiceGitHubRegistry

Monitoring & Cost

ModuleDescriptionLinks
pmm-ecsPercona Monitoring and Management (PMM) server on EC2 with DockerGitHubRegistry
cost-alertAlert for AWS cost per periodGitHubRegistry

Applications & Services

ModuleDescriptionLinks
bookstackBookStack wiki deploymentGitHubRegistry
postfixPostfix MX server for emailGitHubRegistry
pypiserverPrivate PyPI serverGitHubRegistry
debian-repoDebian repository on S3 + CloudFrontGitHubRegistry

Browse all repositories on GitHubContact us for custom modules


Need help implementing these modules?

Schedule a Free Assessment