Skip to content

techjacker/go-serverless-api

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
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

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published