Go Functions
Writing Go functions with fission
Environments provide a runtime which is used to execute the functions.
The following pre-built environments are currently available for use in Fission:
Environment | Image | Builder Image | v1 | v2 | v3 |
---|---|---|---|---|---|
NodeJS | ghcr.io/fission/node-env | ghcr.io/fission/node-builder | O | O | O |
Python 3 | ghcr.io/fission/python-env | ghcr.io/fission/python-builder | O | O | O |
Go | see here for more info | O | O | O | |
JVM (Java) | ghcr.io/fission/jvm-env | ghcr.io/fission/jvm-builder | O | O | O |
Ruby | ghcr.io/fission/ruby-env | ghcr.io/fission/ruby-builder | O | O | O |
Binary (for executables or scripts) | ghcr.io/fission/binary-env | ghcr.io/fission/binary-builder | O | O | O |
PHP 7 | ghcr.io/fission/php-env | ghcr.io/fission/php-builder | O | O | O |
.NET 2.0 | ghcr.io/fission/dotnet20-env | ghcr.io/fission/dotnet20-builder | O | O | O |
.NET | ghcr.io/fission/dotnet-env | - | O | X | X |
Perl | ghcr.io/fission/perl-env | - | O | X | X |
You can get the latest info about the environments at environment portal.
Currently, Fission support three environment interface version: v1, v2 and v3.
If all source code and dependencies can be put into a single and non-compiled file, v1 interface would be enough.
If the function requires third party dependencies during the runtime or the function is written in compiled language, you should choose v2 interface in order to load function from a directory/binary with specific entry point.
If you want to adjust size of environment pre-warmed pool, use v3.
# add version option to fission environment create command
--version=3
For example, to create a go env with version 3 environment interface.
fission environment create --name go --image ghcr.io/fission/go-env-1.23 --builder ghcr.io/fission/go-builder-1.23 --version 3
Writing Go functions with fission
Writing Java functions with fission
Writing Node.js functions with fission
Writing Python functions with fission