mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
The changes aim to be as minimal as possible: * Remove no longer available options * Add a schema version to the file for validation * Add trigger list block
70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# Func files
|
|
|
|
Func files are used to assist the fn-project to help you when creating functions.
|
|
|
|
An example of a func file:
|
|
|
|
```yaml
|
|
schema_version: 20180708
|
|
name: fnproject/hello
|
|
version: 0.0.1
|
|
runtime: java
|
|
build_image: x/y
|
|
run_image: x/y
|
|
cmd: com.example.fn.HelloFunction::handleRequest
|
|
memory: 128
|
|
timeout: 30
|
|
config:
|
|
key: value
|
|
key2: value2
|
|
keyN: valueN
|
|
build:
|
|
- make
|
|
- make test
|
|
expects:
|
|
config:
|
|
- name: SECRET_1
|
|
required: true
|
|
- name: SECRET_2
|
|
required: false
|
|
triggers:
|
|
- name: triggerOne
|
|
type: http
|
|
source: /trigger-path
|
|
```
|
|
`schema_version` represents the version of the specification for this file.
|
|
|
|
`name` is the name and tag to which this function will be pushed to and the
|
|
route updated to use it.
|
|
|
|
`version` represents the current version of the function. When deploying, it is appended to the image as a tag.
|
|
|
|
`runtime` represents programming language runtime, for example,
|
|
'go', 'python', 'java', etc. The runtime 'docker' will use the existing Dockerfile if one exists.
|
|
|
|
`build_image` (optional) base Docker image to use for building your function. Default images used are the `dev` tagged images from the [dockers repo](https://github.com/fnproject/dockers).
|
|
|
|
`run_image` (optional) base Docker image to use for running your function, part of a multi-stage build. Function will be built with `build_image` and run with `run_image`. Default images used from the [dockers repo](https://github.com/fnproject/dockers).
|
|
|
|
`cmd` (optional) execution command for jvm based runtimes
|
|
|
|
`entrypoint` (optional) excution entry point for native runtimes
|
|
|
|
`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`.
|
|
|
|
`timeout` (optional) is the maximum time a function will be allowed to run. Default is 30 seconds.
|
|
|
|
`config` (optional) is a set of configuration variables to be passed onto the function as environment variables.
|
|
These configuration options shall override application configuration during functions execution. See [Configuration](configs.md)
|
|
for more information.
|
|
|
|
`expects` (optional) a list of config/env vars that are required to run this function. These vars will be used when running/testing locally,
|
|
if found in your local environment. If these vars are not found, local testing will fail.
|
|
|
|
`build` (optional) is an array of local shell calls which are used to help
|
|
building the function. TODO: Deprecate this?
|
|
|
|
`triggers` (optional) is an array of `trigger` entities that specific triggers for the function. See [Trigger](triggers.md).
|