Revision.yaml
Besides the function.yaml there also exists a revision.yaml file in the same subfolder .stackit-functions in your workspace.
A revision belongs logically to a function and can not exist on its very own. So it is always bound to a specific function.
In theory you could reuse the revision in a different function workspace as long as the id parameter is not used.
A valid revision.yaml could look like:
apiVersion: functions.stackit.cloud/v1alpha
kind: Revision
metadata:
created: 2026-05-06T11:48:27Z
annotations:
cli.functions.stackit.cloud/runtime: rust
spec:
image: animage
envs:
MYVAR:
file: .env
env: MY_VAR
limits:
plan: f3
concurrency: 0
The runtime parameter in the annotations section describes the programming language used in the function, what is especially important for building the OCI image. The value is passed to down the Cloud Native Buildpacks (CNB) and then picked up by the whole build process. Changing the value in a bootstrapped function is not supported.
In the spec part of the manifest file there is an image attribute which defines the name of the image. It needs to be in format <your OCI registry>/<repository>/<image name>:<tag>. The tag can be latest but must then be combined with a digest. Otherwise the API will reject the image and the function revision will not be deployed.
In the env section environment variables cna be configured in different ways. Check the Configuring Variables and Secrets section to learn more about how to configure variables in all supported ways.
The limits define a deployment performance class supported by STACKIT functions.
A list of so supported so called plans can be received by excuting sfn options plans list.
Each performance class mainly differs from others by the usable amount of memory.
The actual function concurrency heavily depends on the programming language used. Rust is much faster than Java and hence is more scalable.
Revision
The revision object contains metadata and spec attributes.
Revision metadata attributes
id: The revision identifier of this specific revision. Will be automatically inserted into the manifest once the revision has been successfully deployedcreated: The creation time of the revisionlabels: Key-Value (string-string) pairs (up to 64)annotations: An object holding revision information:cli.functions.stackit.cloud/runtime: The programming language used in the revisioncli.functions.stackit.cloud/builder-image: A (custom) builder image used to build the function imagecli.functions.stackit.cloud/local-memory-limit-mb: The memory limit in MB for local development/testingcli.functions.stackit.cloud/build-env/*: The build environment declarations. e.g.cli.functions.stackit.cloud/build-env/my-build: '1'- Name of the build env variable can be chosen freely, value must be a string
It is important to mention that the annotations always refer to local behavior only.
Revision spec
image: The OCI image reference containing the function codeenvs: Function Environment variables. For more information check out Configuring Variables and Secretslimits: Revision limits defining plan and concurrencyplan: The performance class for the functionconcurrency: The function concurrency setting