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

CLI reference

Auth

Login to STACKIT Functions

Usage: sfn auth login [OPTIONS]

Options:
  -v, --verbose
          Enable verbose output
      --project-id <PROJECT_ID>
          the STACKIT project identifier
      --service-account-key-path <SERVICE_ACCOUNT_KEY_PATH>
          
      --private-key-path <PRIVATE_KEY_PATH>
          RSA private key path. Takes precedence over the key in the service account key, if present
      --service-account-key <SERVICE_ACCOUNT_KEY>
          
  -h, --help
          Print help
  -V, --version
          Print version

Logout from STACKIT Functions

Usage: sfn auth logout

Options:
  -h, --help     Print help
  -V, --version  Print version

Config

View configuration

Usage: sfn config view

Options:
  -h, --help     Print help
  -V, --version  Print version

Update configuration

Usage: sfn config update <KEY> <VALUE>

Arguments:
  <KEY>    [possible values: project-id, registry]
  <VALUE>  

Options:
  -h, --help     Print help
  -V, --version  Print version

Config Registry

Add a registry

Usage: sfn config registry add [OPTIONS] <ADDRESS> <USERNAME> <PASSWORD>

Arguments:
  <ADDRESS>   
  <USERNAME>  
  <PASSWORD>  

Options:
      --project-id <PROJECT_ID>  the STACKIT project identifier
  -h, --help                     Print help
  -V, --version                  Print version

Get a single registry

Usage: sfn config registry get [OPTIONS] <ID>

Arguments:
  <ID>  

Options:
      --project-id <PROJECT_ID>  the STACKIT project identifier
  -h, --help                     Print help
  -V, --version                  Print version

List registries

Usage: sfn config registry list [OPTIONS]

Options:
      --project-id <PROJECT_ID>  the STACKIT project identifier
      --json                     Set output to JSON format
  -h, --help                     Print help
  -V, --version                  Print version

Update a registry

Usage: sfn config registry update [OPTIONS] --address <ADDRESS> --username <USERNAME> --password <PASSWORD> <ID>

Arguments:
  <ID>  

Options:
      --address <ADDRESS>        
      --username <USERNAME>      
      --password <PASSWORD>      
      --project-id <PROJECT_ID>  the STACKIT project identifier
  -h, --help                     Print help
  -V, --version                  Print version

Delete a registry

Usage: sfn config registry delete [OPTIONS] <ID>

Arguments:
  <ID>  

Options:
      --project-id <PROJECT_ID>  the STACKIT project identifier
  -h, --help                     Print help
  -V, --version                  Print version

Environment

Get current environment

Usage: sfn environment [OPTIONS]

Options:
      --json     Set output to JSON format
  -h, --help     Print help
  -V, --version  Print version

Functions

Build a function

Usage: sfn functions build [OPTIONS]

Options:
      --build-timestamp <BUILD_TIMESTAMP>
          Use the current timestamp as creation time of the OCI image [env: FUNC_BUILD_TIMESTAMP=] [possible values: true, false]
      --builder-image <BUILDER_IMAGE>
          Specify a custom builder image for use by the builder other than its default. ($FUNC_BUILDER_IMAGE) [env: FUNC_BUILDER_IMAGE=]
  -n, --no-confirm
          Prompt to confirm options interactively ($FUNC_CONFIRM) [env: FUNC_NO_CONFIRM=]
  -i, --image <IMAGE>
          Full image name in the form [registry]/[namespace]/[name]:[tag] (optional). This option takes precedence over --registry ($FUNC_IMAGE) [env: FUNC_IMAGE=]
  -p, --path <PATH>
          Path to the function.  Default is current directory ($FUNC_PATH) [env: FUNC_PATH=]
      --platform <PLATFORM>
          Optionally specify a target platform, for example "linux/amd64" when using the s2i build strategy [env: FUNC_PLATFORM=]
      --push
          Attempt to push the function image to the configured registry after being successfully built [env: FUNC_PUSH=]
      --username <USERNAME>
          Username used to authenticate with remote registry (FUNC_USERNAME) [env: FUNC_USERNAME=]
      --password <PASSWORD>
          Password used to authenticate with remote registry (FUNC_PASSWORD) [env: FUNC_PASSWORD=]
      --token <TOKEN>
          Token used to authenticate with remote registry (FUNC_TOKEN) [env: FUNC_TOKEN=]
  -r, --registry <REGISTRY>
          Registry + namespace (e.g. 'ghcr.io/user').  Function name is derived by name and registry ($FUNC_REGISTRY) [env: FUNC_REGISTRY=]
  -v, --verbose
          Print verbose logs ($FUNC_VERBOSE) [env: FUNC_VERBOSE=]
  -h, --help
          Print help
  -V, --version
          Print version

