README.md

April 13, 2019 ยท View on GitHub

Mascot

faas-fargate

Run OpenFaaS on AWS serverless with Fargate.

Release Software License Travis Powered By: GoReleaser


Installation

Terraform deployment

Easy to get started: A terraform module has been developed to build out a standard deployment of faas-fargate on fargate. See: https://github.com/ewilde/terraform-aws-openfaas-fargate. This module deploys the whole stack on Fargate including openfaas gateway, nats and sets up default security setting etc...

Manually

  1. Use the published docker image
  2. Download from the releases tab

Configuration

All configuration is managed using environment variables

OptionUsageDefaultRequired
subnet_idsComma separated list of subnet ids used to place functionsubnets from default vpcno
security_group_idId of the security group to assign functions. If using terraform-aws-openfaas-fargate this is the output variable service_security_groupno
cluster_nameName of the AWS ECS cluster.openfaasno
assign_public_ipWhether or not to associate a public ip address with your function.DISABLEDno
enable_function_readiness_probeBoolean - enable a readiness probe to test functions.trueno
write_timeoutHTTP timeout for writing a response body from your function (in seconds).8no
read_timeoutHTTP timeout for reading the payload from the client caller (in seconds).8no
image_pull_policyImage pull policy for deployed functions (Always, IfNotPresent, Never)Alwaysno
LOG_LEVELLogging level either: trace, debug, info, warn, error, fatal, panic.infono
AWS_DEFAULT_REGIONAWS region faas-fargate is running in.us-east-1no

Overview

diagram of the openfaas on fargate architecture

Contributions

We welcome contributions! Please refer to our contributing guidelines for further information.

Releasing

Releases are made using goreleaser and use semver

Example release

Step 1 tag the release

git tag v0.5.7 -m "feat: Adds verify_ssl support to environment resource"
git push origin v0.5.7

Step 2 wait for travis build to complete

Travis will:

  1. build the release
  2. run tests
  3. push to docker
  4. create a github release on the releases tab