Docs update with new fnctl commands (#273)

* Added high level roadmap.

* Changed to funtion.yaml.

* Added logo

* updating quickstart code example, WIP, waiting on another merge.

* Minor updates.

* Changed function.yaml to func.yaml and updated fnctl README.
This commit is contained in:
Travis Reeder
2016-11-14 16:40:05 -08:00
committed by C Cirello
parent 2d3601c588
commit 0d71e1e38e
27 changed files with 284 additions and 182 deletions

View File

@@ -10,6 +10,7 @@ If you are a developer using IronFunctions through the API, this section is for
* [fnctl (CLI Tool)](/fnctl/README.md)
* [Writing functions](writing.md)
* [Writing Lambda functions](docs/lambda/create.md)
* [Function file (func.yaml)](docs/function-file.md)
* [Packaging functions](packaging.md)
* [Open Function Format](function-format.md)
* [API Reference](https://app.swaggerhub.com/api/iron/functions/)

3
docs/assets/index.html Normal file
View File

@@ -0,0 +1,3 @@
<body>
<img src="logo-black-purple-400w.png"/>
</body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -10,9 +10,9 @@ base [function format](function-format.md).
Anywhere. Any cloud, on-premise, on your laptop. As long as you can run a Docker container, you can run IronFunctions.
## Which orchestration platforms does IronFunctions support?
## Which orchestration tools does IronFunctions support?
IronFunctions can run using any orchestration tool, any server
IronFunctions can be deployed using any orchestration tool.
## Does IronFunctions require Docker?

53
docs/function-file.md Normal file
View File

@@ -0,0 +1,53 @@
# Function files
Functions files are used to assist fnctl to help you when creating functions.
The files can be named as:
- func.yaml
- func.json
An example of a function file:
```yaml
name: iron/hello
version: 0.0.1
type: sync
memory: 128
config:
key: value
key2: value2
keyN: valueN
build:
- make
- make test
```
`app` (optional) is the application name to which this function will be pushed
to.
`image` is the name and tag to which this function will be pushed to and the
route updated to use it.
`route` (optional) allows you to overwrite the calculated route from the path
position. You may use it to override the calculated route.
`version` represents current version of the function. When publishing, it is
appended to the image as a tag.
`type` (optional) allows you to set the type of the route. `sync`, for functions
whose response are sent back to the requester; or `async`, for functions that
are started and return a task ID to customer while it executes in background.
Default: `sync`.
`memory` (optional) allows you to set a maximum memory threshold for this
function. If this function exceeds this limit during execution, it is stopped
and error message is logged. Default: `128`.
`config` (optional) is a set of configurations to be passed onto the route
setup. These configuration options shall override application configuration
during functions execution.
`build` (optional) is an array of shell calls which are used to helping building
the image. These calls are executed before `fnctl` calls `docker build` and
`docker push`.

View File

@@ -9,7 +9,7 @@ to use more production ready components.
Here's a rough diagram of what a production deployment looks like:
![IronFunctions Architecture Diagram](/docs/assets/architecture.svg)
![IronFunctions Architecture Diagram](../assets/architecture.png)
## Load Balancer

View File

@@ -7,7 +7,17 @@ Packaging a function has two parts:
Once it's pushed to a registry, you can use it by referencing it when adding a route.
## Creating an image
## Using fnctl
This is the easiest way to build, package and publish your functions.
##
### Creating an image
The basic Dockerfile for most languages is along these lines:
@@ -35,7 +45,7 @@ Or using [fnctl](../fnctl/README.md):
fnctl build
```
## Push your image
### Push your image
This part is simple:

View File

@@ -3,6 +3,8 @@
This will give you the basic overview of writing base level functions. You can also use higher level
abstractions that make it easier such as [lambda](lambda/README.md).
Also, for complete examples in various languages, see the [examples directory](/examples).
## Code
The most basic code layout in any language is as follows, this is pseudo code and is not meant to run.