IronFunctions

Overview

Quick Start

First let's start our IronFunctions API

docker run --rm --privileged -it -e "DB=bolt:///app/data/bolt.db" -v $PWD/data:/app/data -p 8080:8080 iron/functions

This command will quickly start our API using the default database Bolt running on :8080

Usage

Creating a application

curl -H "Content-Type: application/json" -X POST -d '{
    "app": { "name":"myapp" }
}' http://localhost:8080/v1/apps

Create a route for your Function

Now add routes to the app. First we'll add a route to the output of a docker container:

curl -H "Content-Type: application/json" -X POST -d '{
    "route": {
        "path":"/hello",
        "image":"iron/hello"
    }
}' http://localhost:8080/v1/apps/myapp/routes

Calling your Function

Just hit the URL you got back from adding a route above:

curl http://localhost:8080/r/myapp/hello

To pass in data to your function

Your function will get the body of the request as is, and the headers of the request will be passed in as env vars. Try this:

curl -H "Content-Type: application/json" -X POST -d '{
    "name":"Johnny"
}' http://localhost:8080/r/myapp/hello

Using IronFunctions Hosted by Iron.io

Simply point to https://functions.iron.io instead of localhost and add your Iron.io Authentication header (TODO: link), like this:

curl -H "Authorization: Bearer IRON_TOKEN" -H "Content-Type: application/json" -X POST -d '{"app": {"name":"myapp"}}' https://functions.iron.io/v1/apps

And you'll get an ironfunctions.com host for your app:

myapp.USER_ID.ironfunctions.com/hello

Configuring your API

Databases

These are the current databases supported by IronFunctions:

Examples

Logging

TODO

Monitoring

TODO

Scaling

TODO

Description
The container native, cloud agnostic serverless platform.
Readme Apache-2.0 170 MiB
Languages
Go 97.4%
Shell 1.2%
Ruby 0.5%
Makefile 0.4%
Dockerfile 0.4%
Other 0.1%