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.
- Add support for custom metrics for HPA #2423 (sanketsudake)
- Migrate HPA v1 to v2beta2 #2421 (sanketsudake)
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 Status | Label Value |
---|---|
New untracked file | untracked |
New staged file | staged |
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.
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.
- CLI Check #2341 (shubham4443)
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.
- Added service monitors for components whose metrics are exposed #2424 (blackfly19)
- Added metrics for fission mqtrigger and optimizations in trigger subscriptions #2399 (blackfly19)
- Prometheus metrics improvements #2398 (blackfly19)
- Refactoring prometheus metrics and labels #2375 (sanketsudake)
Fixes
- dump HTTP request/response for function test #2348 (shubham4443)
- Rbac resources per release #2302 (sanketsudake)
- Fix validation for secret & configmap reference with function #2349 (blackfly19)
- Added validation to keda types and updated help #2346 (blackfly19)
- Changed spec deletion order according to dependency #2344 (blackfly19)
- Prevent env deletion if any function exists #2343 (blackfly19)
- make graceperiod configurable for container functions #2337 (shubham4443)
- show error while creating mqtrigger if given function is not present #2306 (shubham4443)
- Kafka connector namespace issue #2298 (blackfly19)
- Use Clientset interface instead of type for Fission/kubernetes clients #2416 (sanketsudake)
- Fix namespace used in speciallized pod cleanup #2415 (sanketsudake)
- Add http retries in executor client with go-retryablehttp #2414 (sanketsudake)
- Check active request before decrease in functionCache #2413 (sanketsudake)
- Created separate file for authmiddleware fn #2410 (blackfly19)
- Use common httpserver across fission #2409 (sanketsudake)
- Optimize port forward in fission CLI by waiting on ready channel #2405 (sanketsudake)
- Avoid tapservice call to executor with empty URL #2402 (sanketsudake)
- Go version 1.18 update #2395 (sanketsudake)
- Fixing gcp connector name typo #2393 (blackfly19)
- Upgraded alpine version to 3.15 #2391 (blackfly19)
- Fixed poolmgr pod naming error #2385 (blackfly19)
- Go1.17 #2381 (sanketsudake)
- Upgraded archiver #2378 (blackfly19)
- [helm chart] fission deployments resources #2370 (carlosrmendes)
- Added imagepullsecrets to helm #2364 (blackfly19)
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 useSpec.Methods
instead.
Removed
With the addition of KEDA connectors, we have removed the following connectors type fission.
- Remove deprecated Fission Azure Storage Queue connector #2404 (sanketsudake)
- Remove deprecated Fission Nats connector #2403 (sanketsudake)
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.
- [helm chart] Remove prometheus chart dependency from Fission #2371 (sanketsudake)