Cloud-native and open-source
Automatically build code into OCI-compliant images
Automatically deploy application with dynamic scaling capabilities
Provide events framework to make functions event-driven
Provide function version control and ingress traffic management capabilities
Custom Resource Definitions
The core functionality of OpenFunction enables you to develop, run, and manage business applications with functions acting as execution units. Thus, OpenFunction implements the following custom resource definitions.
Function is a resource that you can define and manage according to your needs. It describes your applications, including what raw materials (source code) are used to make an artifact (application image) and the way it works (workload, runtime).
In OpenFunction, the Function resource controls the coordination between Builder and Serving in an orderly manner based on your configurations to implement the lifecycle management of your functions.
See Function for more information.
Builder defines the build process in OpenFunction for generating application images from source code.
Currently, OpenFunction Builder uses Shipwright and Cloud Native Buildpacks to build application images. It uses Shipwright to control the process of building application images, including acquiring code, generating image artifacts, and publishing images through Cloud Native Buildpacks.
See Builder for more information.
Serving aims to run applications in a highly elastic way (dynamic scaling: 0 <-> N).
Currently, OpenFunction Serving supports two kinds of workload runtimes: Knative and OpenFuncAsync. You need to configure a runtime to ensure that Serving works properly.
See Serving for more information.
After you install OpenFunction,
refer to OpenFunction samples to run a sample function.