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:

  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: config-features
  5. namespace: knative-eventing
  6. labels:
  7. eventing.knative.dev/release: devel
  8. knative.dev/config-propagation: original
  9. knative.dev/config-category: eventing
  10. data:
  11. new-cool-feature: enabled

To disable it, you can either remove the flag or set it to disabled:

  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: config-features
  5. namespace: knative-eventing
  6. labels:
  7. eventing.knative.dev/release: devel
  8. knative.dev/config-propagation: original
  9. knative.dev/config-category: eventing
  10. data:
  11. new-cool-feature: disabled

Available experimental features

The following table gives an overview of the available experimental features in Knative Eventing:

FeatureFlagDescriptionMaturity
DeliverySpec.RetryAfterMax fielddelivery-retryafterSpecify 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 fielddelivery-timeoutWhen 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 fieldkreference-groupSpecify the API group of KReference resources without the API version.Alpha, disabled by default
Knative reference mappingkreference-mappingProvide mappings from a Knative reference to a templated URI.Alpha, disabled by default
New trigger filtersnew-trigger-filtersEnables a new Trigger filters field that supports a set of powerful filter expressions.Alpha, disabled by default
Strict Subscriberstrict-subscriberInvalidates Subscriptions if the field spec.subscriber is not defined.Alpha, disabled by default