Create a function

Usage: sfn functions create [OPTIONS] [NAME]

Arguments:
  [NAME]  Name of the function (which will also be the directory name)

Options:
      --no-confirm                 Disable interactive confirmation ($FUNC_NO_CONFIRM) [env: FUNC_NO_CONFIRM=]
  -p, --path <PATH>                Path to the function project directory ($FUNC_PATH) [env: FUNC_PATH=]
  -r, --runtime <RUNTIME>          Function language runtime [env: FUNC_RUNTIME=]
  -t, --trigger <TRIGGER>          The function trigger ("http" or "cloudevent") [env: FUNC_TRIGGER=]
      --source <SOURCE>            Template repository installed name (e.g., 'sfn-templates') [env: FUNC_SOURCE=]
      --source-name <SOURCE_NAME>  The name of the template within the repository (e.g., 'go-template') [env: FUNC_TEMPLATE_NAME=]
      --project-id <PROJECT_ID>    the STACKIT project identifier
      --registry-id <REGISTRY_ID>  [env: FUNC_REGISTRY=]
  -v, --verbose                    Print verbose logs ($FUNC_VERBOSE) [env: FUNC_VERBOSE=]
  -h, --help                       Print help
  -V, --version                    Print version

Delete a function

Usage: sfn functions delete [OPTIONS]

Options:
      --project-id <PROJECT_ID>    the STACKIT project identifier
      --function-id <FUNCTION_ID>  the STACKIT Functions function identifier
      --registry-id <REGISTRY_ID>  the STACKIT Functions registry identifier
      --path <PATH>                
  -h, --help                       Print help
  -V, --version                    Print version

Deploy a function

Usage: sfn functions deploy [OPTIONS]

Options:
      --build <BUILD>
          Build the function. [auto|true|false]. ($FUNC_BUILD) (default "auto") [env: FUNC_BUILD=] [default: auto]
      --build-timestamp <BUILD_TIMESTAMP>
          Use the current timestamp as creation time of the OCI image [possible values: true, false]
      --builder-image <BUILDER_IMAGE>
          Specify a custom builder image for use by the builder other than its default. ($FUNC_BUILDER_IMAGE) [env: FUNC_BUILDER_IMAGE=]
      --env <ENV>
          
      --env-file <ENV_FILE>
          [env: ENV_FILE=]
  -n, --no-confirm
          Prompt to confirm options interactively ($FUNC_CONFIRM) [env: FUNC_NO_CONFIRM=]
  -i, --image <IMAGE>
          Full image name in the form [registry]/[namespace]/[name]:[tag]@[digest]. This option takes precedence over --registry. Specifying digest is optional, but if it is given, 'build' and 'push' phases are disabled. ($FUNC_IMAGE) [env: FUNC_IMAGE=]
  -p, --path <PATH>
          Path to the function.  Default is current directory ($FUNC_PATH) [env: FUNC_PATH=]
      --project-id <PROJECT_ID>
          the STACKIT project identifier
      --function-id <FUNCTION_ID>
          the STACKIT Functions function identifier
      --registry-id <REGISTRY_ID>
          the STACKIT Functions registry identifier
  -u, --push <PUSH>
          Push the function image to registry before deploying. ($FUNC_PUSH) (default true) [env: FUNC_PUSH=] [default: true] [possible values: true, false]
  -r, --registry <REGISTRY>
          Container registry + registry namespace. (ex 'ghcr.io/myuser').  The full image name is automatically determined using this along with function name. ($FUNC_REGISTRY) [env: FUNC_REGISTRY=]
      --username <USERNAME>
          Username used for registry login [env: FUNC_USERNAME=]
      --password <PASSWORD>
          password is used to authenticate with the remote registry [env: FUNC_PASSWORD=]
      --token <TOKEN>
          Token used for registry login [env: FUNC_TOKEN=]
  -v, --verbose
          Print verbose logs ($FUNC_VERBOSE) [env: FUNC_VERBOSE=]
  -h, --help
          Print help
  -V, --version
          Print version

