Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The function manifest - stackit-functions.yaml

The stackit-functions.yaml is the central and only manifest required by STACKIT Functions. It serves as a declarative blueprint for your serverless function, explicitly defining everything the FaaS platform needs to deploy, execute, and manage your function automatically. This manifest acts as a contract between you and the STACKIT Functions platform, enabling consistent, automated, and scalable operations.

Why a Manifest File?

  • Automation: Facilitates automated deployment, scaling, and management by the STACKIT Functions platform.
  • Portability: Allows function configurations to be defined once and applied consistently across various environments.
  • Version Control: Enables tracking of function configuration changes alongside your code.
  • Clear Definition: Provides a single source of truth for your function’s operational characteristics and dependencies.

Manifest Fields

  • name: The unique identifier for your function. This name is used across the platform for deployment, logging, and management.
  • runtime: Specifies the execution environment for your function, such as nodejs, python, or go. The platform uses this to provision the correct runtime environment for your code.
  • build: Defines the build configuration or commands necessary to transform your source code into a deployable artifact. This might include compiling, installing dependencies, or other pre-deployment steps.
  • buildEnvs: Defines a set of environment variables which are picked up and hence affecting the build process of the function
  • image: The name of the Open Container Initiative (OCI) compliant image that encapsulates your built function and its dependencies. This is the primary deployable unit.
  • imageDigest: A cryptographic hash of the image content, ensuring the immutability and precise versioning of the deployed function artifact.
  • trigger: Configures how your function will be invoked. This can include HTTP endpoints, message queue subscriptions, scheduled events, or other event sources, connecting your function to external events.
  • envs: A list of key-value pairs representing environment variables that will be injected into your function’s runtime environment. These are typically used for configuration, API keys, or feature flags.
  • labels: A set of arbitrary key-value pairs used for organizing, categorizing, and applying policies to your functions. Labels enable advanced filtering, monitoring, and operational management.
  • created: A timestamp, typically in RFC3339 format, indicating when the function’s configuration was initially created or defined.
  • limits: An object consisting of flavor and concurrencyto specify deployment performance
  • localLimits: An object used for specifying local memory resource limits in development

An example stackit-manifest.yaml could look like:

function:
  name: sample_function
  trigger: http
  created: 2026-01-01T12:00:00Z
  buildEnvs: []
  envs: []
  image: ghcr.io/stackitcloud/sample-image:v0.1.0
  runtime: go
  limits:
    flavor: f3
    concurrency: 0