Func is a CLI app to simplify development and deployment of serverless functions using Go, Terraform and AWS.
MIT License
Func is a CLI app to simplify development and deployment of AWS Lambda functions using Go and Terraform. It'll scaffold an optionated project structure generating code for
Func is in an early alpha stage so expect bugs and breaking changes but give it a try!
Before installing func
please make sure your system meets the following requirements:
brew install moritzzimmer/tap/func
MacOS
$ curl -OL https://github.com/moritzzimmer/func/releases/download/v0.0.21/func_0.0.21_darwin_amd64.tar.gz
$ tar -xvzf func_0.0.21_darwin_amd64.tar.gz
$ sudo mv func /usr/local/bin/func
GNU/Linux
$ wget https://github.com/moritzzimmer/func/releases/download/v0.0.21/func_0.0.21_linux_amd64.tar.gz
$ tar -xvzf func_0.0.21_linux_amd64.tar.gz
$ sudo mv func /usr/local/bin/
$ func
Func is a CLI app to simplify development and deployment
of serverless functions using Go, Terraform and AWS.
Usage:
func [command]
Available Commands:
help Help about any command
new Creates a new Lambda project
version Print version information of func
Flags:
-h, --help help for func
Use "func [command] --help" for more information about a command.
(outside of $GOPATH
)
$ func new github.com/you/foo
$ cd foo/
$ make init package deploy
$ func help new
Creates Terraform, CI and Go ressources for a new AWS Lambda project
in a new directory.
Usage:
func new [module name] [flags]
Aliases:
new, initialize, initialise, create, init
Examples:
func new github.com/you/app
Flags:
--ci string ci provider config file to generate [none, gh] (default "none")
-d, --dry-run dry run
-e, --event string event type triggering the Lambda function [cloudwatch-event, dynamodb, kinesis, s3, sns, sqs] (default "cloudwatch-event")
-h, --help help for new
func would not be possible if not for all of the great projects it depends on. Please see SHOULDERS.md to see a list of them.