TerraLambda is a CLI tool designed to simplify the deployment and invocation of AWS Lambda functions using Terraform. It streamlines the function lifecycle by automating packaging, deployment, and execution processes, providing a seamless experience for developers working with AWS Lambda.
TerraLambda leverages Terraform to define and manage AWS Lambda functions, ensuring a declarative and reproducible deployment process.
- The tool compiles the source code, packages it into a ZIP file, and deploys it using Terraform.
- Manages different versions of Lambda functions to support rollback mechanisms.
- Allows invoking deployed Lambda functions via the AWS SDK.
- Supports sending payloads to test functions interactively.
Uses AWS Lambda versioning and aliases to revert to a previous stable version. Integrates Terraform state management to facilitate rollback operations.
- Go (latest stable version)
- Terraform (installed and configured for AWS)
- AWS CLI (configured with proper credentials)
We welcome contributions to TerraLambda! Please follow these guidelines to help us maintain a healthy and productive project:
- Report Issues
- Open a new issue for bug reports or feature requests.
- Provide clear steps to reproduce, expected behavior, and any relevant logs.
- Fork & Branch
- Fork the repository to your GitHub account.
- Create a new branch:
git checkout -b feature/your-feature-name or bugfix/issue-number
.
- Code Style
- Follow Go formatting conventions (gofmt) and Terraform style guidelines.
- Lint your code before submitting (golangci-lint for Go, terraform fmt/terraform validate).
- Pull Request
- Push your branch to GitHub and open a Pull Request against main.
- Include a descriptive title and detailed description of changes.
- Link related issues (e.g., Closes #).