Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Status Go Report Card

go-serverless-api

  • Boilerplate Golang API
  • AWS Severless Application Model (SAM) Deployment to AWS Lambda & API Gateway

Deploy to AWS

1. Build and package into a zip

$ make bundle-lambda

2. Upload zip to AWS S3 & create updated SAM template (packaged-template.yaml)

$ aws s3 mb s3://my-bucket

$ aws cloudformation package \
    --template-file template.yaml \
    --s3-bucket my-bucket \
    --output-template-file packaged-template.yaml

2. Deploy to AWS Lambda & API Gateway with updated SAM template

$ aws cloudformation deploy \
    --template-file packaged-template.yaml \
    --stack-name go-serverless-api-stack \
    --capabilities CAPABILITY_IAM

3. Test

AWS API Gateway addresses take the following format.

https://<api-rest-id>.execute-api.<your-aws-region>.amazonaws.com/<api-stage>
$ aws apigateway get-rest-apis
{
    "items": [
        {
            "id": "0qu18x8pyd",
            "name": "go-serverless-api-stack",
            "createdDate": 1523987269,
            "version": "1.0",
            "apiKeySource": "HEADER",
            "endpointConfiguration": {
                "types": [
                    "EDGE"
                ]
            }
        }
    ]
}
$ curl -s https://0qu18x8pyd.execute-api.eu-west-1.amazonaws.com/Stage/healthz
ok
$ curl -s https://0qu18x8pyd.execute-api.eu-west-1.amazonaws.com/Prod/healthz
ok

4. Delete Stack

$ aws cloudformation delete-stack \
	--stack-name go-serverless-api-stack

Local Development

Build & Run API

$ make run

Manually call APi

$ make test-run

Tests

$ go test ./...

About

Boilerplate Golang API with AWS Severless Application Model (SAM) Deployment to AWS Lambda & API Gateway

Topics

Resources

License

Releases

No releases published

Packages

No packages published