Skip to content

gkatanacio/go-serverless-template

Repository files navigation

go-serverless-template

Template for Golang serverless applications.

Deploys an AWS Lambda application by utilizing Serverless Framework. Env file (i.e., .env) is used for configuration.

Since this tries to follow the 3 Musketeers pattern, the following are heavily used:

Usage

configure

$ make .env
  • see generated .env file for configuration

Note: For deployment via CI/CD, CICD_MODE environment variable should be set to true in the build server. All env configuration should then be set in the build server's environment variables. They will automatically be used if .env is generated from .env.cicd. See Docker's handling of env variables from host environment for more details.

tidy dependencies

$ make deps

run tests

$ make test

build serverless functions

$ make build
  • this generates bin directory to be used in deployment

deploy serverless application

$ make deploy

Helpers during development:

format all .go files in project (using go fmt)

$ make fmt

generate test mocks (to be used with stretchr/testify) for all interfaces in project

$ make mocks
  • can be configured in .mockery.yaml

About

Golang + Serverless Framework + 3 Musketeers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published