Find file History
Pull request Compare This branch is 4 commits ahead, 13 commits behind develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Cookiecutter SAM for golang Lambda functions

This is a Cookiecutter template to create a Serverless App based on Serverless Application Model (SAM).

It is important to note that you should not try to git clone this project but use cookiecutter CLI instead as \\{\\{cookiecutter.project_slug\\}\\} will be rendered based on your input and therefore all variables and files will be rendered properly.


Install cookiecutter command line:

Pip users:

  • pip install cookiecutter

Homebrew users:

  • brew install cookiecutter

Windows or Pipenv users:

  • pipenv install cookiecutter

NOTE: Pipenv is the new and recommended Python packaging tool that works across multiple platforms and makes Windows a first-class citizen.


Generate a new SAM based Serverless App: cookiecutter gh:aws-samples/cookiecutter-aws-sam-golang.

You'll be prompted a few questions to help this cookiecutter template to scaffold this project and after its completed you should see a new folder at your current path with the name of the project you gave as input.

NOTE: After you understand how cookiecutter works (cookiecutter.json, mainly), you can fork this repo and apply your own mechanisms to accelerate your development process and this can be followed for any programming language and OS.


Option Description
include_apigw Includes sample code for API Gateway Proxy integration for Lambda and a Catch All method in SAM as a starting point
include_xray Includes both sample code for getting started with AWS X-Ray and adds necessary permission and Tracing to your function
include_safe_deployment Sends by default 10% of traffic for every 1 minute to a newly deployed function using CodeDeploy + SAM integration - Linear10PercentEvery1Minute
include_experimental_make Includes a Makefile for advanced users to automate packaging, build, tests and SAM Local - Only works on OSX/Linux at the moment



This project is licensed under the terms of the MIT License with no attribution