Skip to content
Go Path Router allows you to setup a domain which go packages can be pulled from using AWS Lamdba
Go Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Go Path Router

This configures an AWS Lambda Function which will act as a router for go cli, this means you don’t have to reference all your go packages using the full{org}/{project} path, you’ll be able to use your own domain like the Kubernetes (,, Etcd (, etc.


There are a couple reasons why this might be useful for you.

  1. If you plan on moving your project around but want to be independent of github domains and orgs.

  2. Shorten the package imports for cleanliness.

  3. You like customizing things 😄


To install this you’ll need to first install sam, if you are on macOS you can do this using brew.

brew tap aws/tap
brew install aws-sam-cli


If you will export a view parameters that the make file will use. These define whcih region to deploy into, what the AWS CloudFormation Stack Name should be and what the S3 Bucket the code should be packaged into.

# S3 Bucket where the code is packaged
export S3_BUCKET=chrishein-website-assets
export STACK_NAME=hein-dev-code
# Domain you want to act as your proxy
export AWS_REGION=us-east-1
# For API Gateway you want to provision your cert in us-east-1 even if your deploy in another region.
export ACM_CERT=arn:aws:acm:us-east-1:XXXXXXXXXXXX:certificate/eddb30e8-6502-46bd-b4e0-2f373c1faa8d
# Code Path represents the Github organization to proxy to
# Route 53 hosted zone, make sure to include a period at the end.

Then we can deploy the application, creating a CloudFormation stack which provisions and API Gateway and Lambda function to contain the application.

make build_and_deploy
You can’t perform that action at this time.