Developers
Terraform Modules
Shared AWS modules for ECS, ALB, CloudFront, databases, and CI/CD infrastructure.
Terraform Modules
Reusable Terraform modules for provisioning Sentinel’s AWS infrastructure.
Module Catalog
| Module | Path | Purpose |
|---|---|---|
ecs-service |
modules/ecs/service/ |
Fargate service, task definition, auto-scaling |
alb |
modules/alb/ |
External/internal ALB, listeners, target groups |
cloudfront |
modules/cdn/cloudfront/ |
CDN distribution, OAC, cache policies |
documentdb |
modules/documentdb/ |
MongoDB-compatible cluster |
postgres |
modules/rds/postgres/ |
PostgreSQL instance |
opensearch |
modules/opensearch/ |
Search cluster |
redis |
modules/elasticache/redis/ |
ElastiCache cluster |
s3-static-site |
modules/s3/static-site/ |
S3 + CloudFront for static hosting |
route53 |
modules/dns/ |
Hosted zone, records, health checks |
vpc |
modules/vpc/ |
VPC, subnets, NAT, IGW |
State Management
- Backend: S3 (
terraform-iac-data) - Locking: DynamoDB (
terraform-locks) - Encryption: AES-256 (SSE-S3)
Usage Pattern
module "nexus_backend" {
source = "../../modules/ecs/service"
name = "nexus-backend"
cluster = aws_ecs_cluster.main.id
image = "${aws_ecr_repository.nexus.repository_url}:${var.image_tag}"
cpu = 2048
memory = 4096
desired_count = 2
environment = {
MONGODB_URI = var.mongodb_uri
REDIS_URL = var.redis_url
}
}
CI/CD for IaC
Terraform plans run in Jenkins on every PR:
terraform fmt -checkterraform validateterraform plan(dev account)- Manual approval for prod apply