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:
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
labels:
eventing.knative.dev/release: devel
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-category: eventing
data:
new-cool-feature: disabled
Available Features
The following table gives an overview of the available 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. | Beta, enabled 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 |
Transport encryption | transport-encryption | Enables components to encrypt traffic using TLS by exposing HTTPS URL. | Beta, disabled by default |
Sender Identity | authentication-oidc | Enables Eventing sources to send authenticated requests and addressables to require authenticated requests. | Alpha, disabled by default |
Authorization | default-authorization-mode | Enables Authorization for Eventing sinks. | Alpha, disabled by default |
Eventing with Istio | istio | Enables Eventing components to communicate with workloads in an Istio mesh. | Beta, disabled by default |
Cross Namespace Event Links | cross-namespace-event-links | Enables subscriptions and triggers to refer to brokers and channels in different namespaces. | Alpha, disabled by default |