Eventing experimental features
To keep Knative innovative, the maintainers of this project have developed an experimental features process that allows new, experimental features to be delivered and tested by users without affecting the stability of the core project.
Warning
Experimental features are unstable and may cause issues in your Knative setup or even your cluster setup. These features should be used with caution, and should never be tested on a production environment. For more information about quality guarantees for features at different stages of development, see the Feature stage definition documentation.
This document explains how to enable experimental features and which ones are available today.
Before you begin
You must have a Knative cluster running with Knative Eventing installed.
Experimental features configuration
When you install Knative Eventing, the config-features
ConfigMap is added to your cluster in the knative-eventing
namespace.
To enable a feature, you must add it to the config-features
ConfigMap under the data
spec, and set the value for the feature to enabled
. For example, to enable a feature called new-cool-feature
, you would add the following ConfigMap entry:
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
labels:
eventing.knative.dev/release: devel
knative.dev/config-propagation: original
knative.dev/config-category: eventing
data:
new-cool-feature: enabled
To disable it, you can either remove the flag or set it to disabled
:
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
labels:
eventing.knative.dev/release: devel
knative.dev/config-propagation: original
knative.dev/config-category: eventing
data:
new-cool-feature: disabled
Available experimental features
The following table gives an overview of the available experimental features in Knative Eventing:
Feature | Flag | Description | Maturity |
---|---|---|---|
DeliverySpec.RetryAfterMax field | delivery-retryafter | Specify a maximum retry duration that overrides HTTP Retry-After headers when calculating backoff times for retrying 429 and 503 responses. | Alpha, disabled by default |
DeliverySpec.Timeout field | delivery-timeout | When using the delivery spec to configure event delivery parameters, you can use thetimeout field to specify the timeout for each sent HTTP request. | Alpha, disabled by default |
KReference.Group field | kreference-group | Specify the API group of KReference resources without the API version. | Alpha, disabled by default |
Knative reference mapping | kreference-mapping | Provide mappings from a Knative reference to a templated URI. | Alpha, disabled by default |
New trigger filters | new-trigger-filters | Enables a new Trigger filters field that supports a set of powerful filter expressions. | Alpha, disabled by default |
Strict Subscriber | strict-subscriber | Invalidates Subscriptions if the field spec.subscriber is not defined. | Alpha, disabled by default |