v1.16.0

Features

Custom metric support for HPA and autoscaling

Earlier, functions based on newdeploy or container executor scaled on the basis of the metric targetCPU. Starting from this release, you can now provide custom metrics to the functions and the scaling would occur according to those metrics.

To understand this feature better, checkout this blog.

Authentication support for Function Invocation

We have also added a way to authenticate fission function calls. You can do that by setting an authentication token and then passing the token whenever a function call is made. You can go through this documentation to know more about this feature.

Commit Label on resources created/updated

This feature is pretty useful to identify which version of fission specs is currently deployed. When you pass this label, it assigns a label to the resources depending on the status of the spec file in the repository.

The value of the commit label for different status of the file is as follows:

Git File StatusLabel Value
New untracked fileuntracked
New staged filestaged
Tracked file with changes in worktree<commitID>-unstaged
Tracked file with changes staged<commitID>-staged
Tracked file with clean commit<commitID>

The value of <commitID> will be the short commit version of the commit the HEAD will be pointing to.

NOTE: No commit label will be added if the specdir is not part of a github repository.

  • Apply commit label on resources created/updated when --commitlabel is passed #2279 (praddy26)

Fission Spec CLI support

These were the features requested by the community.

  • Added --ignorenotfound flag for all resources’ deletion which returns a zero exit status even if the resource is not found. Default value is false. #2293 (blackfly19)
  • Added --allowconflicts flag which forces spec apply even if conflicting resources exist with different deployment ID. Default value is false. #2338 (blackfly19)

Pre-installation and post installation check in Fission CLI

This version brings another useful feature for troubleshooting purposes. You can now check for version compatibility issues or ensure that the fission components are running as expected. Checkout this page to understand how you can use it.

Environment Variables via CLI for builder and function pods

Earlier, you could only set environment variables for builder and function pods through the specs file. This feature allows the user to set the environment variables using the commandline. You just need to add the flag --builder-env or --runtime-env when creating the environment and specify the variables with their values.

  • Added commandline flags to set env var on the runtime and builder containers #2369 (praddy26)
  • 🎸 add runtime-env flags to the env update cmd #2420 (AetheWu)

Monitoring

It is said that Debugging is twice as hard as writing code. So to make the debugging process a bit easier, we have added some prometheus metrics. There are some general metrics which apply to all fission components and some specific metrics for each of the components. We’ll be adding a documentation listing all the metrics soon.

Fixes

Deprecation

  • With addition of OpenTelemetry, we would be soon removing OpenTracing instrumentation.
  • HTTPTrigger/Route creation from Fission CLI is deprecated. Use fission route create instead. PR #2171
  • We have deprecated Spec.Method in HTTPTrigger since 1.13.0, please use Spec.Methods instead.

Removed

With the addition of KEDA connectors, we have removed the following connectors type fission.

We have also removed the prometheus dependency because it’s not required by default by fission. If you want to use canary functions or checkout fission metrics, we recommend using prometheus-community/prometheus or prometheus-community/kube-prometheus-stack.

References