Skip to content

salignatmoandal/terralambda

Repository files navigation

TerraLambda CLI Documentation

gopher

Overview

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.

Core concepts

  1. Infrastructure as Code (IaC) with Terraform

TerraLambda leverages Terraform to define and manage AWS Lambda functions, ensuring a declarative and reproducible deployment process.

  1. AWS Lambda Invocation

  • 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.
  1. AWS Lambda Invocation

  • Allows invoking deployed Lambda functions via the AWS SDK.
  • Supports sending payloads to test functions interactively.
  1. Rollback Mechanisms (in progress)

Uses AWS Lambda versioning and aliases to revert to a previous stable version. Integrates Terraform state management to facilitate rollback operations.

Installation

Prerequesistes

  • Go (latest stable version)
  • Terraform (installed and configured for AWS)
  • AWS CLI (configured with proper credentials)

Contributing

We welcome contributions to TerraLambda! Please follow these guidelines to help us maintain a healthy and productive project:

  1. Report Issues
  • Open a new issue for bug reports or feature requests.
  • Provide clear steps to reproduce, expected behavior, and any relevant logs.
  1. Fork & Branch
  • Fork the repository to your GitHub account.
  • Create a new branch: git checkout -b feature/your-feature-name or bugfix/issue-number.
  1. Code Style
  • Follow Go formatting conventions (gofmt) and Terraform style guidelines.
  • Lint your code before submitting (golangci-lint for Go, terraform fmt/terraform validate).
  1. 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 #).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published