List functions in project

Usage: sfn functions list [OPTIONS]

Options:
      --project-id <PROJECT_ID>    the STACKIT project identifier
      --function-id <FUNCTION_ID>  the STACKIT Functions function identifier
      --registry-id <REGISTRY_ID>  the STACKIT Functions registry identifier
      --name <NAME>                
      --json                       Set output to JSON format
  -h, --help                       Print help
  -V, --version                    Print version

List function logs

Usage: sfn functions logs [OPTIONS]

Options:
      --project-id <PROJECT_ID>    the STACKIT project identifier
      --function-id <FUNCTION_ID>  the STACKIT Functions function identifier
      --registry-id <REGISTRY_ID>  the STACKIT Functions registry identifier
      --max-lines <MAX_LINES>      
      --since <SINCE>              
      --path <PATH>                
  -h, --help                       Print help
  -V, --version                    Print version

Push a function

Usage: sfn functions push [OPTIONS]

Options:
      --build <BUILD>
          Build the function. [auto|true|false]. ($FUNC_BUILD) (default "auto") [env: FUNC_BUILD=] [default: auto]
      --build-timestamp <BUILD_TIMESTAMP>
          Use the current timestamp as creation time of the OCI image [possible values: true, false]
      --builder-image <BUILDER_IMAGE>
          Specify a custom builder image for use by the builder other than its default. ($FUNC_BUILDER_IMAGE) [env: FUNC_BUILDER_IMAGE=]
  -n, --no-confirm
          Disable interactive selection ($FUNC_NO_CONFIRM) [env: FUNC_NO_CONFIRM=]
  -e, --env <ENV>
          Environment variable to set in the form NAME=VALUE. You may provide this flag multiple times for setting multiple environment variables. To unset, specify the environment variable name followed by a "-" (e.g., NAME-)
  -i, --image <IMAGE>
          Full image name in the form [registry]/[namespace]/[name]:[tag]@[digest]. This option takes precedence over --registry. Specifying digest is optional, but if it is given, 'build' and 'push' phases are disabled. ($FUNC_IMAGE) [env: FUNC_IMAGE=]
  -p, --path <PATH>
          Path to the function.  Default is current directory ($FUNC_PATH) [env: FUNC_PATH=]
      --platform <PLATFORM>
          Optionally specify a specific platform to build for (e.g. linux/amd64). ($FUNC_PLATFORM) [env: FUNC_PLATFORM=]
  -r, --registry <REGISTRY>
          Container registry + registry namespace. (ex 'ghcr.io/myuser').  The full image name is automatically determined using this along with function name. ($FUNC_REGISTRY) [env: FUNC_REGISTRY=]
      --username <USERNAME>
          Username used for registry login [env: FUNC_USERNAME=]
      --password <PASSWORD>
          Username used for registry login [env: FUNC_PASSWORD=]
  -v, --verbose
          Print verbose logs ($FUNC_VERBOSE) [env: FUNC_VERBOSE=]
  -h, --help
          Print help
  -V, --version
          Print version

Run a function locally

Usage: sfn functions run [OPTIONS]

