Pardon our mess! We are busy building up docs for our beta users.

Contact us if you need any help getting started, or have any questions at [email protected]

Getting Started

This document will guide you through creating your first service on Functional Fleet.

Requirements

Amazon Web Services

Functional Fleet deploys serverless applications to your AWS account so that you maintain complete control and can customize your application. There is no vendor lock in! If you do not like our service, you can keep the deployed resources in your account, or delete them.

In order to deploy a service, you must have an AWS account, and have an IAM user with the necessary permissions. Follow our AWS Credentials guide to create an AWS account and new IAM user.

Functional Fleet

You must also have an active Functional Fleet account. These accounts are free forever, though we do offer premium features for our business customers. Visit the Functional Fleet App to register for your free account. Be sure to check your email after you register, and follow the instructions to verify your account. You will not be able to login until you have verified your registration email.

Tutorial

Create a service

Click the "New Service" button in the upper right of the Functional Fleet app and fill in the form.

The service name you choose will be used for your free domain name and git repo, and must be unique amongst all users.

The region is required by AWS. Your service will still be accessible globally and your HTTP endpoints will be edge-optimized, but all AWS resources must exist within a region.

Credentials are required for Functional Fleet to deploy your service. Follow the AWS Credentials guide for tips on generating credentials, or even creating a new AWS account.

Once you have created your service, make note of the git clone URL.

Hello World

Clone the hello-world serverless service:

git clone -o github https://github.com/ffleet/hello-world.git
Update the runtime Role

The hello world project includes a default configuration and example role, but it must be updated for your AWS credentials.

Update the role value in the .ffleet/config.yml file with the ARN of your Lambda IAM Role:

role: arn:aws:iam::<number>:role/<name>

Once you have updated that value, run:

git commit -am "updated role"
Set your repository remote

The git repository URL to use below can be found on your service "Getting Started" page.

git remote add origin <service git url>

The service git url can be found on your service Getting Started page. It will look something like https://git.ffleet.io/hello-world.git, where hello-world will be the name of the service you created.

Deploy
git push -uf origin master

... and wait!

The first deploy will take a while -- up to ten minutes -- but the following deploys will be shorter.

The first deploy is long because HTTP servers deploy in all of the AWS regions around the world, and can take a while to initialize. Once your HTTP server has been deployed once, subsequent updates will be much shorter.

You can monitor the deployment status on the Functional Fleet App dashboard.

Once your deployment has completed, your new Hello World service will have an HTTP endpoint available at https://<service name>.ffleet.app.