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:
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
.