Options:
      --address <ADDRESS>              Interface and port on which to bind and listen. Default is 127.0.0.1:8080. ($FUNC_ADDRESS) [env: FUNC_ADDRESS=] [default: 127.0.0.1:8080]
      --build <BUILD>                  Build the function. [auto|true|false]. ($FUNC_BUILD) (default "auto") [env: FUNC_BUILD=] [default: auto]
      --builder-image <BUILDER_IMAGE>  Specify a custom builder image for use by the builder other than its default. ($FUNC_BUILDER_IMAGE) [env: FUNC_BUILDER_IMAGE=]
  -n, --no-confirm <NO_CONFIRM>        Disable interactive selection ($FUNC_NO_CONFIRM) [env: FUNC_NO_CONFIRM=] [possible values: true, false]
  -e, --env <ENV>                      Environment variable to set in the form NAME=VALUE. You may provide this flag multiple times for setting multiple environment variables [env: FUNC_ENV=]
  -i, --image <IMAGE>                  Full image name in the form [registry]/[namespace]/[name]:[tag]. This option takes precedence over --registry. Specifying tag is optional. ($FUNC_IMAGE) [env: FUNC_IMAGE=]
      --json <JSON>                    Output as JSON. ($FUNC_JSON) [env: FUNC_JSON=] [possible values: true, false]
  -p, --path <PATH>                    Path to the function.  Default is current directory ($FUNC_PATH) [env: FUNC_PATH=]
      --platform <PLATFORM>            Optionally specify a target platform, for example "linux/amd64" [env: FUNC_PLATFORM=]
  -r, --registry <REGISTRY>            Container registry + registry namespace. (ex 'ghcr.io/myuser').  The full image name is automatically determined using this along with function name. ($FUNC_REGISTRY) [env: FUNC_REGISTRY=]
  -v, --verbose                        Print verbose logs ($FUNC_VERBOSE) [env: FUNC_VERBOSE=]
  -h, --help                           Print help
  -V, --version                        Print version

Get function status information

Usage: sfn functions status [OPTIONS]

Options:
      --project-id <PROJECT_ID>    the STACKIT project identifier
      --function-id <FUNCTION_ID>  the STACKIT Functions function identifier
      --registry-id <REGISTRY_ID>  the STACKIT Functions registry identifier
      --path <PATH>                
      --json                       Set output to JSON format
  -h, --help                       Print help
  -V, --version                    Print version

Projects

Get an accessible list of projects

Usage: sfn projects [OPTIONS] [PROJECT_NAME]

Arguments:
  [PROJECT_NAME]  

Options:
      --project-id <PROJECT_ID>  the STACKIT project identifier
      --json                     Set output to JSON format
  -h, --help                     Print help
  -V, --version                  Print version

Templates

List all installed function templates

Usage: sfn templates list [OPTIONS]

Options:
      --source <SOURCE>    Filter templates by repository name
      --trigger <TRIGGER>  Filter trigger by trigger name ("http" or "cloudevent")
      --runtime <RUNTIME>  Filter by runtime language (e.g., "rust", "go", "python")
      --json               Set output to JSON format
      --verbose            Print verbose logs
  -h, --help               Print help
  -V, --version            Print version

Install a template

Usage: sfn templates install [OPTIONS]

Options:
      --source <SOURCE>              The git url of the template repository [default: https://github.com/stackitcloud/sfn-templates.git]
      --install-name <INSTALL_NAME>  The local name for this template (e.g., my-group/my-template). If not provided, the repository name will be used
  -h, --help                         Print help
  -V, --version                      Print version

Update a template

Usage: sfn templates update [OPTIONS] [SOURCE]

Arguments:
  [SOURCE]  The name of the repository to update. If not provided and --all is true, all repositories will be updated

Options:
      --no-confirm  Skip confirmation prompts
      --all         Update all templates
  -h, --help        Print help
  -V, --version     Print version

Remove a template

Usage: sfn templates remove <SOURCE>

Arguments:
  <SOURCE>  The name of the repository to remove

Options:
  -h, --help     Print help
  -V, --version  Print version