Eventing 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

Features are stable and unstable features 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 features and which ones are available today.

Before you begin

You must have a Knative cluster running with Knative Eventing installed.

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-category: eventing
  9. data:
  10. 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-category: eventing
  9. data:
  10. new-cool-feature: disabled

Available Features

The following table gives an overview of the available 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.Beta, enabled 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
Transport encryptiontransport-encryptionEnables components to encrypt traffic using TLS by exposing HTTPS URL.Beta, disabled by default
Sender Identityauthentication-oidcEnables Eventing sources to send authenticated requests and addressables to require authenticated requests.Alpha, disabled by default
Authorizationdefault-authorization-modeEnables Authorization for Eventing sinks.Alpha, disabled by default
Eventing with IstioistioEnables Eventing components to communicate with workloads in an Istio mesh.Beta, disabled by default
Cross Namespace Event Linkscross-namespace-event-linksEnables subscriptions and triggers to refer to brokers and channels in different namespaces.Alpha, disabled by default