Terraform module for AWS Lambda resource management
Top 38.0% on sourcepulse
This Terraform module simplifies the creation and management of AWS Lambda functions and layers, offering extensive customization for build processes, deployments, and resource configurations. It's designed for Terraform users who need robust control over their serverless infrastructure, from dependency management to advanced deployment strategies like canary releases.
How It Works
The module leverages a Python script (package.py
) to intelligently build deployment packages. It supports local builds or Dockerized builds (with SSH agent forwarding for private dependencies) for any Lambda runtime and architecture. The packaging process is optimized for speed and idempotency, generating identical zip archives for identical content to prevent unnecessary resource updates. It can also deploy pre-built packages from local paths, S3, or ECR container images.
Quick Start & Requirements
module "lambda_function" {
source = "terraform-aws-modules/lambda/aws"
# ... other configurations
}
.tf
files. Complex builds or Docker configurations may require additional setup time.Highlighted Details
Maintenance & Community
Managed by Anton Babenko. Commercial support is available through Betajob.
Licensing & Compatibility
Apache 2.0 Licensed. Compatible with commercial use.
Limitations & Caveats
When using source_path
with multiple concurrent module calls for the same source, zip archives can be corrupted; use hash_extra
or external packaging. Terraform CI/CD workers may require a custom Docker image with Python pre-installed.
1 month ago
1 day