2016-08-23 08:25:45 -07:00
2016-08-22 20:12:02 -03:00
2016-07-25 18:16:56 -03:00
2016-07-27 17:51:51 -03:00
2016-07-27 18:36:05 -03:00
2016-08-21 02:57:11 -03:00
2016-07-14 09:18:43 -07:00
2016-08-22 22:33:58 -03:00
2016-08-21 19:40:08 -03:00
2016-08-23 08:25:45 -07:00
2016-08-10 15:04:36 -07:00

IronFunctions

Quick Start

Start the IronFunctions API

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 IronFunctions using the default database Bolt running on :8080.

Create an Application

An application is essentially a grouping of functions, that put together, form an API. Here's how to create an app.

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

Now that we have an app, we can add routes to functions.

Add a route to a Function

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

Full Documentation

http://docs-new.iron.io/docs

Join Our Community

Gitter

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%